changeset 15036:57aae479b6ad

memcmp: Move AC_LIBOBJ invocations to module description. * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro. (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here... * modules/memcmp (configure.ac): ... to here. (Depends-on): Update conditions.
author Bruno Haible <bruno@clisp.org>
date Sat, 21 May 2011 14:56:27 +0200
parents 030dcb1a7a38
children 0b402f8f9b23
files ChangeLog m4/memcmp.m4 modules/memcmp
diffstat 3 files changed, 29 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2011-05-21  Bruno Haible  <bruno@clisp.org>
+
+	memcmp: Move AC_LIBOBJ invocations to module description.
+	* m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
+	(gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
+	AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
+	* modules/memcmp (configure.ac): ... to here.
+	(Depends-on): Update conditions.
+
 2011-05-21  Bruno Haible  <bruno@clisp.org>
 
 	memchr: Respect rules for use of AC_LIBOBJ.
--- a/m4/memcmp.m4
+++ b/m4/memcmp.m4
@@ -1,4 +1,4 @@
-# memcmp.m4 serial 15
+# memcmp.m4 serial 16
 dnl Copyright (C) 2002-2004, 2007-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -7,30 +7,20 @@
 AC_DEFUN([gl_FUNC_MEMCMP],
 [
   if test $cross_compiling != no; then
-    # AC_FUNC_MEMCMP as of 2.62 defaults to 'no' when cross compiling.
+    # The test below defaults to 'no' when cross compiling.
     # We default to yes if memcmp appears to exist, which works
     # better for MinGW.
     AC_CACHE_CHECK([whether cross-compiling target has memcmp],
-                   [ac_cv_func_memcmp_working],
+                   [gl_cv_func_memcmp_working],
                    [AC_LINK_IFELSE([
                         AC_LANG_PROGRAM([[#include <string.h>
                                 ]], [[int ret = memcmp ("foo", "bar", 0);]])],
-                        [ac_cv_func_memcmp_working=yes],
-                        [ac_cv_func_memcmp_working=no])])
+                        [gl_cv_func_memcmp_working=yes],
+                        [gl_cv_func_memcmp_working=no])])
   fi
-  AC_FUNC_MEMCMP
-  dnl Note: AC_FUNC_MEMCMP does AC_LIBOBJ([memcmp]).
-  if test $ac_cv_func_memcmp_working = no; then
-    AC_DEFINE([memcmp], [rpl_memcmp],
-      [Define to rpl_memcmp if the replacement function should be used.])
-    gl_PREREQ_MEMCMP
-  fi
-])
-
-# Redefine AC_FUNC_MEMCMP, because it is no longer maintained in Autoconf.
-AC_DEFUN([AC_FUNC_MEMCMP],
-[
-  AC_CACHE_CHECK([for working memcmp], [ac_cv_func_memcmp_working],
+  dnl We don't use AC_FUNC_MEMCMP any more, because it is no longer maintained
+  dnl in Autoconf and because it invokes AC_LIBOBJ.
+  AC_CACHE_CHECK([for working memcmp], [gl_cv_func_memcmp_working],
     [AC_RUN_IFELSE(
        [AC_LANG_PROGRAM(
           [AC_INCLUDES_DEFAULT],
@@ -57,11 +47,13 @@
               return 0;
             }
           ]])],
-       [ac_cv_func_memcmp_working=yes],
-       [ac_cv_func_memcmp_working=no],
-       [ac_cv_func_memcmp_working=no])])
-  test $ac_cv_func_memcmp_working = no &&
-    AC_LIBOBJ([memcmp])
+       [gl_cv_func_memcmp_working=yes],
+       [gl_cv_func_memcmp_working=no],
+       [gl_cv_func_memcmp_working=no])])
+  if test $gl_cv_func_memcmp_working = no; then
+    AC_DEFINE([memcmp], [rpl_memcmp],
+      [Define to rpl_memcmp if the replacement function should be used.])
+  fi
 ])
 
 # Prerequisites of lib/memcmp.c.
--- a/modules/memcmp
+++ b/modules/memcmp
@@ -12,10 +12,14 @@
 m4/memcmp.m4
 
 Depends-on:
-stdint          [test $ac_cv_func_memcmp_working = no]
+stdint          [test $gl_cv_func_memcmp_working = no]
 
 configure.ac:
 gl_FUNC_MEMCMP
+if test $gl_cv_func_memcmp_working = no; then
+  AC_LIBOBJ([memcmp])
+  gl_PREREQ_MEMCMP
+fi
 
 Makefile.am: