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)" 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> <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> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , 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/