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.
This commit is contained in:
Benjamin Reed 2008-01-28 13:25:56 -05:00 committed by John (J5) Palmieri
parent 9f48c74cb6
commit ee4a0dce33

View file

@ -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 <sys/time.h>
# include <crt_externs.h>
# define environ (*_NSGetEnviron())
#endif
])
AC_OUTPUT([
Doxyfile
dbus/dbus-arch-deps.h