1 package Imager::ExtUtils;
10 Imager::ExtUtils - functions handy in writing Imager extensions
14 # make Imager easier to use with Inline
15 # perldoc Imager::Inline
16 use Inline with => 'Imager';
24 Returns the base directory where Imager is installed.
28 # figure out where Imager is installed
31 if (-e "$dir/Imager.pm") {
36 die "Cannot locate an installed Imager!";
41 Implements Imager's Inline::C C<with> hook.
47 my $base = base_dir();
51 INC => $class->includes,
52 TYPEMAPS => $class->typemap,
53 AUTO_INCLUDE => <<'CODE',
56 DEFINE_IMAGER_CALLBACKS;
58 BOOT => 'PERL_INITIALIZE_IMAGER_CALLBACKS;',
59 FILTERS => \&_inline_filter,
72 map { (my $tmp = $_) =~ s/::/__/g; $_ => $tmp } @inline_replace;
74 my $inline_replace_re = "\\b(" . join('|', @inline_replace) . ")\\b";
79 $code =~ s/$inline_replace_re/$inline_replace{$1}/g;
86 Returns -I options suitable for use with ExtUtils::MakeMaker's INC
93 my $base = $class->base_dir();
95 "-I" . $base . '/Imager/include',
100 Returns the full path to Imager's installed typemap.
106 my $base = $class->base_dir();
108 $base . '/Imager/typemap';
119 Tony Cook <tony@imager.perl.org>
127 Imager, Imager::API, Imager::Inline, Imager::APIRef.