[Top][All Lists]
[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