Fix definition of environ on Mac OS X (bugzilla: #5412).
authorJelmer Vernooij <jelmer@samba.org>
Mon, 27 Oct 2008 22:39:53 +0000 (23:39 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Mon, 27 Oct 2008 22:39:53 +0000 (23:39 +0100)
lib/replace/libreplace.m4
lib/replace/replace.h
source3/configure.in

index 5e13d4a47ec89a561aa0a8ea50a80f0c28d59cc0..6f1543863a673100ef90b1b1e3d85e515ff2f4ab 100644 (file)
@@ -222,6 +222,7 @@ AC_CHECK_TYPE(comparison_fn_t,
 
 AC_HAVE_DECL(setenv, [#include <stdlib.h>])
 AC_CHECK_FUNCS(setenv unsetenv)
+AC_HAVE_DECL(environ, [#include <unistd.h>])
 
 AC_CHECK_FUNCS(strnlen)
 AC_CHECK_FUNCS(strtoull __strtoull strtouq strtoll __strtoll strtoq)
index af1208a8fc286d52e89fd75d8d75982f65f12d17..a8164b642b16d5e101c4c6f09285e130ab5b0424 100644 (file)
@@ -182,6 +182,15 @@ char *rep_strndup(const char *s, size_t n);
 size_t rep_strnlen(const char *s, size_t n);
 #endif
 
+#if !HAVE_DECL_ENVIRON
+#ifdef __APPLE__
+#include <crt_externs.h>
+#define environ (*_NSGetEnviron())
+#else
+extern char **environ;
+#endif
+#endif
+
 #ifndef HAVE_SETENV
 #define setenv rep_setenv
 int rep_setenv(const char *name, const char *value, int overwrite);
index 292ae070d63bfbdf0aa13c4ea53e137702c8c88c..a37e97c9da60465e811b807e8fc7a83ca64b9e2c 100644 (file)
@@ -6210,6 +6210,8 @@ AC_ARG_ENABLE(merged-build,
 [AS_HELP_STRING([--enable-merged-build], [Build Samba 4 as well])], 
 [ enable_merged_build=$enableval ], [ enable_merged_build=auto ])
 
+m4_include(../lib/zlib/zlib.m4)
+
 if test x$enable_merged_build = xauto; then
        merged_build_possible=yes
 
@@ -6239,7 +6241,6 @@ if test x$enable_merged_build = xyes; then
        m4_include(samba4.m4)
 fi
 
-m4_include(../lib/zlib/zlib.m4)
 AC_SUBST(ZLIB_LIBS)
 AC_SUBST(ZLIB_OBJS)
 AC_ZLIB([ZLIB_OBJS=""], [