[sldev] Build errors(in XCode 2.5) with indra.y.h
Argent Stonecutter
secret.argent at gmail.com
Mon Oct 1 13:16:02 PDT 2007
On 01-Oct-2007, at 14:46, Ben Byer wrote:
> On Sep 30, 2007, at 6:35 PM, Argent Stonecutter wrote:
>>> Isn't there an option somewhere in XCode to force YACC to
>>> output .h?
>> Did you try the change I suggested for the SConstruct?
> Unfortunately, that's not going to help -- XCode uses its own build
> system, bypassing SConstruct.
// This stuff can go in some include file with other os-specific code.
// I removed the test for the compiler version, the availability
macros predate any version of OS X that SL is going to run on.
// To use the XCODE_VERSION_ACTUAL the project will need to be
modified to expose that constant as a macro.
#ifdef __APPLE_CC__
# include <AvailabilityMacros.h>
# ifdef MAC_OS_X_VERSION_10_5 /* Not defined for pre-leopard
versions */
# define YACC_GENERATES_HPP 1
# endif
# ifdef XCODE_VERSION_ACTUAL
# if XCODE_VERSION_ACTUAL >= 0250 /* or 0300 */
# define YACC_GENERATES_HPP 1
# endif
# endif
#endif
// something similar for Windows can go here, if we want to revert
the hack in the build tools
// then, replace the line including indra.y.h with this...
# ifdef YACC_GENERATES_HPP
# include "indra.y.hpp"
# else
# include "indra.y.h"
# endif
Incidentally, I think there's a bug in Apple's docs. 0250 is 168
decimal. If Apple's actually using that manifest constant in their
include files they're going to be very unhappy when they get an xcode
version with a minor version greater than 7. :)
More information about the SLDev
mailing list