summaryrefslogtreecommitdiffstats
path: root/m4
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2001-09-14 12:34:21 +0000
committerBruno Haible <bruno@clisp.org>2001-09-14 12:34:21 +0000
commit2ecb11c53e32a57384bfe68e4e398c0936aad6d1 (patch)
treefb92cd2ce8d8bfcaaa426cf73406af169eaa998a /m4
parentb1732b47eb8b2f841f287226e2a06439a9875b36 (diff)
downloadexternal_gettext-2ecb11c53e32a57384bfe68e4e398c0936aad6d1.zip
external_gettext-2ecb11c53e32a57384bfe68e4e398c0936aad6d1.tar.gz
external_gettext-2ecb11c53e32a57384bfe68e4e398c0936aad6d1.tar.bz2
Add the setenv() function to lib/.
Diffstat (limited to 'm4')
-rw-r--r--m4/ChangeLog5
-rw-r--r--m4/Makefile.am4
-rw-r--r--m4/setenv.m431
3 files changed, 38 insertions, 2 deletions
diff --git a/m4/ChangeLog b/m4/ChangeLog
index f89a47a..22fa3aa 100644
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,8 @@
+2001-09-06 Bruno Haible <haible@clisp.cons.org>
+
+ * setenv.m4: New file.
+ * Makefile.am (EXTRA_DIST): Add it.
+
2001-09-02 Bruno Haible <haible@clisp.cons.org>
* mkdtemp.m4: New file.
diff --git a/m4/Makefile.am b/m4/Makefile.am
index ea1fdb3..ce5c3cc 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -9,5 +9,5 @@ aclocal_DATA = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.
EXTRA_DIST = README \
c-bs-a.m4 codeset.m4 flex.m4 getline.m4 gettext.m4 glibc21.m4 iconv.m4 \
inttypes_h.m4 isc-posix.m4 lcmessage.m4 libtool.m4 mbrtowc.m4 mbstate_t.m4 \
-mbswidth.m4 mkdtemp.m4 progtest.m4 setlocale.m4 signed.m4 ssize_t.m4 \
-stdbool.m4 tmpdir.m4 uintmax_t.m4 ulonglong.m4 unionwait.m4
+mbswidth.m4 mkdtemp.m4 progtest.m4 setenv.m4 setlocale.m4 signed.m4 \
+ssize_t.m4 stdbool.m4 tmpdir.m4 uintmax_t.m4 ulonglong.m4 unionwait.m4
diff --git a/m4/setenv.m4 b/m4/setenv.m4
new file mode 100644
index 0000000..037d7bf
--- /dev/null
+++ b/m4/setenv.m4
@@ -0,0 +1,31 @@
+#serial 1
+
+# 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
+])
+
+# Prerequisites of lib/setenv.c
+
+AC_DEFUN([gt_FUNC_SETENV],
+[
+ AC_REPLACE_FUNCS(setenv)
+ AC_CHECK_HEADERS(search.h stdlib.h string.h unistd.h)
+ AC_CHECK_FUNCS(tsearch)
+ gt_CHECK_VAR_DECL([#include <errno.h>], errno)
+ gt_CHECK_VAR_DECL([#include <unistd.h>], environ)
+])