Commit | Line | Data |
a8a597b2 |
1 | use ExtUtils::MakeMaker; |
2 | use Config; |
3 | |
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) { |
9 | $exeout_flag = '-Fe'; |
10 | } |
11 | elsif ($Config{'cc'} =~ /^bcc/i) { |
12 | $exeout_flag = '-e'; |
13 | } |
14 | } |
15 | |
16 | WriteMakefile( |
17 | NAME => "B", |
18 | VERSION => "a5", |
69158f75 |
19 | MAN3PODS => {}, |
a8a597b2 |
20 | clean => { |
c4f6c246 |
21 | FILES => "perl$e byteperl$e *$o B.c defsubs.h *~" |
a8a597b2 |
22 | } |
4c1f658f |
23 | ); |
a8a597b2 |
24 | |
4c1f658f |
25 | package MY; |
26 | |
27 | sub post_constants { |
a8a597b2 |
28 | "\nLIBS = $Config{libs}\n" |
4c1f658f |
29 | } |
30 | |
31 | sub postamble { |
32 | ' |
51a19bc0 |
33 | B$(OBJ_EXT) : defsubs.h |
4c1f658f |
34 | ' |
a8a597b2 |
35 | } |
36 | |
a8581515 |
37 | # Leave out doing byteperl for now. Probably should be built in the |
38 | # core directory or somewhere else rather than here |
4c1f658f |
39 | #sub top_targets { |
a8581515 |
40 | # my $self = shift; |
41 | # my $targets = $self->MM::top_targets(); |
42 | # $targets =~ s/^(all ::.*)$/$1 byteperl$e/m; |
43 | # return <<"EOT" . $targets; |
44 | |
a8a597b2 |
45 | # |
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. |
50 | # |
a8581515 |
51 | #byteperl$e : byteperl$o B$o \$(PERL_SRC)/byterun$o |
52 | # \$(CC) ${exeout_flag}byteperl$e byteperl$o B$o byterun$o \$(LDFLAGS) \$(PERL_ARCHLIB)/CORE/$Config{libperl} \$(LIBS) |
53 | #EOT |
54 | #} |