delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/06/18/11:57:08

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00,SPF_PASS
X-Spam-Check-By: sourceware.org
Message-ID: <4A3A63C5.1030403@users.sourceforge.net>
Date: Thu, 18 Jun 2009 10:56:53 -0500
From: "Yaakov (Cygwin/X)" <yselkowitz AT users DOT sourceforge DOT net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1b3pre) Gecko/20090223 Thunderbird/3.0b2
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: UAC .manifest files
References: <4A25FA67 DOT 4050805 AT users DOT sourceforge DOT net> <20090603081102 DOT GI23519 AT calimero DOT vinschen DOT de> <h074af$kjd$1 AT ger DOT gmane DOT org> <20090604082551 DOT GB29270 AT calimero DOT vinschen DOT de> <20090604113038 DOT GF21472 AT trikaliotis DOT net> <4A27C9DA DOT 5020609 AT cwilson DOT fastmail DOT fm> <4A27E612 DOT 2030400 AT users DOT sourceforge DOT net> <4A27F23C DOT 50508 AT gmail DOT com>
In-Reply-To: <4A27F23C.50508@gmail.com>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On 04/06/2009 11:11, Dave Korn wrote:
>    Sounds like a job for libtool, not automake. :)

Unfortunately, it looks like that's not a joke after all.

Look at func_mode_link (omitting some lines for clarity):

   *cygwin* | *mingw* )
     cwrappersource="$output_path/$objdir/lt-$output_name.c"
     cwrapper="$output_path/$output_name.exe"
     $RM $cwrappersource $cwrapper

     func_emit_cwrapperexe_src > $cwrappersource
     $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
     $STRIP $cwrapper

     $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result

IOW, the cwrapper source is created and built, then the cwrapper is run 
to create the ltwrapper ($objdir/${output_name}_ltshwrapper).  But if 
the target .exe has one of those names that trigger UAC, the last step 
fails and the ltwrapper is empty.  So not only can you not run the 
program in-place, but worse, during install, the cwrapper is installed 
instead of the real program, which obviously isn't very helpful.

So yes, in order for libtool to work with UAC, libtool needs to generate 
a .manifest for both the $cwrapper in the $output_path (*before* the 
lt-dump-script call) AND the real program in $objdir, so that running 
in-place works.  Whether it's libtool's responsibility to *install* the 
latter is debatable.

Since I already have a libtool patch pending, I'll see if I can fix this 
as well.

Chuck, any thoughts?


Yaakov

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019