From 65b329ad926e58bc554a2e7b0f437521c09b01ef Mon Sep 17 00:00:00 2001 From: Alexandr Ciornii Date: Fri, 5 Feb 2016 22:09:30 +0200 Subject: [PATCH 1/4] find path to header files on Windows --- Makefile.PL | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile.PL b/Makefile.PL index ef95797..c2bc1e6 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -70,6 +70,7 @@ my @check = qw(/usr/include /usr/local/include /opt/local/include); unshift @check, split /:/, $ENV{INCLUDE}; if ( $^O =~ /Win32/i ) { + push @check, $Config{incpath}; push @check, '../libjpeg-turbo-1.1.1'; push @check, '../lpng143'; push @check, '../giflib-4.1.6/lib'; @@ -98,7 +99,8 @@ for my $incdir ( $jpeg_inc, @check ) { push @LIBS, '-ljpeg'; } - if ( $^O =~ /Win32/i ) { + if ( $^O =~ /Win32/i && -e catfile($incdir, 'build', 'jconfig.h')) { + #Strawberry 5.14.0 has version in jpeglib.h only, jconfig.h is in strawberry\c\include\ $JPEG_VERSION = _re_find( catfile($incdir, 'build', 'jconfig.h'), qr/JPEG_LIB_VERSION\s+(\d+)/ ) || 'unknown'; } else { From ea97981f4b33f6e3551eb12d9202e7e4f5fa8085 Mon Sep 17 00:00:00 2001 From: Alexandr Ciornii Date: Sat, 6 Feb 2016 01:57:59 +0200 Subject: [PATCH 2/4] fixes for libraries bundled with Strawberry --- Makefile.PL | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Makefile.PL b/Makefile.PL index c2bc1e6..f90bf59 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -69,11 +69,14 @@ my @check = qw(/usr/include /usr/local/include /opt/local/include); # Check in environment-supplied locations before standard ones unshift @check, split /:/, $ENV{INCLUDE}; +my $libjpeg_local_windows = '../libjpeg-turbo-1.1.1'; +my $libpng_local_windows = '../lpng143'; +my $giflib_local_windows = '../giflib-4.1.6/lib'; if ( $^O =~ /Win32/i ) { push @check, $Config{incpath}; - push @check, '../libjpeg-turbo-1.1.1'; - push @check, '../lpng143'; - push @check, '../giflib-4.1.6/lib'; + push @check, $libjpeg_local_windows; + push @check, $libpng_local_windows; + push @check, $giflib_local_windows; } # Look for libjpeg @@ -227,17 +230,17 @@ print "\n"; if ( $^O =~ /Win32/i ) { *MY::postamble = sub {}; - if ($JPEG) { + if ($JPEG && $jpeg_inc eq $libjpeg_local_windows) { push @INC, '-I../libjpeg-turbo-1.1.1/build'; # for jconfig.h $MYEXTLIB .= '../libjpeg-turbo-1.1.1/build/jpeg-static.lib '; } - if ($PNG) { + if ($PNG && $png_inc eq $libpng_local_windows) { push @INC, '-I../zlib'; $MYEXTLIB .= '../lpng143/libpng.lib ../zlib/zlib.lib '; } - if ($GIF) { + if ($GIF && $gif_inc ne $giflib_local_windows) { $MYEXTLIB .= '../giflib-4.1.6/windows/Release/giflib.lib '; } } From 907298025bf01cd82a6ad5602ac6798fa73f2ef7 Mon Sep 17 00:00:00 2001 From: Alexandr Ciornii Date: Sat, 6 Feb 2016 01:58:33 +0200 Subject: [PATCH 3/4] NO_XSLOCKS for Strawberry --- Scale.xs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Scale.xs b/Scale.xs index 9bded9a..e63a7fe 100644 --- a/Scale.xs +++ b/Scale.xs @@ -1,4 +1,4 @@ -#ifdef _MSC_VER +#if defined(_MSC_VER) || defined(__MINGW32__) #define NO_XSLOCKS // Needed to avoid PerlProc_setjmp/PerlProc_longjmp unresolved symbols #endif From 1d6be0d6c29641ca924fefa879e6942826d4467a Mon Sep 17 00:00:00 2001 From: Alexandr Ciornii Date: Sat, 6 Feb 2016 03:18:26 +0200 Subject: [PATCH 4/4] correct check for giflib path --- Makefile.PL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.PL b/Makefile.PL index f90bf59..fd2ddce 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -240,7 +240,7 @@ if ( $^O =~ /Win32/i ) { $MYEXTLIB .= '../lpng143/libpng.lib ../zlib/zlib.lib '; } - if ($GIF && $gif_inc ne $giflib_local_windows) { + if ($GIF && $gif_inc eq $giflib_local_windows) { $MYEXTLIB .= '../giflib-4.1.6/windows/Release/giflib.lib '; } }