openbsd-ports/devel/libtool/patches/patch-ltmain_in
matthieu 1bab282b57 Do not revert the list of libraries in the generated .la file.
This used to be needed but with the current libtool it breaks
the library order in some cases (including xenocara) for static
only archictectures.
ok naddy@.
2009-08-23 15:01:32 +00:00

186 lines
6.9 KiB
Plaintext

$OpenBSD: patch-ltmain_in,v 1.28 2009/08/23 15:01:32 matthieu Exp $
--- ltmain.in.orig Fri Feb 1 17:12:00 2008
+++ ltmain.in Sun Apr 5 17:25:48 2009
@@ -1651,6 +1651,7 @@ EOF
compiler_flags="$compiler_flags $arg"
compile_command="$compile_command $arg"
finalize_command="$finalize_command $arg"
+ deplibs="$deplibs $arg"
continue
;;
@@ -2153,6 +2154,7 @@ EOF
finalize_deplibs="$deplib $finalize_deplibs"
else
compiler_flags="$compiler_flags $deplib"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
fi
continue
;;
@@ -2392,20 +2394,20 @@ EOF
# It is a libtool convenience library, so add in its objects.
convenience="$convenience $ladir/$objdir/$old_library"
old_convenience="$old_convenience $ladir/$objdir/$old_library"
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
elif test "$linkmode" != prog && test "$linkmode" != lib; then
$echo "$modename: \`$lib' is not a convenience library" 1>&2
exit $EXIT_FAILURE
fi
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if test "X$duplicate_deps" = "Xyes" ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done
continue
fi # $pass = conv
@@ -2602,7 +2604,7 @@ EOF
{ test "$use_static_libs" = no || test -z "$old_library"; }; then
if test "$installed" = no; then
notinst_deplibs="$notinst_deplibs $lib"
- need_relink=yes
+ test -z "$DESTDIR" && need_relink=yes
fi
# This is a shared library
@@ -2801,7 +2803,7 @@ EOF
add_dir=
add=
# Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes; then
+ if test "$hardcode_direct" = yes && test -f $libdir/$linklib; then
add="$libdir/$linklib"
elif test "$hardcode_minus_L" = yes; then
add_dir="-L$libdir"
@@ -3431,6 +3433,20 @@ EOF
major=
versuffix=
verstring=""
+ else
+ # XXX
+ tmp=`echo $libname|sed -e 's,+,_,g' -e 's,-,_,g' -e 's,\.,_,g'`
+ eval tmp2=\$${tmp}_ltversion
+ if ! test -z "${SHARED_LIBS_LOG}"; then
+ if ! test -f ${SHARED_LIBS_LOG}; then
+ echo "# SHARED_LIBS+= <libname> <obsd version> # <orig version>" >${SHARED_LIBS_LOG}
+ fi
+ tmp4=`echo $libname|sed -e 's/^lib//'`
+ printf "SHARED_LIBS +=\t%-20s %-8s # %s\n" "$tmp4" "$tmp2" "$versuffix" >>${SHARED_LIBS_LOG}
+ fi
+ if test -n "$versuffix" && test -n "$tmp2"; then
+ versuffix=".$tmp2"
+ fi
fi
# Check to see if the archive will have undefined symbols.
@@ -5886,6 +5902,10 @@ relink_command=\"$relink_command\""
esac
install_prog="$install_prog $arg"
done
+ case " $install_prog " in
+ *[\\\ /]cp\ *) extra_mode=;;
+ *) extra_mode='-m 644';;
+ esac
if test -z "$install_prog"; then
$echo "$modename: you must specify an install program" 1>&2
@@ -6040,8 +6060,8 @@ relink_command=\"$relink_command\""
test -n "$relink_command" && srcname="$realname"T
# Install the shared library and build the symlinks.
- $show "$install_prog $dir/$srcname $destdir/$realname"
- $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
+ $show "$install_prog $extra_mode $dir/$srcname $destdir/$realname"
+ $run eval "$install_prog $extra_mode $dir/$srcname $destdir/$realname" || exit $?
if test -n "$stripme" && test -n "$striplib"; then
$show "$striplib $destdir/$realname"
$run eval "$striplib $destdir/$realname" || exit $?
@@ -6086,8 +6106,8 @@ relink_command=\"$relink_command\""
# 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 $?
+ $show "$install_prog $extra_mode $instname $destdir/$name"
+ $run eval "$install_prog $extra_mode $instname $destdir/$name" || exit $?
# Maybe install the static library, too.
test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
@@ -6122,8 +6142,8 @@ relink_command=\"$relink_command\""
# Install the libtool object if requested.
if test -n "$destfile"; then
- $show "$install_prog $file $destfile"
- $run eval "$install_prog $file $destfile" || exit $?
+ $show "$install_prog $extra_mode $file $destfile"
+ $run eval "$install_prog $extra_mode $file $destfile" || exit $?
fi
# Install the old object if enabled.
@@ -6131,8 +6151,8 @@ relink_command=\"$relink_command\""
# Deduce the name of the old-style object file.
staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
- $show "$install_prog $staticobj $staticdest"
- $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+ $show "$install_prog $extra_mode $staticobj $staticdest"
+ $run eval "$install_prog $extra_mode \$staticobj \$staticdest" || exit $?
fi
exit $EXIT_SUCCESS
;;
@@ -6346,40 +6366,6 @@ relink_command=\"$relink_command\""
# Exit here if they wanted silent mode.
test "$show" = : && exit $EXIT_SUCCESS
- $echo "X----------------------------------------------------------------------" | $Xsed
- $echo "Libraries have been installed in:"
- for libdir in $libdirs; do
- $echo " $libdir"
- done
- $echo
- $echo "If you ever happen to want to link against installed libraries"
- $echo "in a given directory, LIBDIR, you must either use libtool, and"
- $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
- $echo "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- $echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
- $echo " during execution"
- fi
- if test -n "$runpath_var"; then
- $echo " - add LIBDIR to the \`$runpath_var' environment variable"
- $echo " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- $echo " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- $echo " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- $echo
- $echo "See any operating system documentation about shared libraries for"
- $echo "more information, such as the ld(1) and ld.so(8) manual pages."
- $echo "X----------------------------------------------------------------------" | $Xsed
exit $EXIT_SUCCESS
;;