1998-02-12 13:45:15 +08:00
|
|
|
This is GNU Libtool, a generic library support script. Libtool hides
|
1997-07-24 14:06:16 +08:00
|
|
|
the complexity of using shared libraries behind a consistent, portable
|
1997-04-02 03:18:28 +08:00
|
|
|
interface.
|
1997-04-02 02:29:23 +08:00
|
|
|
|
|
|
|
To use libtool, add the new generic library building commands to your
|
|
|
|
Makefile, Makefile.in, or Makefile.am. See the documentation for
|
|
|
|
details.
|
|
|
|
|
|
|
|
Libtool supports building static libraries on all platforms.
|
|
|
|
|
|
|
|
Shared library support has been implemented for these platforms:
|
* NEWS: updated
* README: updated (BeOS support, no longer shared libraries
support for AmigaOS), cleanups, we have now two mailing lists
* REAMDE-alpha: autogen -> bootstrap, we have now two mailing lists
* THANKS: added Xavier Pianet
* doc/PLATFORMS: BeOS works
* doc/libtool.texi: we have now to two mailing lists,
updated -dlopen self documentation, documented libltdl's license,
put each author in a separate line,
inter-library dependencies on uninstalled libtool libraries are
now supported, cleanups and minor corrections
* libltdl/COPYING.LIB: new file
* libltdl/ltdl.[ch]: added special exception to the LGPL license
* libtool.spec: removed, it was outdated
* Makefile.am: removed libtool.spec
* ltmain.in: use TMPDIR when possible, create a subdirectory
in the temporary directory, added -export-symbols-regex to the help,
1999-03-28 00:58:10 +08:00
|
|
|
AIX 3.x, 4.x (*-*-aix3*, *-*-aix4*)
|
|
|
|
BeOS (*-*-beos*)
|
|
|
|
BSD/OS 2.1, 3.x, 4.x (*-*-bsdi2.1, *-*-bsdi3*, *-*-bsdi4*)
|
2003-02-28 10:57:07 +08:00
|
|
|
Darwin 5.x, 6.x a.k.a Mac OS X (*-*-darwin*) [see note]
|
1997-04-02 03:53:01 +08:00
|
|
|
Digital/UNIX 3.x, 4.x, a.k.a. OSF/1 (*-*-osf3*, *-*-osf4*)
|
1998-11-07 12:28:37 +08:00
|
|
|
DG/UX R4.11, R4.12, R4.20 (*-*-dguxR411*, *-*-dguxR412*, *-*-dguxR420*)
|
* NEWS: updated
* README: updated (BeOS support, no longer shared libraries
support for AmigaOS), cleanups, we have now two mailing lists
* REAMDE-alpha: autogen -> bootstrap, we have now two mailing lists
* THANKS: added Xavier Pianet
* doc/PLATFORMS: BeOS works
* doc/libtool.texi: we have now to two mailing lists,
updated -dlopen self documentation, documented libltdl's license,
put each author in a separate line,
inter-library dependencies on uninstalled libtool libraries are
now supported, cleanups and minor corrections
* libltdl/COPYING.LIB: new file
* libltdl/ltdl.[ch]: added special exception to the LGPL license
* libtool.spec: removed, it was outdated
* Makefile.am: removed libtool.spec
* ltmain.in: use TMPDIR when possible, create a subdirectory
in the temporary directory, added -export-symbols-regex to the help,
1999-03-28 00:58:10 +08:00
|
|
|
FreeBSD 2.x, 3.x, 4.x (*-*-freebsd2*, *-*-freebsd3*, *-*-freebsd4*)
|
1999-06-23 23:09:28 +08:00
|
|
|
GNU Hurd (*-*-gnu*)
|
1998-03-20 15:58:42 +08:00
|
|
|
GNU/Linux ELF (*-*-linux-gnu*, except aout, coff, and oldld)
|
1998-04-15 00:29:20 +08:00
|
|
|
HP-UX 9.x, 10.x, 11.x (*-*-hpux9*, *-*-hpux10*, *-*-hpux11*) [see note]
|
1997-04-02 03:18:28 +08:00
|
|
|
IRIX 5.x, 6.x (*-*-irix5*, *-*-irix6*)
|
* configure.in (AC_CONFIG_SUBDIRS): added cdemo
* Makefile.am (DIST_SUBDIRS): ditto
(ACINCLUDE_M4_LIST): ditto
* tests/Makefile.am (TESTS): added cdemo-shared.test
* tests/cdemo-static.test: disable shared libraries here
* tests/cdemo-shared.test: disable static libraries here
* doc/libtool.texi (Test descriptions): added cdemo tests
* THANKS: added Edouard G. Parmelan
1999-01-13 Edouard G. Parmelan <Edouard.Parmelan@France.NCR.COM>
* ltmain.in: fix convenience libraries when static libraries
are disables.
* cdemo/README, cdemo/Makefile.am, cdemo/configure.in, cdemo/foo.h,
cdemo/foo1.c, cdemo/main.c, cdemo/.cvsignore, test/cdemo-conf.test,
test/cdemo-make.test, test/cdemo-exec.test, test/cdemo-static.test:
new tests for convenience libraries.
* autogen, Makefile.am, test/Makefile.am: ditto.
* ltconfig.in, doc/PLATFORMS: Added support for NCR MP-RAS
(i586-ncr-sysv4.3*) with native compiler.
* README, doc/libtool.texi: Added note for NCR MP-RAS compiler.
1999-01-13 16:28:35 +08:00
|
|
|
NCR MP-RAS 3.x (*-ncr-sysv4.3*) [see note]
|
2000-12-14 09:51:59 +08:00
|
|
|
NEWS-OS Release 6 (*-*-newsos6)
|
1999-04-10 02:47:16 +08:00
|
|
|
Motorola System V 4 (mk88-motorola-sysv4) [see note]
|
1997-04-02 02:29:23 +08:00
|
|
|
NetBSD 1.x (*-*-netbsd*)
|
1997-04-25 01:51:39 +08:00
|
|
|
OpenBSD 2.x (*-*-openbsd*)
|
1997-10-20 09:24:09 +08:00
|
|
|
OS/2 using EMX (*-*-os2*)
|
2000-12-14 10:53:45 +08:00
|
|
|
Reliant Unix (*-sni-sysv4) [see note]
|
1997-04-02 03:19:30 +08:00
|
|
|
SCO OpenServer 5.x (*-*-sco3.2v5*)
|
1998-12-05 04:32:36 +08:00
|
|
|
SCO UnixWare 7.x (*-*-sysv5*)
|
1997-04-02 03:00:38 +08:00
|
|
|
Solaris 2.x (*-*-solaris2*)
|
1997-07-09 03:53:55 +08:00
|
|
|
SunOS 4.x, a.k.a. Solaris 1.x (*-*-sunos4*)
|
1998-03-06 00:23:43 +08:00
|
|
|
UnixWare 2.x (*-*-sysv4.2uw2*)
|
1997-10-15 02:33:24 +08:00
|
|
|
UTS 4.x (*-*-uts4*)
|
1997-07-22 01:31:05 +08:00
|
|
|
All ELF targets that use both the GNU C compiler (gcc) and GNU ld
|
1997-04-02 03:00:38 +08:00
|
|
|
|
1998-05-31 03:18:08 +08:00
|
|
|
NOTE: 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.
|
1998-02-06 15:36:38 +08:00
|
|
|
|
* configure.in (AC_CONFIG_SUBDIRS): added cdemo
* Makefile.am (DIST_SUBDIRS): ditto
(ACINCLUDE_M4_LIST): ditto
* tests/Makefile.am (TESTS): added cdemo-shared.test
* tests/cdemo-static.test: disable shared libraries here
* tests/cdemo-shared.test: disable static libraries here
* doc/libtool.texi (Test descriptions): added cdemo tests
* THANKS: added Edouard G. Parmelan
1999-01-13 Edouard G. Parmelan <Edouard.Parmelan@France.NCR.COM>
* ltmain.in: fix convenience libraries when static libraries
are disables.
* cdemo/README, cdemo/Makefile.am, cdemo/configure.in, cdemo/foo.h,
cdemo/foo1.c, cdemo/main.c, cdemo/.cvsignore, test/cdemo-conf.test,
test/cdemo-make.test, test/cdemo-exec.test, test/cdemo-static.test:
new tests for convenience libraries.
* autogen, Makefile.am, test/Makefile.am: ditto.
* ltconfig.in, doc/PLATFORMS: Added support for NCR MP-RAS
(i586-ncr-sysv4.3*) with native compiler.
* README, doc/libtool.texi: Added note for NCR MP-RAS compiler.
1999-01-13 16:28:35 +08:00
|
|
|
NOTE: 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'.
|
|
|
|
|
1999-04-10 02:47:16 +08:00
|
|
|
NOTE: Due to a bug in autoconf cc isn't supported on Motorola System V 4.
|
|
|
|
You can only use gcc. This bug will hopefully be fixed in autoconf 2.14.
|
|
|
|
|
1998-11-07 12:28:37 +08:00
|
|
|
NOTE: 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.
|
|
|
|
|
2000-12-14 10:53:45 +08:00
|
|
|
NOTE: Libtool has only been tested with the Siemens C-compiler and
|
|
|
|
an old version of gcc provided by Marco Walther you can find on
|
|
|
|
ftp://ftp.mch.sni.de/sni/mr/pd/gnu/gcc/gcc.2.7.2.3 on Reliant Unix.
|
|
|
|
|
2001-06-30 06:56:50 +08:00
|
|
|
NOTE: libtool.m4, ltdl.m4 and the configure.ac files are marked to use
|
|
|
|
autoconf-mode, which is distributed with GNU Emacs 21, and all recent
|
|
|
|
releases of XEmacs.
|
|
|
|
|
2003-02-28 10:57:07 +08:00
|
|
|
NOTE: In some cases support is more limited on Darwin 5.x because of
|
|
|
|
the use of zsh as the default system shell.
|
|
|
|
|
1998-02-12 13:45:15 +08:00
|
|
|
Libtool's home page is:
|
|
|
|
|
1998-12-02 02:55:16 +08:00
|
|
|
http://www.gnu.org/software/libtool/libtool.html
|
1998-02-12 13:45:15 +08:00
|
|
|
|
1997-04-02 02:29:23 +08:00
|
|
|
See the file NEWS for a description of recent changes to libtool.
|
|
|
|
|
1997-07-09 03:53:55 +08:00
|
|
|
See the file INSTALL for instructions on how to build and install
|
|
|
|
libtool.
|
1997-04-02 03:04:40 +08:00
|
|
|
|
1997-07-09 03:53:55 +08:00
|
|
|
See the info node (libtool)Tested Platforms. (or the file
|
1998-02-12 13:45:15 +08:00
|
|
|
doc/PLATFORMS) for a list of platforms that libtool shared library
|
|
|
|
support was tested on.
|
1997-04-02 03:19:30 +08:00
|
|
|
|
1997-07-09 03:53:55 +08:00
|
|
|
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
|
* NEWS: updated
* README: updated (BeOS support, no longer shared libraries
support for AmigaOS), cleanups, we have now two mailing lists
* REAMDE-alpha: autogen -> bootstrap, we have now two mailing lists
* THANKS: added Xavier Pianet
* doc/PLATFORMS: BeOS works
* doc/libtool.texi: we have now to two mailing lists,
updated -dlopen self documentation, documented libltdl's license,
put each author in a separate line,
inter-library dependencies on uninstalled libtool libraries are
now supported, cleanups and minor corrections
* libltdl/COPYING.LIB: new file
* libltdl/ltdl.[ch]: added special exception to the LGPL license
* libtool.spec: removed, it was outdated
* Makefile.am: removed libtool.spec
* ltmain.in: use TMPDIR when possible, create a subdirectory
in the temporary directory, added -export-symbols-regex to the help,
1999-03-28 00:58:10 +08:00
|
|
|
mailing list <libtool@gnu.org> or bug reports to <bug-libtool@gnu.org>.
|
|
|
|
Don't forget to mention the version of libtool that you are currently
|
* update all copyright notices to 2000
* doc/libtool.texi (using libltdl): document new lt_dlinfo struct,
replace NULL with @code{NULL}, document lt_dlsetdata(),
lt_dlgetdata() and lt_dlgetinfo()
* libltdl/Makefile.am: increment interface version number
* libltdl/configure.in: set version number to 1.1
* libltdl/ltdl.c: make some variables public by moving them
to the info struct, add support for application specific data
within module handles, new lt_dlsetdata(), lt_dlgetdata() and
lt_dlgetinfo() functions,
fix memory leaks, minor cleanups
* libltdl/ltdl.h: ditto
* mdemo/main.c: demonstrate use of lt_dlgetinfo,
improved handling of errors
* ltconfig.in: set hardcode_into_libs = yes for GNU/Hurd, Linux
and Solaris, only hardcode *all* run-paths if hardcode_into_libs
is set to 'all', otherwise hardcode only user-specified rpaths
into libraries
* ltmain.in: minor cleanups, we don't need to add user-specified
rpaths to compile_rpath, finalize_rpath is sufficient
* ltconfig.in: transform linux* -> *linux-gnu* _after_ host_os has
been set! (reported by Bruno Haible <haible@ilog.fr>)
* configure.in: AC_SUBST reload_flag, deplibs_check_method
and file_magic_cmd
* README: use 'libtool --version' instead of 'ltconfig --version'
(suggested by Francios Pinard <pinard@iro.umontreal.ca>
2000-01-13 08:28:09 +08:00
|
|
|
using (by typing `libtool --version').
|
2000-01-15 07:40:20 +08:00
|
|
|
|
|
|
|
People have complained that they find the version numbering scheme
|
|
|
|
under which libtool is released confusing... it works like this:
|
|
|
|
|
|
|
|
<major-number>.<minor-number>
|
|
|
|
|
|
|
|
Releases with a <major-number> less than 1 were not yet feature
|
|
|
|
complete. If libtool ever undergoes a major rewrite or substantial
|
|
|
|
restructuring, the <major-number> will be incremented again. In the
|
|
|
|
mean time, whenever we make a stable release it will have its
|
|
|
|
<minor-number> incremented with respect to the previous stable
|
|
|
|
release.
|
|
|
|
|
|
|
|
So that alpha releases can be distinguished from stable releases,
|
|
|
|
we append a letter to them, starting with `a' and continuing
|
|
|
|
alphabetically:
|
|
|
|
|
|
|
|
<major-number>.<minor-number><alpha>
|
|
|
|
|
|
|
|
Since alpha releases are start with the code of a previous stable
|
|
|
|
release, the <major-number> and <minor-number> are the same as the
|
|
|
|
stable release they started with. So release `1.3a' is the first
|
|
|
|
alpha release after stable release `1.3', and so on.
|
|
|
|
|
|
|
|
To complicate matters slightly we always increment the letter in the
|
|
|
|
repository before *and* after making a release tarball. This means
|
|
|
|
that "odd" letters (a,c,e,g...) only exist in the repository, and
|
|
|
|
"even" letters are used instantaneously for an alpha release. For
|
|
|
|
example, you can tell that libtool-1.3c is an alpha release that is a
|
|
|
|
snapshot of the repository taken between official alpha releases
|
|
|
|
1.3b and 1.3d. Since the odd lettered alpha release number potentially
|
|
|
|
cover many states of the tree, we somtimes qualify such releases by
|
|
|
|
adding the cvs version of the ChangeLog:
|
|
|
|
|
|
|
|
$ libtool --version
|
|
|
|
ltmain.sh (GNU libtool) 1.3c (1.666 2000/01/14 13:50:21)
|
|
|
|
|
|
|
|
Finally, if we need to make a patch release to fix bugs in a stable
|
|
|
|
release, and the development on the trunk has made the tree unstable,
|
|
|
|
we use a third number, so:
|
|
|
|
|
|
|
|
<major-number>.<minor-number>.<patch number>
|
|
|
|
|
|
|
|
$ libtool --version
|
|
|
|
ltconfig (GNU libtool) 1.3.4 (1.385.2.196 1999/12/07 21:47:57)
|
|
|
|
|
|
|
|
There might be several patch releases to the last stable release,
|
|
|
|
and all happening concurrently with alpha releases. For example,
|
|
|
|
libtool-1.3.4 and libtool-1.3b might be available at the same time:
|
|
|
|
`1.3.4' is the fourth patch release after stable release `1.3';
|
|
|
|
`1.3b' is the first alpha release after stable release `1.3'.
|
|
|
|
|