summaryrefslogtreecommitdiff
path: root/m4/putenv.m4
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1997-06-16 16:45:15 +0000
committerJim Meyering <jim@meyering.net>1997-06-16 16:45:15 +0000
commit19342feca761a6c40173a9b4957637212f68dfe5 (patch)
treeadd8a791095df1c7abef788a470a8880773c46df /m4/putenv.m4
parent7b097c0e373611b627d7d0e17ea1eabc0f480a4e (diff)
downloadcoreutils-19342feca761a6c40173a9b4957637212f68dfe5.tar.xz
.
Diffstat (limited to 'm4/putenv.m4')
-rw-r--r--m4/putenv.m440
1 files changed, 40 insertions, 0 deletions
diff --git a/m4/putenv.m4 b/m4/putenv.m4
new file mode 100644
index 000000000..733a49642
--- /dev/null
+++ b/m4/putenv.m4
@@ -0,0 +1,40 @@
+#serial 1
+
+dnl From Jim Meyering.
+dnl If you use this macro in a package, you should
+dnl add the following two lines to acconfig.h:
+dnl /* Define to rpl_putenv if the replacement function should be used. */
+dnl #undef putenv
+dnl
+
+AC_DEFUN(jm_FUNC_PUTENV,
+[AC_CACHE_CHECK([for SVID conformant putenv], jm_cv_func_svid_putenv,
+ [AC_TRY_RUN([
+ int
+ main ()
+ {
+ /* Put it in env. */
+ if (putenv ("CONFTEST_putenv=val"))
+ exit (1);
+
+ /* Try to remove it. */
+ if (putenv ("CONFTEST_putenv"))
+ exit (1);
+
+ /* Make sure it was deleted. */
+ if (getenv ("CONFTEST_putenv") != 0)
+ exit (1);
+
+ exit (0);
+ }
+ ],
+ jm_cv_func_svid_putenv=yes,
+ jm_cv_func_svid_putenv=no,
+ dnl When crosscompiling, assume putenv is broken.
+ jm_cv_func_svid_putenv=no)
+ ])
+ if test $jm_cv_func_svid_putenv = no; then
+ LIBOBJS="$LIBOBJS putenv.o"
+ AC_DEFINE_UNQUOTED(putenv, rpl_putenv)
+ fi
+])