More EBCDIC tweaks:
[p5sagit/p5-mst-13.2.git] / ext / re / Makefile.PL
1 use ExtUtils::MakeMaker;
2 use File::Spec;
3 use Config;
4
5 my $object = 're_exec$(OBJ_EXT) re_comp$(OBJ_EXT) re$(OBJ_EXT)';
6
7 WriteMakefile(
8     NAME                => 're',
9     VERSION_FROM        => 're.pm',
10     MAN3PODS            => {},  # Pods will be built by installman.
11     XSPROTOARG          => '-noprototypes',
12     OBJECT              => $object,
13     DEFINE              => '-DPERL_EXT_RE_BUILD -DPERL_EXT_RE_DEBUG',
14     clean               => { FILES => '*$(OBJ_EXT) *.c ../../lib/re.pm' },
15 );
16
17 package MY;
18
19 sub upupfile {
20     File::Spec->catfile(File::Spec->updir, File::Spec->updir, $_[0]);
21 }
22
23 sub postamble {
24     my $regcomp_c = upupfile('regcomp.c');
25     my $regexec_c = upupfile('regexec.c');
26
27     <<EOF;
28 re_comp.c : $regcomp_c
29         - \$(RM_F) re_comp.c
30         \$(CP) $regcomp_c re_comp.c
31
32 re_comp\$(OBJ_EXT) : re_comp.c
33
34 re_exec.c : $regexec_c
35         - \$(RM_F) re_exec.c
36         \$(CP) $regexec_c re_exec.c
37
38 re_exec\$(OBJ_EXT) : re_exec.c
39
40 EOF
41 }
42
43 sub MY::c_o {
44     my($self) = @_;
45     package MY; # so that "SUPER" works right
46     my $inh = $self->SUPER::c_o(@_);
47     use Config;
48     if ($Config{osname} eq 'aix' && $Config{ccversion} eq '5.0.1.0') {
49         # Known buggy optimizer.
50         my $cccmd = $self->const_cccmd;
51         $cccmd =~ s/^CCCMD\s*=\s*//;
52         $cccmd =~ s/\s\$\(OPTIMIZE\)\s/ /;
53         $inh .= qq{
54
55 re_comp\$\(OBJ_EXT\): re_comp.c
56 \t$cccmd \$(CCCDLFLAGS) -I\$(PERL_INC) \$(DEFINE) \$*.c
57 };
58     }
59     $inh;
60 }