diff options
author | Pavel Raiskup <praiskup@redhat.com> | 2014-12-11 21:49:19 +0000 |
---|---|---|
committer | Gary V. Vaughan <gary@gnu.org> | 2014-12-11 23:06:09 +0000 |
commit | 08279564ff4143059f3f728f9401b5d541f0bd1e (patch) | |
tree | 61adeecf7c701ec8df08c6a5c42eb6bf770039e9 /doc | |
parent | 663f9192417ce9defbdf5aa0c9f3b2dc08c9256d (diff) | |
download | libtool-08279564ff4143059f3f728f9401b5d541f0bd1e.tar.gz |
libtool: support LT_SYS_LIBRARY_PATH for adjusting bad guesses.
Revert 8728e07 and 440fee6.
Some GNU/Linux distributions install libraries into /lib64 (or
/usr/lib64) on 64-bit machines, while /lib (/usr/lib
respectively) stays for multilib variant. Other distributions
keep /usr/lib for 64-bit variant and reserve other directory for
multilib. Detection of what approach a given system uses is
difficult, however, especially because Glibc's ldconfig does not
report the full and correct list of search paths. Allow the user
to adjust Libtools heuristically determined search paths with
the new LT_SYS_LIBRARY_PATH environment variable at both
compile-time, when libtool is called, and at configure time.
* m4/libtool.m4 (_LT_PREPARE_MUNGE_PATH_LIST): Define a new
function to munge a libtool path list according to a user
supplied colon-delimited path.
(_LT_SYS_DYNAMIC_LINKER): Require _LT_PREPARE_MUNGE_PATH_LIST.
Mark LT_SYS_LIBRARY_PATH as precious to autoconf (to survive
automatic "autoreconf").
Call the new func_munge_path_list function on
sys_lib_dlsearch_path_spec - this propagates results to
generated libtool script.
(_LT_CONFIG): Expand _LT_PREPARE_MUNGE_PATH_LIST into generated
libtool script.
* build-aux/ltmain.in (func_mode_link): Call it to adjust
sys_lib_dlsearch_path according to LT_SYS_LIBRARY_PATH.
* doc/libtool.texi: Document new LT_SYS_LIBRARY_PATH.
* doc/notes.texi: Likewise.
* NEWS: Update.
References: http://thread.gmane.org/gmane.comp.gnu.libtool.general/8339/focus=8345
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/libtool.texi | 21 | ||||
-rw-r--r-- | doc/notes.texi | 15 |
2 files changed, 28 insertions, 8 deletions
diff --git a/doc/libtool.texi b/doc/libtool.texi index 90aeb8ff..06322259 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -2419,6 +2419,27 @@ Program to use rather than checking for @command{mt}, the Manifest Tool. Only used on Cygwin/MS-Windows at the moment. @end defvar +@defvar LT_SYS_LIBRARY_PATH +Libtool has heuristics for the system search path for runtime-loaded +libraries. If the guessed default does not match the setup of the host +system, this variable can be used to modify that path list, as follows +(@code{LT_SYS_LIBRARY_PATH} is a colon-delimited list like @code{PATH}): +@itemize @bullet +@item @code{path:} +The heuristically determined paths will be appened after the trailing +colon; +@item @code{:path} +The heuristically determined paths will be prepended before the leading +colon; +@item @code{path::path} +The heuristically determined paths will be inserted between the double +colons; +@item @code{path} +With no dangling colons, the heuristically determined paths will be +ignored entirely. +@end itemize +@end defvar + With 1.3 era libtool, if you wanted to know any details of what libtool had discovered about your architecture and environment, you had to run the script with @option{--config} and grep through the diff --git a/doc/notes.texi b/doc/notes.texi index a99bbbd6..1fa8a0b9 100644 --- a/doc/notes.texi +++ b/doc/notes.texi @@ -68,13 +68,12 @@ to use autoconf-mode, which is distributed with GNU Emacs 21, Autoconf itself, and all recent releases of XEmacs. @item -When building on some GNU/Linux systems for multilib targets -@command{libtool} sometimes guesses the wrong paths that the linker -and dynamic linker search by default. If this occurs, you may override -libtool's guesses at @command{configure} time by setting the -@command{autoconf} cache variables -@code{lt_cv_sys_lib_search_path_spec} and -@code{lt_cv_sys_lib_dlsearch_path_spec} respectively to the correct search -paths. +When building on some GNU/Linux systems for multilib targets @command{libtool} +sometimes guesses the wrong paths that the linker and dynamic linker search by +default. If this occurs for the dynamic library path, you may use the +@code{LT_SYS_LIBRARY_PATH} environment variable to adjust. Otherwise, at +@command{configure} time you may override libtool's guesses by setting the +@command{autoconf} cache variables @code{lt_cv_sys_lib_search_path_spec} and +@code{lt_cv_sys_lib_dlsearch_path_spec} respectively. @end itemize |