mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-12-15 06:49:57 +08:00
2ca76b52bd
instance data. (lt_user_dlloader): New lt_dlloader_data_t field. (lt_module_open_t): Add lt_dlloader_data_t parameter. (lt_module_close_t): Add lt_dlloader_data_t parameter. (lt_find_sym_t): Add lt_dlloader_data_t parameter. (lt_dlloader_exit_t): Add lt_dlloader_data_t parameter. * libltdl/ltdl.c: A sprinkling of /*ARGSUSED*/ markers to reassure lint that the unused arguments are intentional. (lt_dlloader_t): New lt_dlloader_data_t field. (lt_dlloader_data): New function to return the contents of the dlloader_data field. (sys_dl_open): Take an additional lt_dlloader_data_t argument. (sys_dl_close): Ditto. (sys_dl_sym): Ditto. (sys_dl): Initialise lt_dlloader_data_t field. (sys_shl_open, sys_shl_close, sys_shl_sym, sys_shl): As above. (sys_wll_open, sys_wll_close, sys_wll_sym, sys_wll): As above. (sys_bedl_open, sys_bedl_close, sys_bedl_sym, sys_bedl): As above. (sys_dld_open, sys_dld_close, sys_dld_sym, sys_dld): As above. (presym_init, presym_exit, presym_open, presym_close, presym_sym, presym): As above. (lt_dlinit): Call presym_init with additional argument. (lt_dlexit): Call dlloader_exit method with additional argument. (tryall_dlopen): Call module_open method with additional argument. (lt_dlclose): Call module_close method with additional argument. (lt_dlsym): Call find_sym method with additional argument. (lt_add_dlloader): Initialise dlloader_data field. (lt_remove_dlloader): Call dlloader_exit method with additional argument. |
||
---|---|---|
cdemo | ||
demo | ||
depdemo | ||
doc | ||
libltdl | ||
mdemo | ||
tests | ||
.cvsignore | ||
AUTHORS | ||
bootstrap | ||
ChangeLog | ||
ChangeLog.0 | ||
commit | ||
config.guess | ||
config.sub | ||
configure.in | ||
libtool.m4 | ||
libtoolize.in | ||
lineno | ||
ltconfig.in | ||
ltdl.m4 | ||
ltmain.c | ||
ltmain.in | ||
Makefile.am | ||
mkstamp | ||
NEWS | ||
PORTING | ||
README | ||
README-alpha | ||
THANKS | ||
TODO |
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'.