libtool-patches
[Top][All Lists]
Advanced

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

building HEAD needs GNU make


From: Ralf Wildenhues
Subject: building HEAD needs GNU make
Date: Sat, 24 Feb 2007 13:55:30 +0100
User-agent: Mutt/1.5.13 (2007-02-12)

Our convoluted build rules in HEAD's Makefile.am currently pretty much
require GNU make.  There's the odd other make implementation that will
work well, and most others will more or less work but attempt to rerun 
all autotools, do a full recheck, or two, upon each invocation.

I haven't fully analyzed this, but I'm pretty sure it's due to the stamp
updating which requires make to realize that, after it has run the rules
for some target, if its timestamp hasn't changed, it won't need to go
and update dependents.  Most make's don't have this feature IIRC.

At this point I'm not trying to fix this situation, I'd rather just
document it and live with it until someone bored comes along to fix
it.

Do you think that the following patch is ok?  It doesn't attempt to
change the generic INSTALL file.  Do you think we should rather do that
instead?  Do you think using the string `gmake' is ok/helpful/bad?

Cheers,
Ralf

2007-02-24  Ralf Wildenhues  <address@hidden>

        * README: Document the need for GNU make to build Libtool.
        Point the user to the doc/notes.txt file.  In the examples, use
        `gmake' throughout to make it more obvious.  Explain simpler way
        to run both testsuites and either one.  Referring to individual
        tests needs the `tests/' prefix.
        * README.alpha: Likewise.
        * doc/notes.texi: Likewise, document need for GNU make.
        Comment out the FreeBSD make issue for now.

Index: README
===================================================================
RCS file: /cvsroot/libtool/libtool/README,v
retrieving revision 1.26
diff -u -r1.26 README
--- README      30 Aug 2006 03:18:15 -0000      1.26
+++ README      24 Feb 2007 12:54:48 -0000
@@ -8,7 +8,7 @@
 the complexity of using shared libraries behind a consistent, portable
 interface.
 
-To use libtool, add the new generic library building commands to your
+To use Libtool, add the new generic library building commands to your
 Makefile, Makefile.in, or Makefile.am.  See the documentation for
 details.
 
@@ -16,19 +16,20 @@
 
   http://www.gnu.org/software/libtool/libtool.html
 
-See the file NEWS for a description of recent changes to libtool.
+See the file NEWS for a description of recent changes to Libtool.
 
-See the file INSTALL for instructions on how to build and install
-libtool.
+See the file INSTALL for generic instructions on how to build and install
+Libtool.  Please see the file doc/notes.txt for some platform-specific
+information.  Please note that you need GNU make to build Libtool.
 
 See the info node (libtool)Tested Platforms. (or the file
-doc/PLATFORMS) for a list of platforms that libtool supports.
+doc/PLATFORMS) for a list of platforms that Libtool supports.
 
 
 2. Reporting Bugs
 =================
 
-If you have any suggestions or bug reports, or you wish to port libtool
+If you have any suggestions or bug reports, or you wish to port Libtool
 to a new platform, please send electronic mail to the libtool mailing
 list <address@hidden> or bug reports to <address@hidden>.  Be sure
 to send us your information from the end of the help message given by
@@ -41,8 +42,15 @@
 Libtool comes with two integrated sets of tests to check that your build
 is sane.  You can run both test suites like this:
 
-  make check TESTSUITEFLAGS=-V
-  make check-local
+  gmake -k check
+
+If you want to run the old testsuite only, do it like this:
+
+  gmake check TESTSUITEFLAGS=-V
+
+If you want to run the new testsuite only, do it like this:
+
+  gmake check-local
 
 The tests of the old test suite run in groups in the various demo
 subdirectories, so if one of the tests early in a group FAILs, the rest
@@ -55,8 +63,9 @@
 you have fixed a bug, but don't want to rerun the entire suite), you can
 do it like this:
 
-  make check TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' \
-            TESTSUITEFLAGS=-V
+  gmake check TESTS="tests/cdemo-static.test tests/cdemo-make.test \
+                     tests/cdemo-exec.test" \
+              TESTSUITEFLAGS=-V
 
 Providing that you have a FAIL from the most recent group from a
 particular demo directory (like the cdemo-static.test group above), you
@@ -69,8 +78,8 @@
 includes the string `[TEST FAILURE]'.  From a Bourne compatible shell,
 you can generate verbose test output like this:
 
-  VERBOSE=yes make check \
-  TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' \
+  VERBOSE=yes gmake check \
+  TESTS="tests/cdemo-static.test tests/cdemo-make.test tests/cdemo-exec.test" \
   TESTSUITEFLAGS=-V | tee cdemo-static-group.log
 
 In order to enable debug shell tracing, use VERBOSE=debug instead of
