From 1af5b7b833f2249ee3345bc6e7ec81f3742affdf Mon Sep 17 00:00:00 2001 From: Pav Lucistnik Date: Sat, 17 Jun 2006 14:38:53 +0000 Subject: [PATCH] - Update Shared Libraries section with new USE_LDCONFIG variables --- .../books/porters-handbook/book.sgml | 27 +++++++------------ 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/en_US.ISO8859-1/books/porters-handbook/book.sgml b/en_US.ISO8859-1/books/porters-handbook/book.sgml index 871aadb47d..07825bdba6 100644 --- a/en_US.ISO8859-1/books/porters-handbook/book.sgml +++ b/en_US.ISO8859-1/books/porters-handbook/book.sgml @@ -3945,7 +3945,7 @@ PORTVERSION= 1.0 Shared Libraries If your port installs one or more shared libraries, define a - INSTALLS_SHLIB make variable, which will instruct + USE_LDCONFIG make variable, which will instruct a bsd.port.mk to run ${LDCONFIG} -m on the directory where the new library is installed (usually @@ -3960,9 +3960,11 @@ PORTVERSION= 1.0 de-installation will not cause the system to still believe the library is there. - If you need, you can override the default location where the new - library is installed by defining the LDCONFIG_DIRS - make variable, which should contain a list of directories into which + USE_LDCONFIG= yes + + If you need, you can override the default directory + by setting the USE_LDCONFIG + value to a list of directories into which shared libraries are to be installed. For example if your port installs shared libraries into PREFIX/lib/foo and @@ -3970,13 +3972,9 @@ PORTVERSION= 1.0 you could use the following in your Makefile: - INSTALLS_SHLIB= yes -LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar + USE_LDCONFIG= ${PREFIX}/lib/foo ${PREFIX}/lib/bar - Remember that non-standard directories will not be passed to - &man.ldconfig.8; on (re-)boot! If any port really - needs this to work, install a startup-script as - x11/kdelibs3 does. Please + Please double-check, often this is not necessary at all or can be avoided through -rpath or setting LD_RUN_PATH during linking (see lang/moscow_ml @@ -3984,13 +3982,8 @@ LDCONFIG_DIRS= %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar LD_LIBRARY_PATH before invoking the binary, like www/mozilla does. - Note that content of LDCONFIG_DIRS is passed - through &man.sed.1; just like the rest of pkg-plist, - so PLIST_SUB substitutions also apply here. It is - recommended that you use %%PREFIX%% for - PREFIX, %%LOCALBASE%% for - LOCALBASE and %%X11BASE%% for - X11BASE. + When installing 32-bit libraries on 64-bit system, use + USE_LDCONFIG32 instead. Try to keep shared library version numbers in the libfoo.so.0 format. Our runtime linker only