Blame m4/putenv.m4

Packit Service 991b93
# putenv.m4 serial 24
Packit Service 991b93
dnl Copyright (C) 2002-2020 Free Software Foundation, Inc.
Packit aea12f
dnl This file is free software; the Free Software Foundation
Packit aea12f
dnl gives unlimited permission to copy and/or distribute it,
Packit aea12f
dnl with or without modifications, as long as this notice is preserved.
Packit aea12f
Packit aea12f
dnl From Jim Meyering.
Packit aea12f
dnl
Packit aea12f
dnl Check whether putenv ("FOO") removes FOO from the environment.
Packit aea12f
dnl The putenv in libc on at least SunOS 4.1.4 does *not* do that.
Packit aea12f
Packit aea12f
AC_DEFUN([gl_FUNC_PUTENV],
Packit aea12f
[
Packit aea12f
  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
Packit aea12f
  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
Packit aea12f
  AC_CACHE_CHECK([for putenv compatible with GNU and SVID],
Packit aea12f
   [gl_cv_func_svid_putenv],
Packit aea12f
   [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],[[
Packit aea12f
    /* Put it in env.  */
Packit aea12f
    if (putenv ("CONFTEST_putenv=val"))
Packit aea12f
      return 1;
Packit aea12f
Packit aea12f
    /* Try to remove it.  */
Packit aea12f
    if (putenv ("CONFTEST_putenv"))
Packit aea12f
      return 2;
Packit aea12f
Packit aea12f
    /* Make sure it was deleted.  */
Packit aea12f
    if (getenv ("CONFTEST_putenv") != 0)
Packit aea12f
      return 3;
Packit aea12f
Packit aea12f
    return 0;
Packit aea12f
              ]])],
Packit aea12f
             gl_cv_func_svid_putenv=yes,
Packit aea12f
             gl_cv_func_svid_putenv=no,
Packit aea12f
             dnl When crosscompiling, assume putenv is broken.
Packit aea12f
             [case "$host_os" in
Packit aea12f
                               # Guess yes on glibc systems.
Packit aea12f
                *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
Packit aea12f
                               # Guess yes on musl systems.
Packit aea12f
                *-musl*)       gl_cv_func_svid_putenv="guessing yes" ;;
Packit aea12f
                               # Guess no on native Windows.
Packit aea12f
                mingw*)        gl_cv_func_svid_putenv="guessing no" ;;
Packit Service 991b93
                               # If we don't know, obey --enable-cross-guesses.
Packit Service 991b93
                *)             gl_cv_func_svid_putenv="$gl_cross_guess_normal" ;;
Packit aea12f
              esac
Packit aea12f
             ])
Packit aea12f
   ])
Packit aea12f
  case "$gl_cv_func_svid_putenv" in
Packit aea12f
    *yes) ;;
Packit aea12f
    *)
Packit aea12f
      REPLACE_PUTENV=1
Packit aea12f
      ;;
Packit aea12f
  esac
Packit aea12f
])
Packit aea12f
Packit aea12f
# Prerequisites of lib/putenv.c.
Packit aea12f
AC_DEFUN([gl_PREREQ_PUTENV],
Packit aea12f
[
Packit aea12f
  AC_CHECK_DECLS([_putenv])
Packit aea12f
])