From: Bruno Haible Date: Sat, 21 May 2011 13:05:50 +0000 (+0200) Subject: memcmp: Simplify autoconf macro. X-Git-Tag: v0.1~2489 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=9f6141ab3bc86bfe40bff58fae8094f16470649f;p=gnulib.git memcmp: Simplify autoconf macro. * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into the AC_RUN_IFELSE invocation. Set gl_func_memcmp. * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp. --- diff --git a/ChangeLog b/ChangeLog index 6432a6d2e..d02f9a6f6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2011-05-21 Bruno Haible + memcmp: Simplify autoconf macro. + * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into + the AC_RUN_IFELSE invocation. Set gl_func_memcmp. + * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp. + +2011-05-21 Bruno Haible + 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 diff --git a/m4/memcmp.m4 b/m4/memcmp.m4 index 6c87525b0..dcc22120f 100644 --- a/m4/memcmp.m4 +++ b/m4/memcmp.m4 @@ -6,18 +6,6 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MEMCMP], [ - if test $cross_compiling != no; then - # 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], - [gl_cv_func_memcmp_working], - [AC_LINK_IFELSE([ - AC_LANG_PROGRAM([[#include - ]], [[int ret = memcmp ("foo", "bar", 0);]])], - [gl_cv_func_memcmp_working=yes], - [gl_cv_func_memcmp_working=no])]) - fi 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], @@ -49,8 +37,21 @@ AC_DEFUN([gl_FUNC_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 + [dnl When cross-compiling, guess memcmp works when it exists. + dnl This is useful for mingw. + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[int ret = memcmp ("foo", "bar", 0);]])], + [gl_cv_func_memcmp_working="guessing yes"], + [gl_cv_func_memcmp_working="guessing no"]) + ]) + ]) + case "$gl_cv_func_memcmp_working" in + *yes) gl_func_memcmp=yes ;; + *) gl_func_memcmp=no ;; + esac + if test $gl_func_memcmp = no; then AC_DEFINE([memcmp], [rpl_memcmp], [Define to rpl_memcmp if the replacement function should be used.]) fi diff --git a/modules/memcmp b/modules/memcmp index 5f31bbe06..5b35a75fa 100644 --- a/modules/memcmp +++ b/modules/memcmp @@ -12,11 +12,11 @@ lib/memcmp.c m4/memcmp.m4 Depends-on: -stdint [test $gl_cv_func_memcmp_working = no] +stdint [test $gl_func_memcmp = no] configure.ac: gl_FUNC_MEMCMP -if test $gl_cv_func_memcmp_working = no; then +if test $gl_func_memcmp = no; then AC_LIBOBJ([memcmp]) gl_PREREQ_MEMCMP fi