Mercurial > hg > octave-kai > gnulib-hg
view m4/memcmp.m4 @ 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 | 97fc9a21a8fb |
children | 0b402f8f9b23 |
line wrap: on
line source
# 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, 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 <string.h> ]], [[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], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT], [[/* Some versions of memcmp are not 8-bit clean. */ char c0 = '\100', c1 = '\200', c2 = '\201'; if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0) return 1; /* The Next x86 OpenStep bug shows up only when comparing 16 bytes or more and with at least one buffer not starting on a 4-byte boundary. William Lewis provided this test program. */ { char foo[21]; char bar[21]; int i; for (i = 0; i < 4; i++) { char *a = foo + i; char *b = bar + i; strcpy (a, "--------01111111"); strcpy (b, "--------10000000"); if (memcmp (a, b, 16) >= 0) return 1; } return 0; } ]])], [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. AC_DEFUN([gl_PREREQ_MEMCMP], [:])