[Top][All Lists]
[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