From 6156403237fc1775a55000af5b792a5bb1b6e0f3 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 30 Apr 2012 12:48:33 -0400 Subject: [PATCH] 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. --- changes/bug5704 | 4 ++++ configure.in | 3 +++ 2 files changed, 7 insertions(+) create mode 100644 changes/bug5704 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 +#endif +#include int main(int c, char **v) { char **t = environ; }])], tor_cv_have_environ_declared=yes, tor_cv_have_environ_declared=no))