MakeMaker magic to compile (when no dynamic loading)
[p5sagit/p5-mst-13.2.git] / ext / List / Util / Makefile.PL
1 use ExtUtils::MakeMaker;
2
3 WriteMakefile(
4     VERSION_FROM    => "lib/List/Util.pm",
5     NAME            => "List::Util",
6 );
7
8 package MY;
9
10 BEGIN {
11     use Config;
12     unless (defined $Config{usedl}) {
13         eval <<'__EOMM__';
14 sub xs_c {
15     my($self) = shift;
16     return '' unless $self->needs_linking();
17 '
18 .xs.c:
19         $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > List$*.xsc && $(MV) List$*.xsc List$*.c
20 ';
21 }
22
23 sub c_o {
24     my($self) = shift;
25     return '' unless $self->needs_linking();
26 '
27 .c$(OBJ_EXT):
28         $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) List$*.c
29         $(MV) List$*$(OBJ_EXT) $*$(OBJ_EXT)
30 ';
31 }
32
33 sub xs_o {      # many makes are too dumb to use xs_c then c_o
34     my($self) = shift;
35     return '' unless $self->needs_linking();
36 '
37 .xs$(OBJ_EXT):
38         $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > List$*.xsc && $(MV) List$*.xsc List$*.c
39         $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) List$*.c
40         $(MV) List$*$(OBJ_EXT) $*$(OBJ_EXT)
41 ';
42 }
43
44 __EOMM__
45     }
46 }