strtok_r: Move AC_LIBOBJ invocations to module description.
authorBruno Haible <bruno@clisp.org>
Sun, 22 May 2011 12:50:04 +0000 (14:50 +0200)
committerBruno Haible <bruno@clisp.org>
Wed, 15 Jun 2011 22:06:58 +0000 (00:06 +0200)
* m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
and gl_PREREQ_STRTOK_R invocations from here...
* modules/strtok_r (configure.ac): ... to here.
(Depends-on): Update conditions.

ChangeLog
m4/strtok_r.m4
modules/strtok_r

index b8b4ee3..5e4a545 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2011-05-22  Bruno Haible  <bruno@clisp.org>
 
+       strtok_r: Move AC_LIBOBJ invocations to module description.
+       * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
+       and gl_PREREQ_STRTOK_R invocations from here...
+       * modules/strtok_r (configure.ac): ... to here.
+       (Depends-on): Update conditions.
+
+2011-05-22  Bruno Haible  <bruno@clisp.org>
+
        strtoumax: Move AC_LIBOBJ invocations to module description.
        * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
        AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
index 3f8a26f..59ea3d7 100644 (file)
@@ -1,4 +1,4 @@
-# strtok_r.m4 serial 12
+# strtok_r.m4 serial 13
 dnl Copyright (C) 2002-2004, 2006-2007, 2009-2011 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
@@ -14,6 +14,7 @@ AC_DEFUN([gl_FUNC_STRTOK_R],
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   AC_CHECK_FUNCS([strtok_r])
   if test $ac_cv_func_strtok_r = yes; then
+    HAVE_STRTOK_R=1
     dnl glibc 2.7 has a bug in strtok_r that causes a segmentation fault
     dnl when the second argument to strtok_r is a constant string that has
     dnl exactly one byte and compiling with optimization.  This bug is, for
@@ -52,15 +53,14 @@ changequote([,])dnl
       ])
     case "$gl_cv_func_strtok_r_works" in
       *no)
-        dnl We could set REPLACE_STRTOK_R=1 and AC_LIBOBJ([strtok_r]) here,
-        dnl but it's only the macro version in <bits/string2.h> which is wrong.
-        dnl The code compiled into libc is fine.
+        dnl We could set REPLACE_STRTOK_R=1 here, but it's only the macro
+        dnl version in <bits/string2.h> which is wrong. The code compiled
+        dnl into libc is fine.
         UNDEFINE_STRTOK_R=1
         ;;
     esac
   else
-    AC_LIBOBJ([strtok_r])
-    gl_PREREQ_STRTOK_R
+    HAVE_STRTOK_R=0
   fi
   AC_CHECK_DECLS_ONCE([strtok_r])
   if test $ac_cv_have_decl_strtok_r = no; then
index bbfef2b..23a6acb 100644 (file)
@@ -7,10 +7,14 @@ m4/strtok_r.m4
 
 Depends-on:
 string
-strpbrk         [test $ac_cv_func_strtok_r = no]
+strpbrk         [test $HAVE_STRTOK_R = 0 || test $REPLACE_STRTOK_R = 1]
 
 configure.ac:
 gl_FUNC_STRTOK_R
+if test $HAVE_STRTOK_R = 0 || test $REPLACE_STRTOK_R = 1; then
+  AC_LIBOBJ([strtok_r])
+  gl_PREREQ_STRTOK_R
+fi
 gl_STRING_MODULE_INDICATOR([strtok_r])
 
 Makefile.am: