On Fri, Aug 15, 2008 at 06:14:12AM -0600, Eric Blake wrote: > > > > No, it is correct as is. The compiler, for one invocation will go over > > the sources multiple times, once for each -arch setting. > > Yes, I understand that part. But my point was that autoheader templates > that look like: > > #undef WORDS_BIGENDIAN > > are transformed to: > > #define WORDS_BIGENDIAN 1 > > by config.status when creating config.h, and that we just added > documentation in the manual stating that the use of: > > #define anything > > in the autoheader template gives undefined behavior when processed through > config.status. Seeing as how the non-apple line follows the template > standard of using #undef for the AC_SUBST key, I'm arguing that the > apple-specific line should do so, likewise.
Having a #define in an AH_VERBATIM/AH_TOP/AH_BOTTOM block gives undefined behavior? I'm not sure that there are many AH_VERBATIM/AH_TOP/AH_BOTTOM blocks without a #define, certainly very few that I have written :( Anyway, allowing config.status to substitute for the universal build case will give correct results only when building on a ppc-darwin machine, and will give: # if defined __BIG_ENDIAN__ /* #undef WORDS_BIGENDIAN */ # endif when building on an x86-darwin machine. That is, of course, wrong. Peter -- Peter O'Gorman [EMAIL PROTECTED]
