1 use ExtUtils::MakeMaker;
4 my $e = $Config{'exe_ext'};
5 my $o = $Config{'obj_ext'};
6 my $exeout_flag = '-o ';
7 if ($^O eq 'MSWin32') {
8 if ($Config{'cc'} =~ /^cl/i) {
11 elsif ($Config{'cc'} =~ /^bcc/i) {
19 OBJECT => "B$o byterun$o",
21 "B$o" => "B.c bytecode.h byterun.h",
24 FILES => "perl byteperl$e btest$e btest.c *$o B.c *~"
28 sub MY::post_constants {
29 "\nLIBS = $Config{libs}\n"
34 my $targets = $self->MM::top_targets();
35 $targets =~ s/^(all ::.*)$/$1 byteperl$e/m;
36 return <<"EOT" . $targets;
38 # byterun.h, byterun.c and Asmdata.pm are auto-generated. If any of the
39 # files are missing or if you change bytecode.pl (which is what generates
40 # them all) then you can "make regen_headers" to regenerate them.
46 # byteperl is *not* a standard perl+XSUB executable. It's a special
47 # program for running standalone bytecode executables. It isn't an XSUB
48 # at the moment because a standlone Perl program needs to set up curpad
49 # which is overwritten on exit from an XSUB.
51 byteperl$e : byteperl$o B$o byterun$o
52 \$(CC) ${exeout_flag}byteperl$e byteperl$o B$o byterun$o \$(LDFLAGS) \$(PERL_ARCHLIB)/CORE/$Config{libperl} \$(LIBS)