[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: generate package.m4 correctly on fresh checkout [libtool--gary--1.0-
From: |
Ralf Wildenhues |
Subject: |
Re: generate package.m4 correctly on fresh checkout [libtool--gary--1.0--patch-1] |
Date: |
Mon, 14 Mar 2005 15:01:13 +0100 |
User-agent: |
Mutt/1.4.1i |
Hi Gary,
* Gary V. Vaughan wrote on Mon, Mar 14, 2005 at 01:09:53PM CET:
>
> Thanks for the reviews.
It took me a little because they were not obvious to me.
> Ralf Wildenhues wrote:
> >
> > I have a couple of questions and comments here: First, I'm uneasy with
> > more and more stuff being built by `bootstrap' (which should ideally be
> > empty or as small as possible). Why can't we generate testsuite from
> > `make'? (It might just be me that forgot some point here.)
>
> The golden rule is that we must not generate at configure time anything
> that we want to distribute.
*snip nice explanation*
Thank you. Yes, please apply. I propose a subsequent patch:
> > Aside, if bootstrap continues to grow (in size and importance), I think
> > it should also be made more portable. Like use of
> > : ${AUTORECONF=autoreconf}
> > : ${MAKE=make}
> >
> > env VAR1=val ... $MAKE tgts..
> >
> > What do you think?
>
> Yes, that seems like a good plan to me. I imagine that we have gotten away
> with it so far merely because people who track CVS have a full set of gnu
> utilities first in their path.
This is addressed by it. (The env trick is unnecessary since we don't
call sub-makes.) OK to apply?
> > And finally, returning to the patch: I could not reproduce the bootstrap
> > failure on linux/GNU make. Where does it fail?
>
> $ cvs -d `cat libtool-HEAD/CVS/Root` co libtool
> ...
> $ cd libtool
> $ ./bootstrap
> ...
> cd .; \
> rm -f tests/defs.in; \
> autom4te --language=m4sh -B ./config tests/defs.m4sh > tests/defs.in
> make: *** No rule to make target `testsuite'. Stop.
*blush* uh-oh.
Regards,
Ralf
* bootstrap: Allow to override tools.
--- bootstrap 2005-03-14 14:46:13.936733352 +0100
+++ bootstrap 2005-03-14 14:09:03.610794432 +0100
@@ -24,6 +24,15 @@
# better features, and configure.ac documents oldest version of each
# required for bootstrap (AC_PREREQ, and AM_INIT_AUTOMAKE).
+: ${AUTORECONF=autoreconf}
+: ${AUTOM4TE=autom4te}
+: ${MAKE=make}
+: ${GREP=grep}
+: ${EGREP=egrep}
+: ${FGREP=fgrep}
+: ${SED=sed}
+: ${LN_S='ln -s'}
+
test -f ./configure.ac || {
echo "bootstrap: can't find ./configure.ac, please rerun from top_srcdir"
exit 1
@@ -49,7 +58,7 @@
fi
# Extract the package name and version number from configure.ac:
-set dummy `sed '/AC_INIT/{s/[][,()]/ /g; p;};d' configure.ac`
+set dummy `$SED '/AC_INIT/{s/[][,()]/ /g; p;};d' configure.ac`
shift
# Whip up some dirty Makefiles:
@@ -58,7 +67,7 @@
do
test -f $dirty || {
makefiles="$makefiles $dirty"
- sed '/^if /,/^endif$/d;/^else$/,/^endif$/d' $dirty.am > $dirty
+ $SED '/^if /,/^endif$/d;/^else$/,/^endif$/d' $dirty.am > $dirty
}
done
@@ -69,22 +78,23 @@
# configure, and ltversion.m4 to generate configure in the first place:
rm -f ./config/ltmain.sh ./m4/ltversion.m4
-make ./config/ltmain.sh ./m4/ltversion.m4 ./libtoolize.in ./tests/defs.in \
+
+$MAKE ./config/ltmain.sh ./m4/ltversion.m4 ./libtoolize.in ./tests/defs.in \
srcdir=. top_srcdir=. PACKAGE="$2" VERSION="$3" \
- M4SH="autom4te --language=m4sh"
+ M4SH="$AUTOM4TE --language=m4sh"
{
- make update-package-m4 srcdir=. top_srcdir=. \
+ $MAKE update-package-m4 srcdir=. top_srcdir=. \
PACKAGE="$2" VERSION="$3" PACKAGE_BUGREPORT="address@hidden"
cd tests
- make ./testsuite AUTOTEST="autom4te --language=autotest" \
- srcdir=. top_srcdir=.. top_builddir=.. PACKAGE="$2" VERSION="$3"
+ $MAKE ./testsuite AUTOTEST="$AUTOM4TE --language=autotest" \
+ srcdir=. top_srcdir=.. PACKAGE="$2" VERSION="$3"
cd ..
}
-test -f clcommit.m4sh && make -f Makefile.maint commit \
- top_srcdir=. PACKAGE="$2" VERSION="$3" M4SH="autom4te -l m4sh" \
- SED=sed GREP=grep FGREP=fgrep EGREP=egrep LN_S="ln -s"
+test -f clcommit.m4sh && $MAKE -f Makefile.maint commit \
+ top_srcdir=. PACKAGE="$2" VERSION="$3" M4SH="$AUTOM4TE -l m4sh" \
+ SED="$SED" GREP="$GREP" FGREP="$FGREP" EGREP="${EGREP}" LN_S="$LN_S"
test -z "$makefiles" || rm -f $makefiles
@@ -103,7 +113,7 @@
export LIBTOOLIZE
for sub in $reconfdirs; do
- autoreconf --force --verbose --install $sub
+ $AUTORECONF --force --verbose --install $sub
done
# Remove our dummy libtoolize