[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: memcmp module
From: |
Jim Meyering |
Subject: |
Re: memcmp module |
Date: |
Thu, 29 Jun 2006 13:57:36 +0200 |
Paul Eggert <address@hidden> wrote:
> "Derek R. Price" <address@hidden> writes:
>
>> The memcmp module is only useful with AC_FUNC_MEMCMP, which Autoconf
>> 2.60 declares obsolescent. No other GNULIB modules reference this
>> module, so could it be removed?
>
> I think I'd rather keep this around a leettle while longer, since
> it depends on C libraries, not the C compilers themselves, and on
> a freestanding C89 system the libraries might be dodgy.
>
> If we want to remove memcmp, we should also look at the list of C89
> modules in MODULES.html.sh (assert, dummy, exit, atexit, etc.) and
> perhaps remove them as well. Some of them we'd have to keep (e.g.,
> mktime, which works around many common bugs even in C99 hosts) but
> others could go I suppose.
>
> PS. By the way, when you remove m4/c-bs-a.m4, please don't forget to
> update MODULES.html.sh accordingly.
How about leaving it in for a while longer, but adding some sort of
assertion that will trigger if ever configure detects it's needed.
Here's what I did recently for coreutils:
Note that it does provide a way to continue on with the build.
2006-06-18 Jim Meyering <address@hidden>
* ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
configure fail, and request a bug report to inform us about it.
Add a comment that, barring reports to the contrary, in 2007 we'll
assume ftruncate is universally available.
Index: m4/ftruncate.m4
===================================================================
RCS file: /fetish/cu/m4/ftruncate.m4,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -p -u -r1.9 -r1.10
--- m4/ftruncate.m4 22 Sep 2005 06:05:39 -0000 1.9
+++ m4/ftruncate.m4 18 Jun 2006 14:00:35 -0000 1.10
@@ -1,17 +1,29 @@
-#serial 8
+#serial 9
# See if we need to emulate a missing ftruncate function using fcntl or chsize.
-# Copyright (C) 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2001, 2003-2006 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
+# FIXME: remove this macro, along with all uses of HAVE_FTRUNCATE in 2007,
+# if the check below provokes no reports.
+
AC_DEFUN([gl_FUNC_FTRUNCATE],
[
AC_REPLACE_FUNCS(ftruncate)
if test $ac_cv_func_ftruncate = no; then
gl_PREREQ_FTRUNCATE
+ # If someone lacks ftruncate, make configure fail, and request
+ # a bug report to inform us about it.
+ if test x"$SKIP_FTRUNCATE_CHECK" != xyes; then
+ AC_MSG_FAILURE([Your system lacks the ftruncate function.
+ Please report this, along with the output of "uname -a", to the
+ address@hidden mailing list. To continue past this point,
+ rerun configure with SKIP_FTRUNCATE_CHECK=yes set in the environment.
+ E.g., env SKIP_FTRUNCATE_CHECK=yes ./configure])
+ fi
fi
])