in reply to Re: Makefile.PL and *.exe.manifest
in thread Makefile.PL and *.exe.manifest

Thanks for the quick reply xdg. (I can't believe how quickly you came up with that!! Are you sure you waited until I hit the 'Create' button :-)

I like to have 'make clean' clean up everything and I was a little concerned that adding the 3 '*.exe.manifest' files to $options{clean} would result in warnings when 'make clean' was run on platforms where those .exe.manifest files had not been built. However, afaict, I need not have worried - on the perl builds that I've so far tested, 'make clean' seems to silently ignore any directive to clean up any files that don't exist.

I groaned at the thought of having to do something like:
if($Config{cc} eq 'cl' && $cl_version >= $some_critical_value) {$options{clean} = 'check.exe comp.exe version.e +xe check.exe.manifest comp.exe.manifest version.exe.manifest} else {$options{clean} = 'check.exe comp.exe version.exe'}
especially given that I don't know how to assign the appropriate value to $some_critical_value :-)

Thanks for the pointer(s)

Btw, the simple test case I tried was as follows:
C:\_32>type try.c #include <stdio.h> int main() { printf("Whatever ...\n"); } C:\_32>type Makefile.PL use ExtUtils::MakeMaker; system("cl try.c");
Running 'perl Makefile.PL' failed to create 'try.exe.manifest'. <sarcasm>And they accuse Microsoft Windows of being arcane !!!</sarcasm>

Cheers,
Rob
Update: And ++ to cdarke also for the link provided. Unfortunately, I'm unable to make use of the info provided there. This is generally the case re any info provided at a web page that begins "http://msdn...". (That's probably my inadequacy ... certainly not the fault of cdarke.)
Update: I now realise that 'cl try.c' does not result in the creation of 'try.exe.manifest', but 'cl /MD try.c' does result in the creation of 'try.exe.manifest'. (In the Makefile.PL that created the .exe.manifest files, the /MD switch was being used.)

Replies are listed 'Best First'.
Re^3: Makefile.PL and *.exe.manifest
by xdg (Monsignor) on Mar 21, 2007 at 14:28 UTC
    Thanks for the quick reply xdg. (I can't believe how quickly you came up with that!! Are you sure you waited until I hit the 'Create' button :-)

    I just spent some time yesterday trolling through MSDN and some books on Safari trying to resolve problems with 'undefined reference' messages compiling Data::Alias on Strawberry. I came across .exe.manifest in one of my Google searches so it was fresh in my mind.

    And if anyone can make sense of these 'undefined reference' problems, please let me know:

    -xdg

    Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.