From: Reini Urban Date: Mon, 5 May 2008 20:34:13 +0000 (+0200) Subject: -Uusedl on cygwin X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=b1d302cbe753429dce7ea0bbcc432c1242204c19;p=p5sagit%2Fp5-mst-13.2.git -Uusedl on cygwin Message-ID: <481F5325.5090907@x-ray.at> p4raw-id: //depot/perl@33792 --- diff --git a/ext/Win32CORE/Makefile.PL b/ext/Win32CORE/Makefile.PL index 0fec306..77c1f32 100644 --- a/ext/Win32CORE/Makefile.PL +++ b/ext/Win32CORE/Makefile.PL @@ -4,3 +4,15 @@ WriteMakefile( 'NAME' => 'Win32CORE', 'VERSION_FROM' => 'Win32CORE.pm', ); + +# undef USEIMPORTLIB for static compilation +sub MY::cflags { + package MY; # so that "SUPER" works right + my ($self, $libperl)=@_; + return '' unless $self->needs_linking(); + my $base = $self->SUPER::cflags($libperl); + if ($self->{LINKTYPE} eq 'static') { + $base =~ s/CCFLAGS =(.*)$/CCFLAGS =\1 -UUSEIMPORTLIB /m; + } + return $base; +} diff --git a/ext/Win32CORE/Win32CORE.c b/ext/Win32CORE/Win32CORE.c index 7769c74..9863b5b 100644 --- a/ext/Win32CORE/Win32CORE.c +++ b/ext/Win32CORE/Win32CORE.c @@ -10,7 +10,13 @@ #define WIN32_LEAN_AND_MEAN #include +#if defined(__CYGWIN__) && !defined(USEIMPORTLIB) + #undef WIN32 +#endif #include "EXTERN.h" +#if defined(__CYGWIN__) && !defined(USEIMPORTLIB) + #define EXTCONST extern const +#endif #include "perl.h" #include "XSUB.h" @@ -62,7 +68,7 @@ XS(boot_Win32CORE) * should never be called though, as Win32CORE.pm doesn't use DynaLoader. */ } -#ifdef __CYGWIN__ +#if defined(__CYGWIN__) && defined(USEIMPORTLIB) __declspec(dllexport) #endif void