Commit | Line | Data |
---|---|---|
3e61d65a JH |
1 | use 5.008; |
2 | use ExtUtils::MakeMaker; | |
55289a74 | 3 | use ExtUtils::Constant 0.11 'WriteConstants'; |
95ddc675 | 4 | use Config; |
42ef68d0 | 5 | |
3e61d65a JH |
6 | WriteMakefile( |
7 | 'NAME' => 'XS::APItest', | |
8 | 'VERSION_FROM' => 'APItest.pm', # finds $VERSION | |
9 | 'PREREQ_PM' => {}, # e.g., Module::Name => 1.1 | |
8c5ae9a3 | 10 | ABSTRACT_FROM => 'APItest.pm', # retrieve abstract from module |
83f8bb56 | 11 | AUTHOR => 'Tim Jenness <t.jenness@jach.hawaii.edu>, Christian Soeller <csoelle@mph.auckland.ac.nz>, Hugo van der Sanden <hv@crypt.compulink.co.uk>, Andrew Main (Zefram) <zefram@fysh.org>', |
34482cd6 | 12 | 'C' => ['exception.c', 'core.c', 'notcore.c'], |
f9cc56fa | 13 | 'OBJECT' => '$(BASEEXT)$(OBJ_EXT) XSUB-undef-XS_VERSION$(OBJ_EXT) XSUB-redefined-macros$(OBJ_EXT) $(O_FILES)', |
55289a74 | 14 | realclean => {FILES => 'const-c.inc const-xs.inc'}, |
95ddc675 | 15 | ($Config{gccversion} && $Config{d_attribute_deprecated} ? |
42ef68d0 | 16 | (CCFLAGS => $Config{ccflags} . ' -Wno-deprecated-declarations') : ()), |
048a2f47 FC |
17 | depend => { 'core.o' => 'core_or_not.inc', |
18 | 'notcore.o' => 'core_or_not.inc' }, | |
55289a74 NC |
19 | ); |
20 | ||
7d255dc8 NC |
21 | my @names = (qw(HV_DELETE HV_DISABLE_UVAR_XKEY HV_FETCH_ISSTORE |
22 | HV_FETCH_ISEXISTS HV_FETCH_LVALUE HV_FETCH_JUST_SV | |
23 | G_SCALAR G_ARRAY G_VOID G_DISCARD G_EVAL G_NOARGS | |
24 | G_KEEPERR G_NODEBUG G_METHOD G_FAKINGEVAL | |
25 | IS_NUMBER_IN_UV IS_NUMBER_GREATER_THAN_UV_MAX | |
26 | IS_NUMBER_NOT_INT IS_NUMBER_NEG IS_NUMBER_INFINITY | |
e222d7e2 | 27 | IS_NUMBER_NAN IS_NUMBER_TRAILING PERL_SCAN_TRAILING |
7d255dc8 NC |
28 | ), |
29 | {name=>"G_WANT", default=>["IV", "G_ARRAY|G_VOID"]}); | |
30 | ||
31 | open my $fh, '../../overload.h' or die "Can't open ../../overload.h: $!"; | |
32 | while (<$fh>) { | |
33 | push @names, {name => $1, macro => 1} if /^\s+([A-Za-z_0-9]+_amg),/; | |
34 | } | |
35 | ||
55289a74 NC |
36 | WriteConstants( |
37 | PROXYSUBS => 1, | |
38 | NAME => 'XS::APItest', | |
7d255dc8 | 39 | NAMES => \@names, |
b8d2d791 | 40 | ); |
3e61d65a JH |
41 | |
42 | sub MY::install { "install ::\n" }; |