X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=m4%2Fsetenv.m4;h=d6901de240d60e38379a5fbe6bd807a133b19ba3;hb=e52fa80b73cf84d7e5472aeb43ead4e25dbd5989;hp=af621ec53ea549b6c0fd6428b7598bb2c7a319e0;hpb=e059c2358aad79ce8dfd9581dd6f12ce8503dc63;p=gnulib.git diff --git a/m4/setenv.m4 b/m4/setenv.m4 index af621ec53..d6901de24 100644 --- a/m4/setenv.m4 +++ b/m4/setenv.m4 @@ -1,19 +1,47 @@ -# setenv.m4 serial 3 -dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. +# setenv.m4 serial 8 +dnl Copyright (C) 2001-2004, 2006-2007 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([gt_FUNC_SETENV], +AC_DEFUN([gl_FUNC_SETENV], [ - AC_REPLACE_FUNCS(setenv unsetenv) + AC_CHECK_FUNCS_ONCE([setenv]) if test $ac_cv_func_setenv = no; then + AC_LIBOBJ([setenv]) gl_PREREQ_SETENV fi +]) + +# Like gl_FUNC_SETENV, except prepare for separate compilation (no AC_LIBOBJ). +AC_DEFUN([gl_FUNC_SETENV_SEPARATE], +[ + AC_CHECK_FUNCS_ONCE([setenv]) + gl_PREREQ_SETENV +]) + +AC_DEFUN([gl_FUNC_UNSETENV], +[ + AC_CHECK_FUNCS([unsetenv]) if test $ac_cv_func_unsetenv = no; then + AC_LIBOBJ([unsetenv]) gl_PREREQ_UNSETENV + else + AC_CACHE_CHECK([for unsetenv() return type], gt_cv_func_unsetenv_ret, + [AC_TRY_COMPILE([#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +int unsetenv (const char *name); +#else +int unsetenv(); +#endif +], , gt_cv_func_unsetenv_ret='int', gt_cv_func_unsetenv_ret='void')]) + if test $gt_cv_func_unsetenv_ret = 'void'; then + AC_DEFINE(VOID_UNSETENV, 1, [Define if unsetenv() returns void, not int.]) + fi fi ]) @@ -40,17 +68,15 @@ AC_DEFUN([gt_CHECK_VAR_DECL], AC_DEFUN([gl_PREREQ_SETENV], [ AC_REQUIRE([AC_FUNC_ALLOCA]) - AC_CHECK_HEADERS_ONCE(stdlib.h string.h unistd.h) + AC_CHECK_HEADERS_ONCE(unistd.h) AC_CHECK_HEADERS(search.h) AC_CHECK_FUNCS(tsearch) - gt_CHECK_VAR_DECL([#include ], errno) gt_CHECK_VAR_DECL([#include ], environ) ]) # Prerequisites of lib/unsetenv.c. AC_DEFUN([gl_PREREQ_UNSETENV], [ - AC_CHECK_HEADERS_ONCE(stdlib.h string.h unistd.h) - gt_CHECK_VAR_DECL([#include ], errno) + AC_CHECK_HEADERS_ONCE(unistd.h) gt_CHECK_VAR_DECL([#include ], environ) ])