[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: clean OSX build -- compile error.

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2004-09-17 19:28:51 CEST

Okay, so it's definitely a bug in the latest toolchain headers shipped
by Apple. I filed a bug with them. If I insert this bit into a couple
of darwin kernel headers, Subversion compiles fine with the gcc
-std=c89 flag:

/* Temporary workaround for broken OSX system headers, shipped in
    XCode 1.5. They're declaring stuff 'static inline', and this is
    incompatible with the '-std=c89' flag we pass to gcc.
    See Apple bug #3805571. */
#if defined(__APPLE__) && !defined(inline)
#define inline __inline__
#endif

So, sure, I could go and remove my toolchain and install an older one.
But that's not going to prepare us for the floods of bug reports that
come in once OSX developers start upgrading their own toolchains. I'm
just the first person to try to compile Subversion with the latest
stuff, others will follow soon. I think it's best to get a workaround
committed.

So I tried to put this workaround into various svn header files, but
it's no use. The bug is triggered by anything that #includes
<apr_portable.h>. And svn C files *always* include APR headers before
svn headers, for obvious reasons. So that means either:

   * attaching this workaround to a handful of svn C files, or
   * putting the patch in apr_portable.h, in the apr 0.9.x branch

Both of these options kinda stink. If we do the latter, we commit the
change to apr 0.9.x, then wait for apache 2.0.52? And post a patch in
the meantime? This is what we did with the bdb 4.2-detection patch for
apr-util way back when, and it was annoying.

Anyone have any thoughts? Better ideas?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Sep 17 19:30:18 2004

This is an archived mail posted to the Subversion Dev mailing list.