1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
# Makefile written by Bob Friesenhahn.
use ExtUtils::MakeMaker;
use Config;
# Compute test specification
my $delegate_tests='t/*.t';
my $delegate;
foreach $delegate (qw/@DELEGATES@/) {
if( -d "t/$delegate" ) {
$delegate_tests .= " t/$delegate/*.t";
}
}
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile
(
# Module description
'ABSTRACT' => 'ImageMagick PERL Extension',
# Perl module name is Image::Magick
'NAME' => 'Image::Magick',
# Module author
'AUTHOR' => 'ImageMagick Studio LLC',
# Module version
'VERSION' => '@PACKAGE_VERSION@',
# Preprocessor defines
'DEFINE' => '@LFS_CPPFLAGS@ @DEFS@', # e.g., '-DHAVE_SOMETHING'
# Header search specfication and preprocessor flags
'INC' => '-I../ -I@top_srcdir@ @CPPFLAGS@',
# C pre-processor flags (e.g. -I & -D options)
# 'CPPFLAGS' => "$Config{'cppflags'} @CPPFLAGS@",
# C compiler flags (e.g. -O -g)
'CCFLAGS' => "$Config{'ccflags'} @CFLAGS@",
# Linker flags for building an executable
'LDFLAGS' => "-L@MAGICKLIBDIR@ $Config{'ldflags'}",
# Linker flags for building a dynamically loadable module
'LDDLFLAGS' => "-L@MAGICKLIBDIR@ $Config{'lddlflags'}",
# Install PerlMagick binary into ImageMagick bin directory
'INSTALLBIN' => '@BIN_DIR@',
# Library specification
'LIBS' => ['-L@MAGICKLIBDIR@ -L../magick/.libs -lMagick @LDFLAGS@ @MAGICK_DEP_LIBS@'],
# Perl binary name (if a Perl binary is built)
'MAP_TARGET' => 'PerlMagick',
# Let CFLAGS drive optimization flags by setting OPTIMIZE to empty
# 'OPTIMIZE' => '',
# Use same compiler as ImageMagick
'PERLMAINCC' => '@PERLMAINCC@',
# Set Perl installation prefix to ImageMagick
# 'PREFIX' => '@prefix@',
# Include delegate directories in tests
test => { TESTS => $delegate_tests},
($Config{'archname'} =~ /-object$/i ? ('CAPI' => 'TRUE') : ()),
);
#
# Stinky ExtUtils::MM_Unix likes to append its own library path to $(CC),
# prior to any user-specified library path so that an installed library is
# used rather than the library just built. This substitution function
# tries to insert our library path first. Also, use the same compiler used
# to build perlmain.c to link so that a C++ compiler may be used if
# necessary.
#
sub MY::makeaperl {
package MY; # so that "SUPER" works right
my $inherited = shift->SUPER::makeaperl(@_);
$inherited =~ s:MAP_LINKCMD\s.*\s*\$\(CC\):MAP_LINKCMD = \$(PERLMAINCC) -L@MAGICKLIBDIR@: ;
$inherited;
}
sub MY::test {
package MY; # so that "SUPER" works right
my $inherited = shift->SUPER::test(@_);
# Run tests in our environment
$inherited =~ s:PERL_DL_NONLAZY=1:@SHELL@ ../magick.sh PERL_DL_NONLAZY=1:g ; $inherited;
}
|