--- ltmain.sh.orig Fri Jul 2 09:02:40 1999 +++ ltmain.sh Wed Sep 15 00:00:38 1999 @@ -54,7 +54,7 @@ # Constants. PROGRAM=ltmain.sh PACKAGE=libtool -VERSION=1.3.3 +VERSION=1.3.3-freebsd-ports TIMESTAMP=" (1.385.2.181 1999/07/02 15:49:11)" default_mode= @@ -946,7 +946,11 @@ continue ;; release) - release="-$arg" + if test "$release_suffix" = all; then + release="$arg" + elif test "$release_suffix" = yes; then + release="-$arg" + fi prev= continue ;; @@ -999,6 +1003,7 @@ ;; -avoid-version) + build_old_libs=no avoid_version=yes continue ;; @@ -1085,6 +1090,10 @@ deplibs="$deplibs $arg" ;; + -?thread) + deplibs="$deplibs $arg" + ;; + -module) module=yes continue @@ -1162,7 +1171,7 @@ *.o | *.obj | *.a | *.lib) # A standard object. - objs="$objs $arg" + libobjs="$libobjs $arg" ;; *.lo) @@ -1789,6 +1798,9 @@ *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*) # these systems don't actually have a c library (as such)! ;; + *-*-freebsd*) + # FreeBSD doesn't need this... + ;; *) # Add libc to deplibs on all other systems. deplibs="$deplibs -lc" @@ -1796,6 +1808,94 @@ esac fi + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$compile_rpath " in + *" $libdir "*) ;; + *) compile_rpath="$compile_rpath $libdir" ;; + esac + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + # Create the output directory, or remove our outputs if we need to. if test -d $output_objdir; then $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*" @@ -1811,7 +1911,11 @@ # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" + if test "$release_suffix" = all; then + oldlibs="$oldlibs $output_objdir/$libname$release.$libext" + else + oldlibs="$oldlibs $output_objdir/$libname.$libext" + fi # Transform .lo files to .o files. oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` @@ -2005,7 +2109,11 @@ echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" + if test "$release_suffix" = all; then + oldlibs="$output_objdir/$libname$release.$libext" + else + oldlibs="$output_objdir/$libname.$libext" + fi build_libtool_libs=module build_old_libs=yes else @@ -3026,7 +3134,11 @@ case "$output" in *.la) old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" + if test "$release_suffix" = all; then + test "$build_old_libs" = yes && old_library="$libname$release.$libext" + else + test "$build_old_libs" = yes && old_library="$libname.$libext" + fi $show "creating $output" if test -n "$xrpath"; then @@ -3315,10 +3427,12 @@ fi # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - instname="$dir/$name"i - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? + if test "$install_ltlibs" = yes; then + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + fi # Maybe install the static library, too. test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" @@ -3407,7 +3521,6 @@ fi libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`" if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 finalize=no fi done