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
