bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: an autoconf expert challenge


From: Bruno Haible
Subject: Re: an autoconf expert challenge
Date: Wed, 24 Jan 2007 13:00:01 +0100 (MET)
User-agent: KMail/1.5.4

Paul Eggert wrote:
> > For the other 9 cases, invoking
> > instead of requiring the macro is the solution.
> 
> Won't that bloat 'configure' and slow it down?

For gl_GETOPT_SUBSTITUTE, configure's size will increase, yes. But this is
exactly how gl_ARGP is meant to override the autodetection of getopt, and
gl_GETOPT_SUBSTITUTE is small, so IMO it's acceptable.

For gl_FUNC_FTS_CORE, no bloat will occur, since noone is (or should be)
using 'fts' and 'fts-lgpl' simultaneously.

AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK is only used by gl_FUNC_LSTAT, and
gl_FUNC_LSTAT is only invoked once per gnulib instance since it corresponds
to a module. Therefore no configure size increase.

AC_FUNC_MEMCMP likewise.

gl_FUNC_STRFTIME likewise.

AC_FUNC_STRTOD likewise.

AC_FUNC_MKTIME is only used by gl_FUNC_MKTIME. This is also required by
timegm.m4 - also a violation of the rule that Ralf is testing, but no
configure size increase will occur in practice since 'mktime' comes before
'timegm' in the generated gl_INIT macro.

gl_FUNC_FCHOWNAT, gl_FUNC_OPENAT looks like it could cause bloat with
chdir-long.m4 and fts.m4. For chdir-long.m4, it's easy to avoid, since
'chdir-long' has already the required module dependencies. For module
'fts', likewise. But for module 'fts-lgpl' we currently have a problem:
lib/fts.c invokes openat(), which is defined in module 'openat', which is
under GPL - contradicting the LGPL license of module 'fts-lgpl'.

Bruno


--- gnulib-cvs/m4/chdir-long.m4 2006-09-25 23:03:05.000000000 +0200
+++ gnulib-work/m4/chdir-long.m4        2007-01-24 12:44:49.000000000 +0100
@@ -1,4 +1,4 @@
-#serial 9
+#serial 10
 
 # Use Gnulib's robust chdir function.
 # It can handle arbitrarily long directory names, which means
@@ -6,7 +6,7 @@
 # never fails with ENAMETOOLONG.
 # Arrange to compile chdir-long.c only on systems that define PATH_MAX.
 
-dnl Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2005, 2006, 2007 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.
@@ -34,8 +34,5 @@
 
 AC_DEFUN([gl_PREREQ_CHDIR_LONG],
 [
-  AM_STDBOOL_H
-  gl_FUNC_MEMPCPY
-  gl_FUNC_OPENAT
-  gl_FUNC_MEMRCHR
+  :
 ])

> Can we turn these into module dependencies instead?

The required module dependencies are already there, except for 'fts-lgpl' ->
'openat'. (Simon's autobuild would fail without the right module dependencies.)

Bruno





reply via email to

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