Re: Fix rebuilding rules of ltmain
Hi Gary, and sorry for the delay, * Gary V. Vaughan wrote on Sat, Apr 28, 2007 at 05:18:09PM CEST: On 28 Apr 2007, at 09:04, Ralf Wildenhues wrote: Repeating the above question: OK to apply? If not, then ok to revert the 2007-03-29, 2007-03-26 changes? Certainly. In light of our new found ability to build without GNU make, then applying seems better by far. Please go ahead. Thank you. Applied. Cheers, Ralf * Makefile.am (clean-ltmain-sh): Removed. (libtool, $(srcdir)/$(m4dir)/ltversion.m4) ($(srcdir)/$(auxdir)/ltmain.sh): Updated to not depend on any phony rules. Test `$?' for prerequisites that should always cause us to update the target. Fixes rebuilding rules, at the cost of sometimes updating too much with non-GNU make.
Re: Fix rebuilding rules of ltmain
Hi Gary, * Gary V. Vaughan wrote on Fri, Apr 27, 2007 at 02:46:23PM CEST: On 27 Apr 2007, at 00:01, Ralf Wildenhues wrote: OK to apply?[...] This seems to more or less work with the make implementations of Solaris 10, AIX 4.3.3, FreeBSD 6, and of course GNU. More or less meaning: the proprietary make implementations will keep rerunning autotools and config.status for a while, but eventually they will settle on something. Are we actually any better off than we were before I removed stamp-vcl? I don't know. Before you removed stamp-vcl, building would not work without GNU make at all. If this puts us back where we were to start with, then it would be better to revert the stamp-vcl removal patch if we can't find a better way to have changes to ltmain.sh picked up by make... Feel free to work on this. My allocated time for this particular issue is about expired; I can post updates to README* though, depending on the outcome of this. Repeating the above question: OK to apply? If not, then ok to revert the 2007-03-29, 2007-03-26 changes? Cheers, and thanks for the review, Ralf * Makefile.am (clean-ltmain-sh): Removed. (libtool, $(srcdir)/$(m4dir)/ltversion.m4) ($(srcdir)/$(auxdir)/ltmain.sh): Updated to not depend on any phony rules. Test `$?' for prerequisites that should always cause us to update the target. Fixes rebuilding rules, at the cost of sometimes updating too much with non-GNU make.
Re: Fix rebuilding rules of ltmain
Hallo Ralf! On 28 Apr 2007, at 09:04, Ralf Wildenhues wrote: Hi Gary, * Gary V. Vaughan wrote on Fri, Apr 27, 2007 at 02:46:23PM CEST: On 27 Apr 2007, at 00:01, Ralf Wildenhues wrote: OK to apply?[...] This seems to more or less work with the make implementations of Solaris 10, AIX 4.3.3, FreeBSD 6, and of course GNU. More or less meaning: the proprietary make implementations will keep rerunning autotools and config.status for a while, but eventually they will settle on something. Are we actually any better off than we were before I removed stamp- vcl? I don't know. Before you removed stamp-vcl, building would not work without GNU make at all. True... If this puts us back where we were to start with, then it would be better to revert the stamp-vcl removal patch if we can't find a better way to have changes to ltmain.sh picked up by make... Feel free to work on this. My allocated time for this particular issue is about expired; I can post updates to README* though, depending on the outcome of this. Repeating the above question: OK to apply? If not, then ok to revert the 2007-03-29, 2007-03-26 changes? Certainly. In light of our new found ability to build without GNU make, then applying seems better by far. Please go ahead. * Makefile.am (clean-ltmain-sh): Removed. (libtool, $(srcdir)/$(m4dir)/ltversion.m4) ($(srcdir)/$(auxdir)/ltmain.sh): Updated to not depend on any phony rules. Test `$?' for prerequisites that should always cause us to update the target. Fixes rebuilding rules, at the cost of sometimes updating too much with non-GNU make. Cheers, Gary -- ())_. Email me: [EMAIL PROTECTED] ( '/ Read my blog: http://blog.azazil.net / )= ...and my book: http://sources.redhat.com/autobook `(_~)_ Join my AGLOCO Network: http://www.agloco.com/r/BBBS7912 PGP.sig Description: This is a digitally signed message part
Re: Fix rebuilding rules of ltmain
Hallo Ralf, On 27 Apr 2007, at 00:01, Ralf Wildenhues wrote: OK to apply? With this, if only `ChangeLog' (and `configure.ac' for ltversion.in) are newer than the respective target, we avoid updating. This fixes the bug where touch $srcdir/libltdl/config/ltmain.m4sh # or edit otherwise would fail to update ltmain.sh and thus libtool. This seems to more or less work with the make implementations of Solaris 10, AIX 4.3.3, FreeBSD 6, and of course GNU. More or less meaning: the proprietary make implementations will keep rerunning autotools and config.status for a while, but eventually they will settle on something. Are we actually any better off than we were before I removed stamp-vcl? If this puts us back where we were to start with, then it would be better to revert the stamp-vcl removal patch if we can't find a better way to have changes to ltmain.sh picked up by make... 2007-04-27 Ralf Wildenhues [EMAIL PROTECTED] * Makefile.am (clean-ltmain-sh): Removed. (libtool, $(srcdir)/$(m4dir)/ltversion.m4) ($(srcdir)/$(auxdir)/ltmain.sh): Updated to not depend on any phony rules. Test `$?' for prerequisites that should always cause us to update the target. Fixes rebuilding rules, at the cost of sometimes updating too much with non-GNU make. Cheers, Gary -- ())_. Email me: [EMAIL PROTECTED] ( '/ Read my blog: http://blog.azazil.net / )= ...and my book: http://sources.redhat.com/autobook `(_~)_ Join my AGLOCO Network: http://www.agloco.com/r/BBBS7912 PGP.sig Description: This is a digitally signed message part
Fix rebuilding rules of ltmain
OK to apply? With this, if only `ChangeLog' (and `configure.ac' for ltversion.in) are newer than the respective target, we avoid updating. This fixes the bug where touch $srcdir/libltdl/config/ltmain.m4sh # or edit otherwise would fail to update ltmain.sh and thus libtool. This seems to more or less work with the make implementations of Solaris 10, AIX 4.3.3, FreeBSD 6, and of course GNU. More or less meaning: the proprietary make implementations will keep rerunning autotools and config.status for a while, but eventually they will settle on something. Cheers, Ralf 2007-04-27 Ralf Wildenhues [EMAIL PROTECTED] * Makefile.am (clean-ltmain-sh): Removed. (libtool, $(srcdir)/$(m4dir)/ltversion.m4) ($(srcdir)/$(auxdir)/ltmain.sh): Updated to not depend on any phony rules. Test `$?' for prerequisites that should always cause us to update the target. Fixes rebuilding rules, at the cost of sometimes updating too much with non-GNU make. Index: Makefile.am === RCS file: /cvsroot/libtool/libtool/Makefile.am,v retrieving revision 1.218 diff -u -r1.218 Makefile.am --- Makefile.am 26 Apr 2007 22:34:05 - 1.218 +++ Makefile.am 26 Apr 2007 23:01:31 - @@ -89,12 +89,15 @@ # We used to do this with a 'stamp-vcl' file, but non-gmake builds # would rerun configure on every invocation, so now we manually # check the version numbers from the build rule when necessary. -libtool: clean-ltmain-sh $(top_builddir)/config.status $(srcdir)/$(auxdir)/ltmain.sh ChangeLog +libtool: $(top_builddir)/config.status $(srcdir)/$(auxdir)/ltmain.sh ChangeLog @target=libtool; $(rebuild); \ if test -f $$target; then \ set dummy `./$$target --version | sed 1q`; actualver=$$5; \ test $$actualver = $$correctver rebuild=false; \ fi; \ + for prereq in $?; do \ + case $$prereq in *ChangeLog);; *) rebuild=:;; esac; \ + done; \ if $$rebuild; then \ echo $(SHELL) ./config.status $$target; \ cd $(top_builddir) $(SHELL) ./config.status $$target; \ @@ -144,15 +147,6 @@ CLEANFILES += libtool libtoolize libtoolize.tmp \ $(auxdir)/ltmain.tmp $(m4dir)/ltversion.tmp - -## We used to build ltmain.sh in the build tree, but now it is created -## in the source tree by bootstrap. This rule removes stale copies from -## previous builds left behind in the build tree, that would override the -## source tree version in current builds. -clean-ltmain-sh: - @-test $(srcdir) = $(top_builddir) || \ - rm -f $(top_builddir)/$(auxdir)/ltmain.sh stamp-vcl - ## We build ltversion.m4 here, instead of from config.status, ## because config.status is rerun each time one of configure's ## dependencies change and ltversion.m4 happens to be a configure @@ -164,13 +158,16 @@ ## Use `$(srcdir)/m4' for the benefit of non-GNU makes: this is ## how ltversion.m4 appears in our dependencies. EXTRA_DIST += $(m4dir)/ltversion.in $(srcdir)/$(m4dir)/ltversion.m4 -$(srcdir)/$(m4dir)/ltversion.m4: clean-ltmain-sh $(m4dir)/ltversion.in configure.ac ChangeLog +$(srcdir)/$(m4dir)/ltversion.m4: $(m4dir)/ltversion.in configure.ac ChangeLog @target='$(srcdir)/$(m4dir)/ltversion.m4'; $(rebuild); \ if test -f $$target; then \ set dummy `sed -n '/^# serial /p' $$target`; shift; \ actualver=1.$$3; \ test $$actualver = $$correctver rebuild=false; \ fi; \ + for prereq in $?; do \ + case $$prereq in *ChangeLog | *configure.ac);; *) rebuild=:;; esac; \ + done; \ if $$rebuild; then \ cd $(srcdir); \ rm -f $(m4dir)/ltversion.tmp; \ @@ -197,17 +194,22 @@ ## distcheck (at least) by rebuilding ltmain.sh in the source ## tree whenever config.status regenerates the Makefile. EXTRA_DIST += $(srcdir)/$(auxdir)/ltmain.sh -$(srcdir)/$(auxdir)/ltmain.sh: clean-ltmain-sh $(sh_files) $(auxdir)/ltmain.m4sh configure.ac ChangeLog +$(srcdir)/$(auxdir)/ltmain.sh: $(sh_files) $(auxdir)/ltmain.m4sh configure.ac ChangeLog @target='$(srcdir)/$(auxdir)/ltmain.sh'; $(rebuild); \ if test -f $$target; then \ eval `sed -n '/^package_revision=/p' $$target`; \ actualver=$$package_revision; \ test $$actualver = $$correctver rebuild=false; \ fi; \ + for prereq in $?; do \ + case $$prereq in *ChangeLog);; *) rebuild=:;; esac; \ + done; \ if $$rebuild; then \ cd $(srcdir); \ rm -f $(auxdir)/ltmain.in $(auxdir)/ltmain.tmp \ $(auxdir)/ltmain.sh; \ + echo $(M4SH) -B $(auxdir) $(auxdir)/ltmain.m4sh \ + \ $(auxdir)/ltmain.in; \ $(M4SH) -B $(auxdir) $(auxdir)/ltmain.m4sh \ $(auxdir)/ltmain.in; \ input=ltmain.m4sh; \