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