Browse Source

Add autoconf check to determine where environ should be declared.

git-svn-id: svn://svn.berlios.de/openocd/trunk@1610 b42882b7-edfa-0310-969c-e2dbd0fdcd60
tags/v0.2.0
zwelch 13 years ago
parent
commit
7e50a39773
2 changed files with 32 additions and 1 deletions
  1. +31
    -0
      configure.in
  2. +1
    -1
      src/helper/jim.c

+ 31
- 0
configure.in View File

@@ -784,6 +784,37 @@ AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_RANLIB

# Look for environ alternatives. Possibility #1: is environ in unistd.h?
AC_MSG_CHECKING([for environ in unistd.h])
AC_COMPILE_IFELSE([
#define _GNU_SOURCE
#include <unistd.h>
int main(int argc, char **argv) { char **ep = environ; }
], [
AC_MSG_RESULT([yes])
has_environ=yes
], [
AC_MSG_RESULT([no])

# Possibility #2: can environ be found in an available library?
AC_MSG_CHECKING([for extern environ])
AC_LINK_IFELSE([
extern char **environ;
int main(int argc, char **argv) { char **ep = environ; }
], [
AC_DEFINE(NEED_ENVIRON_EXTERN, [1], [Must declare 'environ' to use it.])
has_environ=yes
], [
has_environ=no
])
AC_MSG_RESULT([${has_environ}])
])

if test "${has_environ}" != "yes" ; then
AC_MSG_FAILURE([Could find 'environ' in unistd.h or available libraries.])
fi


# set default gcc warnings
GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security"
if test "${gcc_wextra}" = yes; then


+ 1
- 1
src/helper/jim.c View File

@@ -11984,7 +11984,7 @@ static int Jim_EnvCoreCommand(Jim_Interp *interp, int argc,

if (argc == 1) {

#if !defined(HAVE_UNISTD_H) || !defined(__GNU_LIBRARY__)
#ifdef NEED_ENVIRON_EXTERN
extern char **environ;
#endif



Loading…
Cancel
Save