-# Copyright 1999-2009 ImageMagick Studio LLC, a non-profit organization
+# Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization
# dedicated to making software imaging solutions freely available.
#
# You may not use this file except in compliance with the License. You may
# limitations under the License.
#
# Exercise all regression tests:
-#
+#
# make test
#
# Exersise one regression test:
sub AutodetectWin32gcc {
my $wrkdir = getcwd();
my $devnull = devnull();
-
+
my @incdir = ();
my @libdir = ($wrkdir);
my @bindir = ();
-
+
#try to get configuration info via identify or convert utilities
my $conf = `identify -list Configure 2>$devnull` || `convert -list Configure 2>$devnull`;
foreach my $line (split '\n', $conf) {
foreach (@i) { push @incdir, $_ if (-e "$_/magick/MagickCore.h") };
}
};
-
+
foreach my $bin (@bindir) {
opendir(my $bindir, $bin) or die qq{Cannot opendir $bin: $!};
my @dlls = map {catfile($bin, $_)} grep /^\S*magick[^\+]\S*?\.dll$/i, readdir $bindir;
unlink "$wrkdir/libMagickCore.def", "$wrkdir/libMagickCore.a";
system("pexports \"$d\" >\"$wrkdir/libMagickCore.def\" 2>$devnull");
open(DEF, "<$wrkdir/libMagickCore.def");
- my @found = grep(/InitializeMagickResources/, <DEF>); #checking if we have taken the right DLL
+ my @found = grep(/MagickCoreGenesis/, <DEF>); #checking if we have taken the right DLL
close(DEF);
next unless(@found);
print STDERR "Gonna create 'libMagickCore.a' from '$d'\n";
}
last if -s "$wrkdir/libMagickCore.a";
}
-
+
unless(@incdir && @libdir && @bindir && (-s "$wrkdir/libMagickCore.a")) {
print STDERR <<EOF
################################### WARNING! ###################################
################################################################################
EOF
}
-
+
my $inc = join ' ', map "-I\"$_\"", @incdir;
my $lib = join ' ', map "-L\"$_\"", @libdir;
return ($inc, $lib);
}
+sub AutodetectDelegates {
+ #try to get configuration info via identify or convert utilities
+ my $devnull = devnull();
+ my $conf = `identify -list Configure 2>$devnull` || `convert -list Configure 2>$devnull`;
+ my @delegates = ();
+ foreach my $line (split '\n', $conf) {
+ next unless $line =~ /^DELEGATES\s+/;
+ (undef, @delegates) = split /\s+/, $line;
+ last;
+ };
+ return @delegates;
+}
# Compute test specification
my $delegate_tests='t/*.t';
-my $delegate;
-foreach $delegate (qw/bzlib djvu fftw fontconfig freetype jpeg jng jp2 lcms mpeg png rsvg tiff x11 xml wmf zlib/) {
- if ( -d "t/$delegate" ) {
- if ( defined($ENV{'DISPLAY'}) && ($^O ne 'MSWin32') ) {
- if ( defined $ENV{'DISPLAY'} ) {
- $delegate_tests .= " t/$delegate/*.t";
+my @tested_delegates = qw/bzlib djvu fftw fontconfig freetype jpeg jng jp2 lcms mpeg png rsvg tiff x11 xml wmf zlib/;
+my @supported_delegates = AutodetectDelegates();
+# find the intersection of tested and supported delegates
+my %seen_delegates = ();
+$seen_delegates{$_}++ for @supported_delegates;
+foreach my $delegate (@tested_delegates) {
+ if ( $seen_delegates{$delegate} ) {
+ if ( -d "t/$delegate" ) {
+ if ( defined($ENV{'DISPLAY'}) && ($^O ne 'MSWin32') ) {
+ if ( defined $ENV{'DISPLAY'} ) {
+ $delegate_tests .= " t/$delegate/*.t";
+ }
+ next;
}
- next;
+ $delegate_tests .= " t/$delegate/*.t";
}
- $delegate_tests .= " t/$delegate/*.t";
}
}
# defaults for LIBS & INC & CCFLAGS params that we later pass to Writemakefile
-my $INC_magick = '-I../ -I.. -I/usr/include/freetype2 -I/usr/include/libxml2 -I"' . $Config{'usrinc'} . '/ImageMagick"';
+my $INC_magick = '-I../ -I.. -D_REENTRANT -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -pthread -D_REENTRANT -I/usr/include/librsvg-2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/graphviz -I/usr/include/freetype2 -I/usr/include/libxml2 -I"' . $Config{'usrinc'} . '/ImageMagick"';
my $LIBS_magick = '-L../magick/.libs -lMagickCore -lperl -lm';
-my $CCFLAGS_magick = "$Config{'ccflags'} -fopenmp -g -O2 -Wall -W -pthread";
+my $CCFLAGS_magick = "$Config{'ccflags'} -pthread -I/usr/include/OpenEXR -fopenmp -g -O2 -Wall -pthread";
my $LDFLAGS_magick = "-L../magick/.libs -lMagickCore $Config{'ldflags'} ";
my $LDDLFLAGS_magick = "-L../magick/.libs -lMagickCore $Config{'lddlflags'} ";
'AUTHOR' => 'ImageMagick Studio LLC',
# Module version
- 'VERSION' => '6.5.7',
+ 'VERSION' => '6.6.7',
# Preprocessor defines
- 'DEFINE' => ' -D_LARGE_FILES=1 -DHAVE_CONFIG_H', # e.g., '-DHAVE_SOMETHING'
+ 'DEFINE' => ' -D_LARGE_FILES=1 -DHAVE_CONFIG_H', # e.g., '-DHAVE_SOMETHING'
# Header search specfication and preprocessor flags
'INC' => $INC_magick,
# C compiler
- #'CC' => 'gcc -std=gnu99',
+ #'CC' => 'gcc -std=gnu99 -std=gnu99',
# C pre-processor flags (e.g. -I & -D options)
- # 'CPPFLAGS' => "$Config{'cppflags'} -I/usr/include/freetype2 -I/usr/include/libxml2",
+ # 'CPPFLAGS' => "$Config{'cppflags'} -D_REENTRANT -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -pthread -D_REENTRANT -I/usr/include/librsvg-2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/graphviz -I/usr/include/freetype2 -I/usr/include/libxml2",
# C compiler flags (e.g. -O -g)
'CCFLAGS' => $CCFLAGS_magick,
# Linker
- #'LD' => $Config{'ld'} == $Config{'cc'} ? 'gcc -std=gnu99' : $Config{'ld'},
+ #'LD' => $Config{'ld'} == $Config{'cc'} ? 'gcc -std=gnu99 -std=gnu99' : $Config{'ld'},
# Linker flags for building an executable
'LDFLAGS' => $LDFLAGS_magick,