X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2FB%2FMakefile.PL;h=d39d3b5f9c5e9c9b65f2f70fddb5952594115ca1;hb=7dadce444419cb5cc2a17faf09d9ea75a7e4b67b;hp=80e5e1b905d42a05b3a048a310fcf44b2fcdf7dc;hpb=69158f75613eae787b94b6b4c3c353cf740e0e09;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/B/Makefile.PL b/ext/B/Makefile.PL index 80e5e1b..d39d3b5 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,33 +15,34 @@ if ($^O eq 'MSWin32') { } WriteMakefile( - NAME => "B", - VERSION => "a5", - MAN3PODS => {}, - clean => { - FILES => "perl$e byteperl$e *$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]); } -# Leave out doing byteperl for now. Probably should be built in the -# core directory or somewhere else rather than here -#sub MY::top_targets { -# my $self = shift; -# my $targets = $self->MM::top_targets(); -# $targets =~ s/^(all ::.*)$/$1 byteperl$e/m; -# return <<"EOT" . $targets; +sub MY::postamble { + my $op_h = upupfile('op.h'); + my $cop_h = upupfile('cop.h'); + my $noecho = shift->{NOECHO}; +" +B\$(OBJ_EXT) : defsubs.h -# -# 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 \$(PERL_SRC)/byterun$o -# \$(CC) ${exeout_flag}byteperl$e byteperl$o B$o byterun$o \$(LDFLAGS) \$(PERL_ARCHLIB)/CORE/$Config{libperl} \$(LIBS) -#EOT -#} +defsubs.h :: $op_h $cop_h + $noecho \$(NOOP) +" +}