X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2FB%2FMakefile.PL;h=d59e9d77205b8b93f8284b7abcb11736edea25ab;hb=427d62a407a31445bc7585263d1b781552e27ce5;hp=bcc8baa242fa78704ba09d76cebb2c78efce1b6f;hpb=a8a597b252f6dd39ef24cf476a20f8618821e02f;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/B/Makefile.PL b/ext/B/Makefile.PL index bcc8baa..d59e9d7 100644 --- a/ext/B/Makefile.PL +++ b/ext/B/Makefile.PL @@ -1,5 +1,6 @@ use ExtUtils::MakeMaker; use Config; +use File::Spec; my $e = $Config{'exe_ext'}; my $o = $Config{'obj_ext'}; @@ -14,41 +15,34 @@ if ($^O eq 'MSWin32') { } WriteMakefile( - NAME => "B", - VERSION => "a5", - OBJECT => "B$o byterun$o", - depend => { - "B$o" => "B.c bytecode.h byterun.h", - }, - clean => { - FILES => "perl byteperl$e btest$e btest.c *$o B.c *~" + NAME => "B", + VERSION_FROM => "B.pm", + PL_FILES => { 'defsubs_h.PL' => 'defsubs.h' }, + MAN3PODS => {}, + clean => { + FILES => "perl$e *$o B.c defsubs.h *~" } ); -sub MY::post_constants { - "\nLIBS = $Config{libs}\n" +package MY; + +sub post_constants { + "\nLIBS = $Config::Config{libs}\n" +} + +sub upupfile { + File::Spec->catfile(File::Spec->updir, + File::Spec->updir, $_[0]); } -sub MY::top_targets { - my $self = shift; - my $targets = $self->MM::top_targets(); - $targets =~ s/^(all ::.*)$/$1 byteperl$e/m; - return <<"EOT" . $targets; -# -# byterun.h, byterun.c and Asmdata.pm are auto-generated. If any of the -# files are missing or if you change bytecode.pl (which is what generates -# them all) then you can "make regen_headers" to regenerate them. -# -regen_headers: - \$(PERL) bytecode.pl - \$(MV) Asmdata.pm B -# -# byteperl is *not* a standard perl+XSUB executable. It's a special -# program for running standalone bytecode executables. It isn't an XSUB -# at the moment because a standlone Perl program needs to set up curpad -# which is overwritten on exit from an XSUB. -# -byteperl$e : byteperl$o B$o byterun$o - \$(CC) ${exeout_flag}byteperl$e byteperl$o B$o byterun$o \$(LDFLAGS) \$(PERL_ARCHLIB)/CORE/$Config{libperl} \$(LIBS) -EOT +sub MY::postamble { + my $op_h = upupfile('op.h'); + my $cop_h = upupfile('cop.h'); + my $noecho = shift->{NOECHO}; +" +B\$(OBJ_EXT) : defsubs.h + +defsubs.h :: $op_h $cop_h defsubs_h.PL + \$(PERL) -I\$(INST_ARCHLIB) -I\$(INST_LIB) -I\$(PERL_ARCHLIB) -I\$(PERL_LIB) defsubs_h.PL defsubs.h +" }