use strict; use warnings; use ExtUtils::MakeMaker; unless ($^O eq "MSWin32" || $^O eq "cygwin") { die "OS unsupported\n"; } my %param = ( NAME => 'Win32::Shortcut', VERSION_FROM => 'Shortcut.pm', XS => { 'Shortcut.xs' => 'Shortcut.cpp' }, ); $param{NO_META} = 1 if eval "$ExtUtils::MakeMaker::VERSION" >= 6.10_03; $param{LIBS} = ['-L/lib/w32api -lole32 -luuid'] if $^O eq "cygwin"; WriteMakefile(%param); sub MY::xs_c { ' .xs.cpp: $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs >xstmp.c && $(MV) xstmp.c $*.cpp '; }