[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
libtool 1.4.2 bug on solaris
From: |
Jonathan Sergent |
Subject: |
libtool 1.4.2 bug on solaris |
Date: |
Thu, 13 Dec 2001 01:55:15 -0800 (PST) |
Some of the test commands in ltmain.in are broken. They are missing quotes
around arguments which are sometimes empty strings (i.e. test $foo = no),
leading to commands like "test = no". bash probably is smart about these
commands and does the equivalent of test "$foo" = no, but Bourne Shell
equivalents will not do this, such as /bin/sh on Solaris. I wouldn't be
surprised if ash has the same problem.
This might not be the right way to fix it, but something needs to be done about
it, because libtool 1.4.2 doesn't work as shipped on Solaris.
Sorry if this is a duplicate or out-of-date bug report. I attached a diff that
I used to work around the problem.
--
Jonathan Sergent / address@hidden
--- libtool-1.4.2.orig/ltmain.in Mon Sep 10 16:40:18 2001
+++ libtool-1.4.2/ltmain.in Tue Dec 11 23:32:28 2001
@@ -465,11 +465,11 @@
case $host_os in
cygwin* | mingw* | pw32* | os2*)
pic_mode=default
;;
esac
- if test $pic_mode = no && test "$deplibs_check_method" != pass_all; then
+ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
# non-PIC code in shared libraries is not supported
pic_mode=default
fi
# Calculate the filename of the output object if compiler does
@@ -1692,11 +1692,11 @@
if test -n "$library_names" &&
{ test "$prefer_static_libs" = no || test -z "$old_library"; }; then
# Link against this shared library
if test "$linkmode,$pass" = "prog,link" ||
- { test $linkmode = lib && test $hardcode_into_libs = yes; }; then
+ { test $linkmode = lib && test "$hardcode_into_libs" = yes; }; then
# Hardcode the library path.
# Skip directories that are in the system default run-time
# search path.
case " $sys_lib_dlsearch_path " in
*" $absdir "*) ;;
@@ -1955,11 +1955,11 @@
fi
fi # link shared/static library?
if test $linkmode = lib; then
if test -n "$dependency_libs" &&
- { test $hardcode_into_libs != yes || test $build_old_libs = yes ||
+ { test "$hardcode_into_libs" != yes || test $build_old_libs = yes
||
test $link_static = yes; }; then
# Extract -R from dependency_libs
temp_deplibs=
for libdir in $dependency_libs; do
case $libdir in
@@ -2401,11 +2401,11 @@
case "$finalize_rpath " in
*" $libdir "*) ;;
*) finalize_rpath="$finalize_rpath $libdir" ;;
esac
done
- if test $hardcode_into_libs != yes || test $build_old_libs = yes; then
+ if test "$hardcode_into_libs" != yes || test $build_old_libs = yes; then
dependency_libs="$temp_xrpath $dependency_libs"
fi
fi
# Make sure dlfiles contains only unique files that won't be dlpreopened
@@ -2444,11 +2444,11 @@
*-*-openbsd*)
# Do not include libc due to us having libc/libc_r.
;;
*)
# Add libc to deplibs on all other systems if necessary.
- if test $build_libtool_need_lc = "yes"; then
+ if test "$build_libtool_need_lc" = "yes"; then
deplibs="$deplibs -lc"
fi
;;
esac
fi
@@ -2717,11 +2717,11 @@
old_library=
dlname=
# Test again, we may have decided not to build it any more
if test "$build_libtool_libs" = yes; then
- if test $hardcode_into_libs = yes; then
+ if test "$hardcode_into_libs" = yes; then
# Hardcode the library paths
hardcode_libdirs=
dep_rpath=
rpath="$finalize_rpath"
test "$mode" != relink && rpath="$compile_rpath$rpath"
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- libtool 1.4.2 bug on solaris,
Jonathan Sergent <=