Bruno Haible <[EMAIL PROTECTED]> wrote: > 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.
The change below is fine, but it's a close call. It's worthwhile, since it helps projects that use two gnulib libraries from a single configure.ac. On the down side, with that change, projects using chdir-long.m4 but not gnulib-tool may suffer due to the removal of such dependencies -- but we hope there will be fewer and fewer projects like that. > 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'. This is a known problem. And openat depends on other GPL'd modules. I don't see an easy solution. > --- 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 ...