Re: Fix rebuilding rules of ltmain

2007-05-01 Thread Ralf Wildenhues
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

2007-04-28 Thread Ralf Wildenhues
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

2007-04-28 Thread Gary V. Vaughan

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

2007-04-27 Thread Gary V. Vaughan

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

2007-04-26 Thread Ralf Wildenhues
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; \