Go to file
Gary V. Vaughan f802484346 * NEWS: updated.
* doc/libtool.texi (Libltdl interface): Moved user defined module
loader documentation from here...
(Module loaders for libltdl) ...to here, and updated the text and
added examples.
* ltdl.m4 (AC_CHECK_FUNCS): check strcmp for lt_find_dlloader.
* libltdl/ltdl.h: Reformatted and commented for readability.
(struct lt_user_dlloader): New data type for passing
initialisation pointers to lt_add_dlloader.
(LTDL_ERROR_INVALID_LOADER):  New error message when non loader
handles are passed to the user loader API.
(LTDL_ERROR_INIT_LOADER): New error when loader initialisation
fails.
(LTDL_ERROR_REMOVE_LOADER): New error when loader removal fails.
(lt_module_open_t): renamed from lt_lib_open_t.
(lt_module_close_t): renamed from lt_lib_close_t.
(lt_dlloader_exit_t): renamed from lt_dlloader_exit_t.
* libltdl/ltdl.c: Reordered builtin loaders so that the "dld"
loader no longer occurs before "dlopen" on some platforms and
after it on others.
(lt_dlloader_t): Moved here from ltdl.h, added a field,
"loader_name", for identifying the loader, and renamed from
lt_dltype_t.  Renamed type variables to loader IFF of type
lt_dlloader_t.
(lt_module_t): Renamed from lt_syshandle. Renamed handle variables
to module IFF of type lt_module_t.
(LTDL_TYPE_TOP): Deleted.  No longer required.
(sys_dl): Initialised as a struct lt_user_dlloader.
(sys_dl_init): Deleted.  No longer required.
(sys_dl_exit): Ditto.
(sys_shl): Initialised as a struct lt_user_dlloader.
(sys_shl_init): Deleted.  No longer required.
(sys_shl_exit): Ditto.
(sys_wll): Initialised as a struct lt_user_dlloader.
(sys_wll_init): Deleted.  No longer required.
(sys_wll_exit): Ditto.
(sys_bedl): Initialised as a struct lt_user_dlloader.
(sys_bedl_init): Deleted.  No longer required.
(sys_bedl_exit): Ditto.
(sys_dld): Initialised as a struct lt_user_dlloader.
(sys_dld_init): Deleted.  No longer required.
(sys_dld_exit): Ditto.
(sys_presym): Initialised as a struct lt_user_dlloader.
(lt_mod_init_t): Moved to here from ltdl.h.
(lt_dlinit): Add builtin loaders using the user loader API.
(lt_dlexit): Unregister and free all loaders.
(lt_add_dlloader): New function to add a new module loader after the
loader specified in the argument.
(lt_remove_dlloader): New function to remove a module loader.
(lt_next_dlloader): New function for iterating over module loaders.
(lt_dlloader_name): Accessor function for name of dlloader.
(lt_find_dlloader): New function to get a reference to a registered
module loader.
(strcmp): static implementation incase the host has none.
(lt_dlgettypes, lt_dlsettypes): Removed.
2000-02-02 22:43:14 +00:00
cdemo * ltmain.in: rewrite of the ILD code, merge linking code for 2000-01-19 20:34:37 +00:00
demo * ltmain.in: rewrite of the ILD code, merge linking code for 2000-01-19 20:34:37 +00:00
depdemo * ltmain.in: rewrite of the ILD code, merge linking code for 2000-01-19 20:34:37 +00:00
doc * NEWS: updated. 2000-02-02 22:43:14 +00:00
libltdl * NEWS: updated. 2000-02-02 22:43:14 +00:00
mail * libtool.m4: Third time lucky, with Tor's patch. 1999-10-28 20:18:15 +00:00
mdemo * ltmain.in: rewrite of the ILD code, merge linking code for 2000-01-19 20:34:37 +00:00
tests * ltmain.in: rewrite of the ILD code, merge linking code for 2000-01-19 20:34:37 +00:00
.cvsignore added acinclude.m4 1999-03-14 05:43:03 +00:00
AUTHORS * NEWS: updated 1999-05-22 18:04:32 +00:00
bootstrap * update all copyright notices to 2000 2000-01-13 00:28:09 +00:00
ChangeLog * NEWS: updated. 2000-02-02 22:43:14 +00:00
ChangeLog.0 started new ChangeLog 1999-03-16 16:54:48 +00:00
commit
config.guess * config.guess: Synch with GNU common. 1999-05-26 00:06:10 +00:00
config.sub * NEWS: updated 1999-05-22 18:04:32 +00:00
configure.in * libtool,m4 (AC_LIBTOOL_SETUP): The result of lt_cv_need_dllmain 2000-01-14 12:14:41 +00:00
libtool.m4 * libtool.m4 (lt_cv_cc_needs_belf): Set the test language to C 2000-01-31 00:15:31 +00:00
libtoolize.in * ltmain.in: rewrite of the ILD code, merge linking code for 2000-01-19 20:34:37 +00:00
lineno * update all copyright notices to 2000 2000-01-13 00:28:09 +00:00
ltconfig.in * ltmain.in: support -dlopen/dlpreopen for libraries 2000-02-01 16:43:34 +00:00
ltdl.m4 * NEWS: updated. 2000-02-02 22:43:14 +00:00
ltmain.c * ltmain.in: rewrite of the ILD code, merge linking code for 2000-01-19 20:34:37 +00:00
ltmain.in * ltmain.in: support -dlopen/dlpreopen for libraries 2000-02-01 16:43:34 +00:00
Makefile.am * ltdl.m4: Renamed from... 1999-12-16 11:40:16 +00:00
mkstamp * ltmain.in: rewrite of the ILD code, merge linking code for 2000-01-19 20:34:37 +00:00
NEWS * NEWS: updated. 2000-02-02 22:43:14 +00:00
PORTING
README * README: Some notes about libtool release numbers. 2000-01-14 23:40:20 +00:00
README-alpha Moved CVS to subversions.gnu.org 1999-12-08 10:53:40 +00:00
THANKS * NEWS: updated 1999-11-02 12:33:05 +00:00
TODO * ltmain.in: support -dlopen/dlpreopen for libraries 2000-02-01 16:43:34 +00:00

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.

