libtool-patches
[Top][All Lists]
Advanced

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

Re: MSVC: For MSVC, embed the manifest as a resource in the executable.


From: Peter Rosin
Subject: Re: MSVC: For MSVC, embed the manifest as a resource in the executable.
Date: Fri, 02 Jul 2010 08:31:42 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.10) Gecko/20100512 Thunderbird/3.0.5

Hi again,

Den 2010-07-01 22:30 skrev Peter Rosin:
Den 2010-06-26 22:42 skrev Ralf Wildenhues:
* Peter Rosin wrote on Fri, Jun 25, 2010 at 12:20:53AM CEST:
I know that I haven't addressed the exeext comment
in your other reply, but I don't know what you want me to do. Please
advise further...

Step 0 would be using
case ... in
*.exe | *.EXE ) ...

because nobody mixes case. Step 1 (optional) would be having a variable
in ltmain which contains exeext-normalized value (i.e., either always
with, or always without the extension), so you don't have to put the
case in the tag code. Step 2: IIUC then this particular .EXE can only
come from some makefile(.am) author using upper-case .EXE *in* the file.
Slap that author. ;-)

It turns out that "*.exe | *.EXE)" doesn't work.

*snip*

Hmmm, "*.exe|*.EXE)" also works. But as I said, it seems
awfully fragile to rely on spaces not being present...

Ouch, for C++ there's a typi and the expression is "*.exe *.EXE)" (the
or is missing). Since it is also painful to eliminate bogus testsuite
failures when juggling further MSVC patches, I'm pushing a trivial fix.
Sorry if I'm being too impatient...

And sorry for not catching this before I pushed the original patch.

Cheers,
Peter

2010-07-02  Peter Rosin  <address@hidden>

        Don't trigger file name expansion when embedding manifests.
        * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
        [ cygwin, mingw, cegcc ] <cl*>: Remove all spaces in the
        case statement of postlink_cmds to make file name expansion
        more unlikely.
        (_LT_LANG_CXX_CONFIG): Likewise, but also add the missing |.

diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index 89785c1..8475d4b 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -4880,7 +4880,7 @@ _LT_EOF
        _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
        _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
          case $lt_outputfile in
-           *.exe | *.EXE) ;;
+           *.exe|*.EXE) ;;
            *) lt_outputfile="$lt_outputfile.exe" ;;
          esac~
          if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; 
then
@@ -5868,7 +5868,7 @@ if test "$_lt_caught_CXX_error" != yes; then
          _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
          _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
            case $lt_outputfile in
-             *.exe *.EXE) ;;
+             *.exe|*.EXE) ;;
              *) lt_outputfile="$lt_outputfile.exe" ;;
            esac~
            if test "$MANIFEST_TOOL" != ":" && test -f 
"$lt_outputfile.manifest"; then



reply via email to

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