From 458a451208037261f3bd758496cb821490c25657 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Sun, 17 Jan 1999 04:21:52 +0000 Subject: [PATCH] * ltconfig.in (need_lib_prefix, need_version, deplibs_check_method): default to unknown, so that we're remembered that this needs porting; unknown is interpreted as yes, yes and none, respectively (freebsd2*, freebsd3*, sunos4*, need_version): set to yes (freebsd2*, freebsd3*, library_names_spec): libraries without a version number are not used by `ld'; add $versuffix; Reported by Ben Jackson * ltmain.in (deplibs_check_method): alias unknown to none (need_version): if vinfo was not provided and release info was, zero out versuffix only if we don't need_version. * doc/libtool.texi: document what `unknown' means --- ChangeLog | 13 +++++++++++++ doc/libtool.texi | 23 ++++++++++++++++------- ltconfig.in | 11 +++++++---- ltmain.in | 13 ++++++------- 4 files changed, 42 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index c84c541a2..d8ef9b630 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,18 @@ 1999-01-17 Alexandre Oliva + * ltconfig.in (need_lib_prefix, need_version, + deplibs_check_method): default to unknown, so that we're + remembered that this needs porting; unknown is interpreted as yes, + yes and none, respectively + (freebsd2*, freebsd3*, sunos4*, need_version): set to yes + (freebsd2*, freebsd3*, library_names_spec): libraries without a + version number are not used by `ld'; add $versuffix; + Reported by Ben Jackson + * ltmain.in (deplibs_check_method): alias unknown to none + (need_version): if vinfo was not provided and release info was, + zero out versuffix only if we don't need_version. + * doc/libtool.texi: document what `unknown' means + * libltdl/ltdl.h (lt_dlpreopen_default): reverted to a macro without arguments, that calls lt_dlpreopen_default_ with lt_dlpreloaded_symbols diff --git a/doc/libtool.texi b/doc/libtool.texi index 45b09f88e..8a6ef47af 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -2875,11 +2875,16 @@ it the way the current code does. @item none @vindex none -is the default for all systems unless overridden in @file{ltconfig.in} -(Currently, linux-elf is the only system that overrides.) It causes -deplibs to be reassigned deplibs="". That way @samp{archive_cmds} can -contain deplibs on all platforms, but not have deplibs used unless -needed. +It causes deplibs to be reassigned deplibs="". That way +@samp{archive_cmds} can contain deplibs on all platforms, but not have +deplibs used unless needed. + +@item unkwnon +@vindex unknown +is the default for all systems unless overridden in @file{ltconfig.in}. +It is the same as @samp{none}, but it documents that we really don't +know what the correct value should be, and we welcome patches that +improve it. @end table Then in @file{ltmain.in} we have the real workhorse: a litle @@ -3201,12 +3206,16 @@ linking. @defvar need_lib_prefix Whether libtool should automatically prefix module names with 'lib'. -Set to @samp{yes} or @samp{no}. +Set to @samp{yes} or @samp{no}. By default, it is @samp{unknown}, which +means the same as @samp{yes}, but documents that we are not really sure +about it. @end defvar @defvar need_version Whether versioning is required for libraries. -Set to @samp{yes} or @samp{no}. +Set to @samp{yes} or @samp{no}. By default, it is @samp{unknown}, which +means the same as @samp{yes}, but documents that we are not really sure +about it. @end defvar @defvar no_builtin_flag diff --git a/ltconfig.in b/ltconfig.in index 8b6681a4c..f9160ec8a 100755 --- a/ltconfig.in +++ b/ltconfig.in @@ -996,8 +996,8 @@ echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c allow_undefined_flag= no_undefined_flag= -need_lib_prefix=yes -need_version=yes +need_lib_prefix=unknown +need_version=unknown archive_cmds= archive_sym_cmds= old_archive_from_new_cmds= @@ -1590,10 +1590,11 @@ version_type=none dynamic_linker="$host_os ld.so" sys_lib_search_path="/lib /usr/lib /usr/local/lib" file_magic_command= -deplibs_check_method='none' +deplibs_check_method='unkwnon' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't known. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_regex' -- check by looking for filenames that look like the shared @@ -1664,9 +1665,10 @@ cygwin32* | mingw32*) freebsd2* | freebsd3*) objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat - library_names_spec='${libname}${release}.so$versuffix $libname.so' + library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' finish_cmds='PATH="$PATH:/sbin" OBJFORMAT="$objformat" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH + need_version=yes ;; gnu*) @@ -1793,6 +1795,7 @@ sunos4*) library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH + need_version=yes ;; sysv4.2uw2* | sysv4.3*) diff --git a/ltmain.in b/ltmain.in index 28e255d53..1388ba680 100644 --- a/ltmain.in +++ b/ltmain.in @@ -1241,7 +1241,7 @@ compiler." $echo "$help" 1>&2 exit 1 fi - if test "$need_lib_prefix" = yes; then + if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` eval libname=\"$libname_spec\" @@ -1425,13 +1425,12 @@ compiler." # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= - versuffix= verstring="0.0" - case "$host" in - *-*-sunos*) + if test "$need_version" = no; then + versuffix= + else versuffix=".0.0" - ;; - esac + fi fi # Remove version info from name if versioning should be avoided @@ -1641,7 +1640,7 @@ EOF fi done # Gone through all deplibs. ;; - none | *) deplibs="" ;; + none | unknown | *) deplibs="" ;; esac versuffix=$versuffix_save major=$major_save -- 2.47.2