configure.ac: improve check for clock_gettime library
authorJim Meyering <meyering@fb.com>
Fri, 5 Jun 2015 15:03:00 +0000 (08:03 -0700)
committerNIIBE Yutaka <gniibe@fsij.org>
Sat, 6 Jun 2015 07:46:25 +0000 (16:46 +0900)
* configure.ac: When using AC_SEARCH_LIBS, handle the case in which
that function returns "none required". Also, save and restore LIBS
around the check, and properly m4-quote the first argument to AC_DEFINE.
Finally, also set and AC_SUBST LIB_CLOCK_GETTIME.
This added code is very similar to that provided in gnulib's
clock-time.m4.
* tests/Makefile.am (LDADD): Append $(LIB_CLOCK_GETTIME).

configure.ac
tests/Makefile.am

index e503324..da294b9 100644 (file)
@@ -267,12 +267,21 @@ AC_CHECK_FUNCS([select pselect gettimeofday])
 npth_LIBSOCKET
 config_libs="$config_libs $LIBSOCKET"
 
-AC_SEARCH_LIBS([clock_gettime],[rt posix4])
-if test "x$ac_cv_search_clock_gettime" != no; then
-    AC_DEFINE(HAVE_CLOCK_GETTIME,1,
-              [Define to 1 if you have the `clock_gettime' function.])
-    config_libs="$config_libs $ac_cv_search_clock_gettime"
-fi
+# 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=
+AC_SUBST([LIB_CLOCK_GETTIME])
+gl_saved_libs=$LIBS
+AC_SEARCH_LIBS([clock_gettime], [rt posix4],
+               [if test "$ac_cv_search_clock_gettime" != "none required"; then
+                  LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime
+                  config_libs="$config_libs $LIB_CLOCK_GETTIME"
+                fi
+                AC_DEFINE([HAVE_CLOCK_GETTIME],1,
+                  [Define to 1 if you have the `clock_gettime' function.])
+                ])
+LIBS=$gl_saved_libs
 
 
 #
index 39b0672..0dd436e 100644 (file)
@@ -35,11 +35,11 @@ TESTS = t-mutex t-thread
 if HAVE_W32_SYSTEM
 AM_CPPFLAGS = -I$(top_srcdir)/w32
 AM_LDFLAGS =
-LDADD = ../w32/libnpth.la
+LDADD = ../w32/libnpth.la $(LIB_CLOCK_GETTIME)
 else
 AM_CPPFLAGS = -I../src -D_POSIX_C_SOURCE=200112L
 AM_LDFLAGS =
-LDADD = ../src/libnpth.la $(LIBSOCKET)
+LDADD = ../src/libnpth.la $(LIBSOCKET) $(LIB_CLOCK_GETTIME)
 endif
 
 noinst_HEADERS = t-support.h