-# Copyright 1999-2010 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;
}
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 fontconfig freetype jpeg jng png tiff x11 xml 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/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -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 -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.6.3',
+ '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,
#'CC' => 'gcc -std=gnu99 -std=gnu99',
# C pre-processor flags (e.g. -I & -D options)
- # 'CPPFLAGS' => "$Config{'cppflags'} -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -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,