From dd5b2a40f3c5549efe58346e37ff4b8bfd3f37fb Mon Sep 17 00:00:00 2001 From: Benjamin Reed Date: Mon, 28 Jan 2008 13:25:56 -0500 Subject: [PATCH] Platform build fixes for Mac OS X - the Darwin linker does not understand the -z option; wrap it in a check for $with_gnu_ld. - environ is only available at runtime, so you need to make a reference to _NSGetEnviron instead for symbols to resolve properly. --- configure.in | 22 ++++++++++++++++++++-- 1 files changed, 20 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in index 00723f2..6db6f7c 100644 --- a/configure.in +++ b/configure.in @@ -216,7 +216,9 @@ if test "x$GCC" = "xyes"; then *[\ \ ]-fPIC[\ \ ]*) ;; *) if cc_supports_flag -fPIC; then PIC_CFLAGS="-fPIC" - PIC_LDFLAGS="-Wl,-z,relro" + if [ "x$with_gnu_ld" = "xyes" ]; then + PIC_LDFLAGS="-Wl,-z,relro" + fi fi ;; esac @@ -225,7 +227,11 @@ if test "x$GCC" = "xyes"; then *[\ \ ]-fPIE[\ \ ]*) ;; *) if cc_supports_flag -fPIE; then PIE_CFLAGS="-fPIE" - PIE_LDFLAGS="-pie -Wl,-z,relro" + if [ "x$with_gnu_ld" = "xyes" ]; then + PIE_LDFLAGS="-pie -Wl,-z,relro" + else + PIE_LDFLAGS="-pie" + fi fi ;; esac @@ -1314,6 +1320,18 @@ AC_SUBST(DBUS_SESSION_BUS_DEFAULT_ADDRESS) AC_DEFINE_UNQUOTED(DBUS_UNIX, "1", [Defined on UNIX and Linux systems and not on Windows]) +# darwin needs this to initialize the environment +AC_CHECK_HEADERS(crt_externs.h) +AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])]) +AH_VERBATIM(_DARWIN_ENVIRON, +[ +#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H) +# include +# include +# define environ (*_NSGetEnviron()) +#endif +]) + AC_OUTPUT([ Doxyfile dbus/dbus-arch-deps.h -- 1.5.3.7