don't let environment settings perturb build
authorJim Meyering <meyering@redhat.com>
Thu, 15 Oct 2009 19:04:51 +0000 (21:04 +0200)
committerJim Meyering <meyering@redhat.com>
Thu, 15 Oct 2009 19:04:51 +0000 (21:04 +0200)
Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
could cause a configure-time and/or build-time malfunction.
Typically, a configure-time function-in-library test is performed
via code like this:

  LIB_VAR=
  AC_SUBST([LIB_VAR])
  prefix_saved_LIBS=$LIBS
    AC_SEARCH_LIBS([FUNC], [LIB_NAME],
       [test "$ac_cv_search_FUNC" = "none required" ||
LIB_VAR=$ac_cv_search_FUNC])
  LIBS=$prefix_saved_LIBS

However, in each of the files affected by this change, the LIB_VAR=
initialization was omitted.  Thus, when set in the environment, its
value would propagate into generated Makefiles when FUNC is not found
in LIB_NAME.
* m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
* m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.

ChangeLog
m4/clock_time.m4
m4/euidaccess.m4
m4/nanosleep.m4

index e19038b..1e43405 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2009-10-15  Jim Meyering  <meyering@redhat.com>
+
+       don't let environment settings perturb build
+       Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
+       could cause a configure-time and/or build-time malfunction.
+       Typically, a configure-time function-in-library test is performed
+       via code like this:
+
+         LIB_VAR=
+         AC_SUBST([LIB_VAR])
+         prefix_saved_LIBS=$LIBS
+           AC_SEARCH_LIBS([FUNC], [LIB_NAME],
+                      [test "$ac_cv_search_FUNC" = "none required" ||
+                       LIB_VAR=$ac_cv_search_FUNC])
+         LIBS=$prefix_saved_LIBS
+
+       However, in each of the files affected by this change, the LIB_VAR=
+       initialization was omitted.  Thus, when set in the environment, its
+       value would propagate into generated Makefiles when FUNC is not found
+       in LIB_NAME.
+       * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
+       * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
+       * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
+
 2009-10-14  Eric Blake  <ebb9@byu.net>
 
        fchdir: avoid infinite recursion in mingw
index d191072..d67f3df 100644 (file)
@@ -20,6 +20,7 @@ AC_DEFUN([gl_CLOCK_TIME],
   # Save and restore LIBS so e.g., -lrt, isn't added to it.  Otherwise, *all*
   # programs in the package would end up linked with that potentially-shared
   # library, inducing unnecessary run-time overhead.
+  LIB_CLOCK_GETTIME=
   gl_saved_libs=$LIBS
     AC_SEARCH_LIBS([clock_gettime], [rt posix4],
                    [test "$ac_cv_search_clock_gettime" = "none required" ||
index f1a175c..5e8adac 100644 (file)
@@ -42,6 +42,7 @@ AC_DEFUN([gl_PREREQ_EUIDACCESS], [
   # Save and restore LIBS so -lgen isn't added to it.  Otherwise, *all*
   # programs in the package would end up linked with that potentially-shared
   # library, inducing unnecessary run-time overhead.
+  LIB_EACCESS=
   gl_saved_libs=$LIBS
     AC_SEARCH_LIBS([eaccess], [gen],
                    [test "$ac_cv_search_eaccess" = "none required" ||
index 7f08744..663fedf 100644 (file)
@@ -24,9 +24,10 @@ AC_DEFUN([gl_FUNC_NANOSLEEP],
 
  # Solaris 2.5.1 needs -lposix4 to get the nanosleep function.
  # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
+ LIB_NANOSLEEP=
  AC_SEARCH_LIBS([nanosleep], [rt posix4],
                 [test "$ac_cv_search_nanosleep" = "none required" ||
-                LIB_NANOSLEEP=$ac_cv_search_nanosleep])
+                 LIB_NANOSLEEP=$ac_cv_search_nanosleep])
 
  AC_REQUIRE([gl_MULTIARCH])
  if test $APPLE_UNIVERSAL_BUILD = 1; then