bug-gnulib
[Top][All Lists]
Advanced

[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
 ])
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]