From: "Mladen Turk" <[EMAIL PROTECTED]> To: <[email protected]> Cc: "William A. Rowe, Jr." <[EMAIL PROTECTED]> Sent: Sunday, February 10, 2002 12:30 PM Subject: APR WCE take 3
> My last patch to enable WCE builds need to patch the 36 files to get things > work. That's fine :) > I took a slightly different approach. > > Instead of applying patches to those files (mostly for the reason of missing > API calls), I've created couple of additional files which purpose is to > either recreate the missing API calls, either by reimplementing them or > returning FALSE/NULL and setting the error message . > > There are tree major parts of this patch. > 1. The missing CRT calls (time, strftime, errno, assert, ...) and missing > header files( created as dummy) > 2. The missing API calls (some wrapped like LoadLibraryA, etc...) > 3. Lightweight console GUI (implements gets, puts, getch, printf, ...) > > The major advantage of this approach is that you only need to patch the 3 > files, and there you go. I have a big issue - using the headers masks the implementation of APR from APR implementors - that's badness. We want the code to be concise, but more importantly, to be understood by grocking the module in question (be it the dir.c, strings.c, md5.c, whatever.) Hiding failures and missing implementations in a 'side car' header will make it more difficult for future implementors to extend and complete. So I'm still slogging through those 36 files, individually, to prevent us from introducing errors like the 'Global\' name-prefix patch did to locks.c. (We forgot to consider unnamed locks.) Yes - it takes more time this way - it will be month end before I'm 100% finished applying your entire patch set. But it is clearer, and will greatly benefit any future hacking. Once again, thanks for the porting effort and submissions! This is a really terrific demonstration that APR can accomplish somewhat unexpected things :) Bill
