bug-gnulib
[Top][All Lists]
Advanced

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

Re: Failing to use gnulib bootstrap in libtool


From: Jim Meyering
Subject: Re: Failing to use gnulib bootstrap in libtool
Date: Fri, 03 Sep 2010 12:42:05 +0200

Jim Meyering wrote:
...
> Much of slurp is now obsolete.  It was working around problems
> in gnulib that have been resolved.
>
> For example, as far as I can see, removing the following blocks
> induces no change in coreutils' build process.
>
> diff --git a/bootstrap b/bootstrap
> index 5ab4cf7..8d15081 100755
> --- a/bootstrap
> +++ b/bootstrap
> @@ -1,6 +1,6 @@
>  #! /bin/sh
>  # Print a version string.
> -scriptversion=2010-07-06.10; # UTC
> +scriptversion=2010-09-02.20; # UTC
>
>  # Bootstrap this package from checked-out sources.
>
> @@ -666,33 +666,12 @@ slurp() {
>        for excluded_file in $excluded_files; do
>          test "$dir/$file" = "$excluded_file" && continue 2
>        done
> -      if test $file = Makefile.am && test "X$gnulib_mk" != XMakefile.am; then
> -        copied=$copied${sep}$gnulib_mk; sep=$nl
> -        remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g"
> -        sed "$remove_intl" $1/$dir/$file | cmp - $dir/$gnulib_mk > /dev/null 
> || {
> -          echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
> -          rm -f $dir/$gnulib_mk &&
> -          sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk
> -        }
> -      elif { test "${2+set}" = set && test -r $2/$dir/$file; } ||
> +      if { test "${2+set}" = set && test -r $2/$dir/$file; } ||

Actually, I cannot remove the above block for three reasons:

  * modules/gettext inserts this line in Makefile.am (sometimes aka gnulib.mk)

        AM_CPPFLAGS += -I$(top_builddir)/intl

    and the above code comments that out.
    That commenting-out is required for any project that does not
    provide an intl/ directory.  Otherwise, gcc fails with this:

        cc1: error: ../intl: No such file or directory

    For example, coreutils has no "intl" directory, and I was
    unwilling to distribute (or create) an empty intl/ directory
    solely to avoid this problem.

  * The other part of that sed transformation (involving bt_regex)
    is required in order to make changes like this:

        -         < $(top_srcdir)/build-aux/unused-parameter.h \
        +         < $(top_srcdir)/._bootmp/build-aux/unused-parameter.h \

  * Perhaps most importantly, without that block, bootstrap would fail
    to update coreutils/lib/gnulib.mk to reflect changes in gnulib.



reply via email to

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