libtool-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Libtool branch, master, updated. v2.2.10-207-g09142ea


From: Peter Rosin
Subject: [SCM] GNU Libtool branch, master, updated. v2.2.10-207-g09142ea
Date: Tue, 21 Sep 2010 19:40:37 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Libtool".

The branch, master has been updated
       via  09142eaeda3b3055653afc302fe871740d65d5c7 (commit)
      from  830f33846e796d5094e9f055f48877a0e35ea9bd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 09142eaeda3b3055653afc302fe871740d65d5c7
Author: Peter Rosin <address@hidden>
Date:   Tue Sep 21 20:31:37 2010 +0200

    msvc: eliminate spaces in the library search path.
    
    * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin]
    <cl*, sys_lib_search_path_spec>: The LIB path variable telling
    where MSVC looks for libraries is likely to contain directory
    names with spaces.  Convert those directory names to the short
    8.3 DOS form (i.e. without spaces) when storing them in
    sys_lib_search_path_spec, as that is a space separated variable.
    
    Signed-off-by: Peter Rosin <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog             |   10 ++++++++++
 libltdl/m4/libtool.m4 |   47 ++++++++++++++++++++++++++++++++++++++---------
 2 files changed, 48 insertions(+), 9 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f3dee40..e011a9e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2010-09-21  Peter Rosin  <address@hidden>
+
+       msvc: eliminate spaces in the library search path.
+       * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin]
+       <cl*, sys_lib_search_path_spec>: The LIB path variable telling
+       where MSVC looks for libraries is likely to contain directory
+       names with spaces.  Convert those directory names to the short
+       8.3 DOS form (i.e. without spaces) when storing them in
+       sys_lib_search_path_spec, as that is a space separated variable.
+
 2010-09-21  Ralf Wildenhues  <address@hidden>
 
        Revert to per-language libpath computation on AIX.
diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index 2aee398..a048b1f 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -2321,15 +2321,44 @@ m4_if([$1], [],[
     libname_spec='$name'
     soname_spec='${libname}`echo ${release} | $SED -e 
's/[[.]]/-/g'`${versuffix}${shared_ext}'
     library_names_spec='${libname}.dll.lib'
-    sys_lib_search_path_spec="$LIB"
-    if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; 
then
-      # It is most probably a Windows format PATH.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 
's/;/ /g'`
-    else
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 
"s/$PATH_SEPARATOR/ /g"`
-    fi
-    # FIXME: find the short name or the path components, as spaces are
-    # common. (e.g. "Program Files" -> "PROGRA~1")
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do 
@echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 
's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos 
"$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix 
"$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec="$LIB"
+      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; 
then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 
's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 
"s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
     postinstall_cmds='base_file=`basename \${file}`~
       dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo 
\$dlname'\''`~


hooks/post-receive
-- 
GNU Libtool



reply via email to

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