From b1d302cbe753429dce7ea0bbcc432c1242204c19 Mon Sep 17 00:00:00 2001 From: Reini Urban Date: Mon, 5 May 2008 22:34:13 +0200 Subject: -Uusedl on cygwin Message-ID: <481F5325.5090907@x-ray.at> p4raw-id: //depot/perl@33792 --- ext/Win32CORE/Makefile.PL | 12 ++++++++++++ ext/Win32CORE/Win32CORE.c | 8 +++++++- 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'ext/Win32CORE') diff --git a/ext/Win32CORE/Makefile.PL b/ext/Win32CORE/Makefile.PL index 0fec3061be..77c1f327af 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 7769c7464d..9863b5b51a 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 -- cgit v1.2.1