bug-libtool
[Top][All Lists]
Advanced

[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"

reply via email to

[Prev in Thread] Current Thread [Next in Thread]