From ee4a0dce33a556bac188cc382c28e2acb75b1a5d Mon Sep 17 00:00:00 2001 From: Benjamin Reed Date: Mon, 28 Jan 2008 13:25:56 -0500 Subject: 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 file changed, 20 insertions(+), 2 deletions(-) (limited to 'configure.in') diff --git a/configure.in b/configure.in index 53fa59e5..bb28708c 100644 --- a/configure.in +++ b/configure.in @@ -214,7 +214,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 @@ -223,7 +225,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 @@ -1273,6 +1279,18 @@ AC_SUBST(DBUS_SESSION_SOCKET_DIR) 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 -- cgit