From: Jarkko Hietaniemi Date: Fri, 13 Jun 2003 14:33:51 +0000 (+0000) Subject: Apparently the __APPLE__ cpp symbol is not Officially Sanctioned X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=f72d1791dc00727a5f66df7ed9fa216194f48af8;p=p5sagit%2Fp5-mst-13.2.git Apparently the __APPLE__ cpp symbol is not Officially Sanctioned way of detecting Darwin/Mac OS X; instead it is recommended to detect the OS at a higher level and pass the information manually down to the application, using e.g. a -Ddefinition. p4raw-id: //depot/perl@19764 --- diff --git a/hints/darwin.sh b/hints/darwin.sh index 748a67f..affa83c 100644 --- a/hints/darwin.sh +++ b/hints/darwin.sh @@ -71,7 +71,10 @@ esac # -pipe: makes compilation go faster. # -fno-common because common symbols are not allowed in MH_DYLIB -ccflags="${ccflags} -pipe -fno-common" +# -DDARWIN: apparently the __APPLE__ is not sanctioned by Apple +# as the way to differentiate Mac OS X. (The official line is that +# *no* cpp symbol does differentiate Mac OS X.) +ccflags="${ccflags} -pipe -fno-common -DDARWIN" # At least on Darwin 1.3.x: # diff --git a/perl.h b/perl.h index 89c683c..70a88d8 100644 --- a/perl.h +++ b/perl.h @@ -73,17 +73,18 @@ /* Use the reentrant APIs like localtime_r and getpwent_r */ /* Win32 has naturally threadsafe libraries, no need to use any _r variants. */ -#if defined(USE_ITHREADS) && !defined(USE_REENTRANT_API) && !defined(NETWARE) && !defined(WIN32) && !defined(__APPLE__) +#if defined(USE_ITHREADS) && !defined(USE_REENTRANT_API) && !defined(NETWARE) && !defined(WIN32) && !defined(DARWIN) # define USE_REENTRANT_API #endif /* <--- here ends the logic shared by perl.h and makedef.pl */ /* - * __APPLE__ for Darwin/MacOSX + * DARWIN for MacOSX (__APPLE__ exists but is not officially sanctioned) + * (The -DDARWIN comes from the hints/darwin.sh.) * __bsdi__ for BSD/OS */ -#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__bsdi__) || defined(BSD41) || defined(BSD42) || defined(BSD43) || defined(BSD44) +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(DARWIN) || defined(__bsdi__) || defined(BSD41) || defined(BSD42) || defined(BSD43) || defined(BSD44) # ifndef BSDish # define BSDish # endif @@ -2919,13 +2920,13 @@ typedef OP* (CPERLscope(*PPADDR_t)[]) (pTHX); /* NeXT has problems with crt0.o globals */ #if defined(__DYNAMIC__) && \ - (defined(NeXT) || defined(__NeXT__) || defined(__APPLE__)) + (defined(NeXT) || defined(__NeXT__) || defined(DARWIN)) # if defined(NeXT) || defined(__NeXT) # include # define environ (*environ_pointer) EXT char *** environ_pointer; # else -# if defined(__APPLE__) && defined(PERL_CORE) +# if defined(DARWIN) && defined(PERL_CORE) # include /* for the env array */ # define environ (*_NSGetEnviron()) # endif diff --git a/x2p/util.c b/x2p/util.c index d5a2e75..5759c5b 100644 --- a/x2p/util.c +++ b/x2p/util.c @@ -206,7 +206,7 @@ fatal(char *pat,...) exit(1); } -#if defined(__APPLE_CC__) +#if defined(DARWIN) __private_extern__ /* warn() conflicts with libc */ #endif void