summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hints/darwin.sh5
-rw-r--r--perl.h11
-rw-r--r--x2p/util.c2
3 files changed, 11 insertions, 7 deletions
diff --git a/hints/darwin.sh b/hints/darwin.sh
index 748a67f1bd..affa83cecd 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 89c683c02f..70a88d8103 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 <mach-o/dyld.h>
# define environ (*environ_pointer)
EXT char *** environ_pointer;
# else
-# if defined(__APPLE__) && defined(PERL_CORE)
+# if defined(DARWIN) && defined(PERL_CORE)
# include <crt_externs.h> /* for the env array */
# define environ (*_NSGetEnviron())
# endif
diff --git a/x2p/util.c b/x2p/util.c
index d5a2e75482..5759c5b98d 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