Libtool supports building static libraries on all platforms.

Shared library support has been implemented for these platforms:
  AIX 3.x, 4.x (*-*-aix3*, *-*-aix4*)
  BeOS (*-*-beos*)
  BSD/OS 2.1, 3.x, 4.x (*-*-bsdi2.1, *-*-bsdi3*, *-*-bsdi4*)
  Digital/UNIX 3.x, 4.x, a.k.a. OSF/1 (*-*-osf3*, *-*-osf4*)
  DG/UX R4.11, R4.12, R4.20 (*-*-dguxR411*, *-*-dguxR412*, *-*-dguxR420*)
  FreeBSD 2.x, 3.x, 4.x (*-*-freebsd2*, *-*-freebsd3*, *-*-freebsd4*)
  GNU Hurd (*-*-gnu*)
  GNU/Linux ELF (*-*-linux-gnu*, except aout, coff, and oldld)
  HP-UX 9.x, 10.x, 11.x (*-*-hpux9*, *-*-hpux10*, *-*-hpux11*) [see note]
  IRIX 5.x, 6.x (*-*-irix5*, *-*-irix6*)
  NCR MP-RAS 3.x (*-ncr-sysv4.3*) [see note]
  Motorola System V 4 (mk88-motorola-sysv4) [see note]
  NetBSD 1.x (*-*-netbsd*)
  OpenBSD 2.x (*-*-openbsd*)
  OS/2 using EMX (*-*-os2*)
  SCO OpenServer 5.x (*-*-sco3.2v5*)
  SCO UnixWare 7.x (*-*-sysv5*)
  Solaris 2.x (*-*-solaris2*)
  SunOS 4.x, a.k.a. Solaris 1.x  (*-*-sunos4*)
  UnixWare 2.x (*-*-sysv4.2uw2*)
  UTS 4.x (*-*-uts4*)
  All ELF targets that use both the GNU C compiler (gcc) and GNU ld

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.

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'.

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.

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.

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.

See the info node (libtool)Tested Platforms. (or the file
doc/PLATFORMS) for a list of platforms that libtool shared library
support was tested on.

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>.
Don't forget to mention the version of libtool that you are currently
using (by typing `libtool --version').

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'.