bug-gnulib
[Top][All Lists]
Advanced

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

Re: an autoconf expert challenge


From: Jim Meyering
Subject: Re: an autoconf expert challenge
Date: Wed, 24 Jan 2007 14:03:18 +0100

Bruno Haible <address@hidden> 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
...




reply via email to

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