mirror of
https://review.haiku-os.org/buildtools
synced 2024-11-23 07:18:49 +01:00
130 lines
4.8 KiB
Plaintext
130 lines
4.8 KiB
Plaintext
|
GNU Libtool
|
||
|
***********
|
||
|
|
||
|
Introduction
|
||
|
============
|
||
|
|
||
|
This is GNU Libtool, a generic library support script. Libtool hides
|
||
|
the complexity of using shared libraries behind a consistent, portable
|
||
|
interface.
|
||
|
|
||
|
To use libtool, add the new generic library building commands to your
|
||
|
Makefile, Makefile.in, or Makefile.am. See the documentation for
|
||
|
details.
|
||
|
|
||
|
See the info node (libtool)Tested Platforms. (or the file
|
||
|
doc/PLATFORMS) for a list of platforms that libtool supports.
|
||
|
|
||
|
Libtool's home page is:
|
||
|
|
||
|
http://www.gnu.org/software/libtool/libtool.html
|
||
|
|
||
|
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.
|
||
|
|
||
|
Version Numbering
|
||
|
=================
|
||
|
|
||
|
Note the version numbers in the libtool-1.5.x series are a little strange,
|
||
|
the micro version (x) jumps by two on each release. The version in cvs always
|
||
|
has an odd micro version, while only released versions have even micro versions.
|
||
|
This will change again in the future. For more information about version
|
||
|
numbers see:
|
||
|
|
||
|
http://www.gnu.org/software/libtool/contribute.html
|
||
|
|
||
|
|
||
|
Reporting Bugs
|
||
|
==============
|
||
|
|
||
|
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 <libtool@gnu.org> or bug reports to <bug-libtool@gnu.org>.
|
||
|
Be sure to include the version of libtool that you are using - you can find
|
||
|
out with `./libtool --version'. Also give as much information as necessary on
|
||
|
your OS, compiler and other build tools.
|
||
|
|
||
|
|
||
|
The Test Suite
|
||
|
==============
|
||
|
|
||
|
Libtool comes with an integrated set of tests to check that your build
|
||
|
is sane. You can run the entire suite like this:
|
||
|
|
||
|
make check
|
||
|
|
||
|
The tests run in groups in the various demo subdirectories, so if one
|
||
|
of the tests early in a group FAILs, the rest of the tests in that
|
||
|
group will be SKIPPED. If you see a FAIL further into a group, even
|
||
|
if a test with the same name PASSes in another test group, you need to
|
||
|
take note of the name of the first test in the group if you want to
|
||
|
rerun the group with FAILures to get verbose output.
|
||
|
|
||
|
To run a test group in isolation (say, you think you have fixed a bug,
|
||
|
but don't want to rerun the entire suite), you can do it like this:
|
||
|
|
||
|
env TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' make check
|
||
|
|
||
|
Providing that you have a FAIL from the most recent group from a
|
||
|
particular demo directory (like the cdemo-static.test group above), you
|
||
|
can explore the state of the directory to help with debugging.
|
||
|
|
||
|
If you wish to report a test group failure to the libtool list, you
|
||
|
need to send the verbose output of the FAILing group, along with
|
||
|
information such as the host OS, compiler tools, shell etc. to the
|
||
|
bug report mailing list, <bug-libtool@gnu.org>. You can generate verbose
|
||
|
test output like this:
|
||
|
|
||
|
env VERBOSE=1 TESTS='cdemo-static.test cdemo-make.test cdemo-exec.test' \
|
||
|
make check
|
||
|
|
||
|
Alternatively, because each test is a shell script, in a non VPATH build,
|
||
|
you can simply execute the tests, they will be verbose.
|
||
|
|
||
|
Notes
|
||
|
=====
|
||
|
|
||
|
1) Some HP-UX sed programs are horribly broken, and cannot handle
|
||
|
libtool's requirements, so users may report unusual problems. There
|
||
|
is no workaround except to install a working sed (such as GNU sed) on
|
||
|
these systems.
|
||
|
|
||
|
2) The vendor-distributed NCR MP-RAS cc programs emits copyright
|
||
|
on standard error that confuse tests on size of conftest.err. The
|
||
|
workaround is to specify CC when run configure with CC='cc -Hnocopyr'.
|
||
|
|
||
|
3) Any earlier DG/UX system with ELF executables, such as R3.10 or
|
||
|
R4.10, is also likely to work, but hasn't been explicitly tested.
|
||
|
|
||
|
4) On Reliant Unix libtool has only been tested with the Siemens C-compiler
|
||
|
and an old version of gcc provided by Marco Walther.
|
||
|
|
||
|
5) libtool.m4, ltdl.m4 and the configure.ac files are marked to use
|
||
|
autoconf-mode, which is distributed with GNU Emacs 21, Autoconf itself, and
|
||
|
all recent releases of XEmacs.
|
||
|
|
||
|
6) The default shell on UNICOS 9, a ksh 88e variant, is too buggy to
|
||
|
correctly execute the libtool script. Users are advised to install a
|
||
|
modern shell such as GNU bash.
|
||
|
|
||
|
7) Note in some cases you might need to put ABI-changing compiler flags
|
||
|
into the compiler name. For example, use of
|
||
|
configure CC='gcc -m32'
|
||
|
rather than
|
||
|
configure CC=gcc CFLAGS=-m32 LDFLAGS=-m32
|
||
|
might help with this Libtool release. This will be fixed in Libtool-2.0.
|
||
|
|
||
|
8) Note that use of libltdl and a native dlopening mechanism for the
|
||
|
same module within one program is not supported. This includes modules
|
||
|
loaded through inter-module dependencies.
|
||
|
|
||
|
9) Note that newer Sun Studio Fortran compilers might need Autoconf macros
|
||
|
not yet present in 2.59 but only in CVS Autoconf.
|
||
|
|
||
|
10) Note that Sun C++ compiler versions before 5.6 may need some special
|
||
|
setup to link properly against shared versions of the C++ standard libraries.
|
||
|
See http://lists.gnu.org/archive/html/libtool/2005-08/msg00088.html for
|
||
|
more information.
|