@@ -84,7 +93,7 @@
 
 but simple help may also be obtained through
 
-  make check-local TESTSUITEFLAGS='--help'
+  gmake check-local TESTSUITEFLAGS='--help'
 
 For verbose output, add the flag `-v', for running only a subset of the
 independent tests, merely specify them by number or by keyword, both of
Index: README.alpha
===================================================================
RCS file: /cvsroot/libtool/libtool/README.alpha,v
retrieving revision 1.10
diff -u -r1.10 README.alpha
--- README.alpha        30 Aug 2006 03:18:15 -0000      1.10
+++ README.alpha        24 Feb 2007 12:54:48 -0000
@@ -8,7 +8,11 @@
 the platforms you have access to.  Using it more or less implicitly
 signs you up to help us find whatever problems you report.
 
-If it builds and passes the test suite (`make check'), please send
+See the file INSTALL for generic instructions on how to build and install
+Libtool.  Please see the file doc/notes.txt for some platform-specific
+information.  Please note that you need GNU make to build Libtool.
+
+If it builds and passes the test suite (`gmake check'), please send
 notification to the libtool mailing list <address@hidden> with a
 subject line including the string `[PLATFORM]'.
 
@@ -44,8 +48,15 @@
 Libtool comes with two integrated sets of tests to check that your build
 is sane.  You can run both test suites like this:
 
-  make check TESTSUITEFLAGS=-V
-  make check-local
+  gmake -k check
+
+If you want to run the old testsuite only, do it like this:
+
+  gmake check TESTSUITEFLAGS=-V
+
+If you want to run the new testsuite only, do it like this:
+
+  gmake check-local
 
 The tests of the old test suite run in groups in the various demo
 subdirectories, so if one of the tests early in a group FAILs, the rest
@@ -58,8 +69,9 @@
 you have fixed a bug, but don't want to rerun the entire suite), you can
 do it like this:
 
-  make check TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' \
-            TESTSUITEFLAGS=-V
+  gmake check TESTS="tests/cdemo-static.test tests/cdemo-make.test \
+                     tests/cdemo-exec.test" \
+             TESTSUITEFLAGS=-V
 
 Providing that you have a FAIL from the most recent group from a
 particular demo directory (like the cdemo-static.test group above), you
@@ -72,8 +84,8 @@
 includes the string `[TEST FAILURE]'.  From a Bourne compatible shell,
 you can generate verbose test output like this:
 
-  VERBOSE=yes make check \
-  TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' \
+  VERBOSE=yes gmake check \
+  TESTS="tests/cdemo-static.test tests/cdemo-make.test tests/cdemo-exec.test" \
   TESTSUITEFLAGS=-V | tee cdemo-static-group.log
 
 In order to enable debug shell tracing, use VERBOSE=debug instead of
@@ -87,7 +99,7 @@
 
 but simple help may also be obtained through
 
-  make check-local TESTSUITEFLAGS='--help'
+  gmake check-local TESTSUITEFLAGS='--help'
 
 For verbose output, add the flag `-v', for running only a subset of the
 independent tests, merely specify them by number or by keyword, both of
Index: doc/notes.texi
===================================================================
RCS file: /cvsroot/libtool/libtool/doc/notes.texi,v
retrieving revision 1.2
diff -u -r1.2 notes.texi
--- doc/notes.texi      24 Feb 2007 08:46:19 -0000      1.2
+++ doc/notes.texi      24 Feb 2007 12:54:48 -0000
@@ -1,6 +1,9 @@
 @itemize
 
 @item
+You currently need GNU make to build the Libtool package itself.
+
address@hidden
 On AIX there are two different styles of shared linking, one in which symbols
 are bound at link-time and one in which symbols are bound at runtime only,
 similar to address@hidden  In case of doubt use @code{LDFLAGS=-Wl,-brtl} for 
the latter style.
@@ -16,10 +19,10 @@
 10.3 or later at @command{configure} time.  See @url{rdar://problem/4135857}
 for more information on this issue.
 
address@hidden
-FreeBSD @command{make} does not conform to @sc{posix} in its handling
-of file modification times, which causes it to loop while building libtool.
-Consider using a different @command{such} as GNU make instead.
address@hidden @item
address@hidden FreeBSD @command{make} does not conform to @sc{posix} in its 
handling
address@hidden of file modification times, which causes it to loop while 
building libtool.
address@hidden Consider using a different @command{such} as GNU make instead.
 
 @item
 The default shell on UNICOS 9, a ksh 88e variant, is too buggy to




reply via email to

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