On 2/27/2012 10:15 AM, Mat Booth wrote: > On 27 February 2012 15:34, Jeff Trawick <traw...@gmail.com> wrote: >> On Mon, Feb 27, 2012 at 9:13 AM, Mat Booth <mat.bo...@wandisco.com> wrote: >>> Hi all, >>> >>> When using the install target of Makefile.win on Windows, I noticed >>> that it does not install all the headers necessary for using the >>> platform specific features of APR. Please see the patch to fix it >>> below. >> >> These aren't APIs so they're not supposed to be installed. (Using >> httpd on Windows with out of tree apr by any chance?) > > Well, I'm building Subversion, which #includes > arch/win32/apr_arch_utf8.h in a couple of places. > > However, had I bothered to read to the source, I would have read this: > > #ifdef WIN32 > /* FIXME: We're using an internal APR header here, which means we > have to build Subversion with APR sources. This being Win32-only, > that should be fine for now, but a better solution must be found in > combination with issue #850. */ > #include <arch/win32/apr_arch_utf8.h> > #endif
Never mind that Tomcat does the same thing. httpd does the same thing. It's the same OS screws as applied against OS/X, a refusal to acknowledge compiler-driven input (e.g. the same apr.h files on OS/X should work for both 32 and 64 bit, ppc and intel). So OS/X is not fixed. Windows install is not fixed. Actual users fork the install step to add the arch spec includes. But the contents of include/arch were rejected as public API's, just as the OS/X patch was rejected. I'm afraid the group is a little too literal about a particular definition of 'portability' over usefulness. So in the real world, Windows and OS/X don't actually appear as the APR project agreed to. It's an interesting dichotomy, one that the APR devs have expressed no desire to reach consensus about.