libtool-patches
[Top][All Lists]
Advanced

[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








reply via email to

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