libtool-patches
[Top][All Lists]
Advanced

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

Re: [PATCH 6/6] Simplify and improve safety of bootstrap process.


From: Gary V. Vaughan
Subject: Re: [PATCH 6/6] Simplify and improve safety of bootstrap process.
Date: Wed, 1 Sep 2010 09:42:52 +0700

On 1 Sep 2010, at 01:16, Ralf Wildenhues wrote:
> This is a fairly nice cleanup that I think is valuable to redo without
> the other rejected patches.  Please resubmit with nit below addressed,
> and I will approve it then after looking over once more.

Well, since it has zero impact on user-facing code, and because I was
far too optimistic already about cherry-picking and reordering patches
from another branch with significant reorganization without redoing
the time consuming testing from scratch... I'll wait until after the
release and resubmit then along with the rest of that series where it
has all been tested properly.

> * Gary V. Vaughan wrote on Tue, Aug 31, 2010 at 08:43:20AM CEST:
>> --- a/Makefile.am
>> +++ b/Makefile.am
> 
>> +## Document the make macros that are needed to build bootstrap-deps
>> +## dependencies when called from `bootstrap' (developer's machine),
>> +## where the Makefile.am is fed to make in its raw format before
>> +## `configure' has found the correct values (on the build machine).
>> +bootstrap_files = \
>> +    $(auxdir)/ltmain.sh \
>> +    $(m4dir)/ltversion.m4 \
>> +    libltdl/Makefile.am
>> +
>> +.PHONY: bootstrap-deps bootstrap-deps-prep
>> +bootstrap-deps: bootstrap-deps-prep $(bootstrap_files)
>> +bootstrap-deps-prep:
>> +## The following variables are substituted by `bootstrap-dep-preps'
>> +    @test -n "$(srcdir)" \
>> +       || echo "ERROR: don't call $(MAKE) with srcdir unset."
>> +    @test -n "$(M4SH)" \
>> +        || echo "ERROR: don't call $(MAKE) with M4SH unset."
>> +    @test -n "$(PACKAGE)" \
>> +        || echo "ERROR: don't call $(MAKE) with PACKAGE unset."
>> +    @test -n "$(PACKAGE_BUGREPORT)" \
>> +        || echo "ERROR: don't call $(MAKE) with PACKAGE_BUGREPORT unset."
>> +    @test -n "$(PACKAGE_NAME)" \
>> +        || echo "ERROR: don't call $(MAKE) with PACKAGE_NAME unset."
>> +    @test -n "$(PACKAGE_URL)" \
>> +        || echo "ERROR: don't call $(MAKE) with PACKAGE_URL unset."
>> +    @test -n "$(SED)" \
>> +        || echo "ERROR: don't call $(MAKE) with SED unset."
>> +    @test -n "$(VERSION)" \
>> +        || echo "ERROR: don't call $(MAKE) with VERSION unset."
>> +    rm -f $(bootstrap_files)
> 
> It would be nice if this rule would actually error out (i.e., have
> nonzero exit status) if any of the variables were unset.

Agreed.

>> -test -f clcommit.m4sh && $MAKE -f Makefile.maint ./commit \
>> -    srcdir=. top_srcdir=. PACKAGE="$package" VERSION="$version" \
>> -    M4SH="$AUTOM4TE -l m4sh" \
>> -    SED="$SED" GREP="$GREP" FGREP="$FGREP" EGREP="$EGREP" LN_S="$LN_S"
>> +func_show_eval "$MAKE bootstrap-deps  \
>> +M4SH='$AUTOM4TE --language=m4sh' PACKAGE='$package' \
>> +PACKAGE_BUGREPORT='$package_bugreport' PACKAGE_NAME='$package_name' \
>> +PACKAGE_URL='$package_url' SED='$SED' srcdir=. VERSION='$version'"
> 
> For bootstrap, the func_show_eval from the rejected patch is probably
> gotten just as easily by just 'set -x'; besides the fact that using eval
> on this string is wrong.

I was under the impression that the following were equivalent (with the
former removing the opportunity for two near copies of the same complex
invocation to get out of sync):

func_show_eval "$MAKE bootstrap-deps M4SH='$AUTOM4TE --language=m4sh' ...."

and:

echo "$MAKE bootstrap-deps M4SH='$AUTOM4TE --language=m4sh' ..."
$MAKE bootstrap-deps M4SH='$AUTOM4TE --language=m4sh' ..."

What am I missing?

Cheers,
-- 
Gary V. Vaughan (address@hidden)

Attachment: PGP.sig
Description: This is a digitally signed message part


reply via email to

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