diff options
author | Bruno Haible <bruno@clisp.org> | 2008-02-24 16:40:15 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2008-02-24 16:40:15 +0100 |
commit | 22eb7728a25fbfb7ba1a591db0f70fe5a0e266e0 (patch) | |
tree | bd414aff377987eb04f4919e3177fc904782860d /m4/environ.m4 | |
parent | ed6d305b671518f72cc3a59fb94148fd4e5b70ec (diff) | |
download | gnulib-22eb7728a25fbfb7ba1a591db0f70fe5a0e266e0.tar.gz |
New module 'environ'.
Diffstat (limited to 'm4/environ.m4')
-rw-r--r-- | m4/environ.m4 | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/m4/environ.m4 b/m4/environ.m4 new file mode 100644 index 0000000000..fac0c05556 --- /dev/null +++ b/m4/environ.m4 @@ -0,0 +1,36 @@ +# environ.m4 serial 1 +dnl Copyright (C) 2001-2004, 2006-2008 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_ENVIRON], +[ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + dnl Persuade glibc <unistd.h> to declare environ. + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + gt_CHECK_VAR_DECL([#include <unistd.h>], environ) + if test $gt_cv_var_environ_declaration != yes; then + HAVE_DECL_ENVIRON=0 + fi +]) + +# Check if a variable is properly declared. +# gt_CHECK_VAR_DECL(includes,variable) +AC_DEFUN([gt_CHECK_VAR_DECL], +[ + define([gt_cv_var], [gt_cv_var_]$2[_declaration]) + AC_MSG_CHECKING([if $2 is properly declared]) + AC_CACHE_VAL(gt_cv_var, [ + AC_TRY_COMPILE([$1 + extern struct { int foo; } $2;], + [$2.foo = 1;], + gt_cv_var=no, + gt_cv_var=yes)]) + AC_MSG_RESULT($gt_cv_var) + if test $gt_cv_var = yes; then + AC_DEFINE([HAVE_]translit($2, [a-z], [A-Z])[_DECL], 1, + [Define if you have the declaration of $2.]) + fi + undefine([gt_cv_var]) +]) |