libtool-patches
[Top][All Lists]
Advanced

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

"Link option thorough search test" on MSYS/MSVC


From: Peter Rosin
Subject: "Link option thorough search test" on MSYS/MSVC
Date: Wed, 21 Jan 2009 01:03:37 +0100
User-agent: Thunderbird 2.0.0.19 (Windows/20081209)

Hi!

This patch together with [1] will make the "Link option thorough
search test" pass on MSYS/MSVC using the pr-msvc-support branch.
This patch makes manifest embedding and cl command files work
when facing POSIX /absolute/path/names that MSYS fails to convert
to win32 paths due to prefixes of the arguments (prefixes in
these cases are -outputresource: and @).

Cheers,
Peter

[1] http://lists.gnu.org/archive/html/libtool-patches/2009-01/msg00090.html

2009-01-21  Peter Rosin  <address@hidden

        Convert POSIX paths with prefixes to host format for MSYS/MSVC
        * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
        [mingw] <cl>: Make sure the -outputresource: path for the
        manifest tool is in Win32 format. Same for the MSVC command file
        containing the exports.
diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index e886d3d..c8a46eb 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -4770,7 +4778,8 @@ _LT_EOF
          else
            sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < 
$export_symbols > $output_objdir/$soname.exp;
          fi~
-         $CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs 
@$output_objdir/$soname.exp -link -DLL~
+         func_to_host_path "$output_objdir/$soname.exp"~
+         $CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs 
@$func_to_host_path_result -link -DLL~
          linknames='
        # The linker will not automatically build a static lib if we build a 
DLL.
        # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
@@ -4787,6 +4796,8 @@ _LT_EOF
        _LT_TAGVAR(compile_tag, $1)=-TC
        _LT_TAGVAR(dashl_xform, $1)='s/\(.*\)/\1.lib/'
        _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+         func_to_host_path "$lt_outputfile"~
+         lt_outputfile=$func_to_host_path_result~
          case "$lt_outputfile" in
            *.[[eE][xX][eE]]) ;;
            *) lt_outputfile="$lt_outputfile.exe" ;;
@@ -5783,7 +5794,8 @@ if test "$_lt_caught_CXX_error" != yes; then
            else
              $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < 
$export_symbols > $output_objdir/$soname.exp;
            fi~
-           $CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs 
@$output_objdir/$soname.exp -link -DLL~
+           func_to_host_path "$output_objdir/$soname.exp"~
+           $CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs 
@$func_to_host_path_result -link -DLL~
            linknames='
          # The linker will not automatically build a static lib if we build a 
DLL.
          # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
@@ -5799,6 +5811,8 @@ if test "$_lt_caught_CXX_error" != yes; then
          _LT_TAGVAR(compile_tag, $1)=-TP
          _LT_TAGVAR(dashl_xform, $1)='s/\(.*\)/\1.lib/'
          _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+           func_to_host_path "$lt_outputfile"~
+           lt_outputfile=$func_to_host_path_result~
            case "$lt_outputfile" in
              *.[[eE][xX][eE]]) ;;
              *) lt_outputfile="$lt_outputfile.exe" ;;

reply via email to

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