diff options
author | hubertf <hubertf> | 2000-12-06 17:12:32 +0000 |
---|---|---|
committer | hubertf <hubertf> | 2000-12-06 17:12:32 +0000 |
commit | 7ddd90dfca2536e2d5ffa4bb1f62f1e77e1bd62d (patch) | |
tree | d35a7f8a04d4c218a09710a9a877eb11a14c87d1 | |
parent | b69ffd31022f2ef847e4ca202497d7c6fb659ecb (diff) | |
download | pkgsrc-7ddd90dfca2536e2d5ffa4bb1f62f1e77e1bd62d.tar.gz |
Add some information to lighten up the recent libtool confusion:
* When compiling a shared lib, always include -version-info x:y (even if
x, y are 0). PLIST gets .la and libfoo.so.x.y entries.
* ONLY when compiling a shared object (that's later opened with dlopen(3),
NOT a shared lib, use -module -avoid-version. PLIST only gets the foo.so
entry.
-rw-r--r-- | Packages.txt | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/Packages.txt b/Packages.txt index 72bd3e09aa9..711bd427bf6 100644 --- a/Packages.txt +++ b/Packages.txt @@ -1,4 +1,4 @@ -# $NetBSD: Packages.txt,v 1.124 2000/11/02 03:03:39 wiz Exp $ +# $NetBSD: Packages.txt,v 1.125 2000/12/06 17:12:32 hubertf Exp $ ########################################################################### ========================== @@ -909,9 +909,15 @@ Here's how to use libtool in a pkg in six simple steps: Note that the library is changed to have a .la extension, and the objects are changed to have a .lo extension. Change OBJS as necessary. This automatically creates all of the .a, .so.major.minor, and ELF - symlinks (if necessary) in the build directory. + symlinks (if necessary) in the build directory. Be sure to include + the -version-info esp. when major and minor are zero, as libtool will + strip off the shared library version else. -4. When linking programs that depend on these libraries _before_ they are +4. When linking shared object (.so) files, i.e. files that are loaded via + dlopen(3), NOT shared libraries, use "-module -avoid-version" to prevent + them getting version tacked on. + +5. When linking programs that depend on these libraries _before_ they are installed, preface the cc or ld line with "${LIBTOOL} --mode=link", and it will find the correct libraries (static or shared), but please be aware that libtool will not allow you to specify a relative path in -L @@ -931,7 +937,7 @@ Here's how to use libtool in a pkg in six simple steps: ${CC} -o someprog -L../somelib/.libs -lsomelib -5. When installing libraries, preface the install or cp command with +6. When installing libraries, preface the install or cp command with "${LIBTOOL} --mode=install", and change the library name to .la. For example: @@ -940,7 +946,7 @@ Here's how to use libtool in a pkg in six simple steps: This will install the static .a, shared library, any needed symlinks, and run "ldconfig." -6. In your PLIST, include the .a, .la, and .so.major.minor files. Don't +7. In your PLIST, include the .a, .la, and .so.major.minor files. Don't include the ELF symlink files (.so.major, .so); those are added automatic. |