aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-04-30 12:48:33 -0400
committerNick Mathewson <nickm@torproject.org>2012-04-30 12:48:33 -0400
commit6156403237fc1775a55000af5b792a5bb1b6e0f3 (patch)
tree61bf7d582f656814b7fdc1d4a7c30b97153b5a38
parent9dddfe83f3041e1504d2def5622633eb59a9756f (diff)
downloadtor-6156403237fc1775a55000af5b792a5bb1b6e0f3.tar.gz
tor-6156403237fc1775a55000af5b792a5bb1b6e0f3.zip
Fix headers in test for whether environ is declared in stdlib/unistd
We'd had our configure.in test include unistd.h unconditionally, which would fail on Windows/mingw, even though environ _was_ declared there. Fix for 5704; bugfix on 0.2.3.13-alpha. Thanks to Erinn for finding this and rransom for figuring out the problem.
-rw-r--r--changes/bug57044
-rw-r--r--configure.in3
2 files changed, 7 insertions, 0 deletions
diff --git a/changes/bug5704 b/changes/bug5704
new file mode 100644
index 0000000000..40afefb256
--- /dev/null
+++ b/changes/bug5704
@@ -0,0 +1,4 @@
+ o Minor bugfixes:
+ - Fix compilation on platforms without unistd.h, or where environ
+ is defined in stdlib.h. Fixes bug 5704; bugfix on
+ 0.2.3.13-alpha. \ No newline at end of file
diff --git a/configure.in b/configure.in
index e6f379c23d..d4ea6c6d15 100644
--- a/configure.in
+++ b/configure.in
@@ -1116,7 +1116,10 @@ AC_CACHE_CHECK([whether we have extern char **environ already declared],
/* We define _GNU_SOURCE here because it is also defined in compat.c.
* Without it environ doesn't get declared. */
#define _GNU_SOURCE
+#ifdef HAVE_UNISTD_H
#include <unistd.h>
+#endif
+#include <stdlib.h>
int main(int c, char **v) { char **t = environ; }])],
tor_cv_have_environ_declared=yes,
tor_cv_have_environ_declared=no))