This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate:
[perl5.git] / os2 / OS2 / Process / Makefile.PL
CommitLineData
760ac839 1use ExtUtils::MakeMaker;
806ca1c2
IZ
2
3create_constants(); # Make a module
4
760ac839
LW
5# See lib/ExtUtils/MakeMaker.pm for details of how to influence
6# the contents of the Makefile that is written.
7WriteMakefile(
8 'NAME' => 'OS2::Process',
7f61b687 9 VERSION_FROM=> 'Process.pm',
b1705298 10 MAN3PODS => {}, # Pods will be built by installman.
760ac839
LW
11 'LIBS' => [''], # e.g., '-lm'
12 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING'
13 'INC' => '', # e.g., '-I/usr/include/other'
7f61b687
IZ
14 IMPORTS => { _16_DosSmSetTitle => 'sesmgr.DOSSMSETTITLE',
15 # _16_Win16SetTitle => 'pmshapi.93',
16 },
760ac839 17);
806ca1c2
IZ
18
19sub create_constants {
20 return if -d 'Process_constants';
21 my $src_dir;
22 my @try = qw(.. ../.. ../../.. ../../../..);
23 for (@try) {
24 $src_dir = $_, last if -d "$_/utils" and -r "$_/utils/h2xs";
25 }
26 warn("Can't find \$PERL_SRC/utils/h2xs in @try, falling back to no constants"),
27 return unless defined $src_dir;
28 # Can't name it *::Constants, otherwise constants.xs would overwrite it...
29 # This produces warnings from PSZ-conversion on WS_* constants.
30 system $^X, "-I$src_dir/lib", "$src_dir/utils/h2xs", '-fn', 'OS2::Process::Const',
31 '--skip-exporter', '--skip-autoloader', # too large memory overhead
32 '--skip-strict', '--skip-warnings', # likewise
33 '--skip-ppport', # will not work without dynaloading.
34 # Most useful for OS2::Process:
18729d3e 35 '-M^(HWND|WM|SC|SWP|WC|PROG|QW|EDI|WS|QWS|QWP|QWL|FF|FI|LS|FS|FCF|BS|MS|TBM|CF|CFI|FID|MB|MBID|CF|CFI|SPTR)_',
806ca1c2
IZ
36 '-F', '-DINCL_NLS -DINCL_BASE -DINCL_PM', # Define more symbols
37 'os2emx.h' # EMX version of OS/2 API
38 and warn("Can't build module with contants, falling back to no constants"),
39 return;
40 rename 'OS2/Process/Const', 'Process_constants'
41 or warn("Error renaming module, falling back to no constants: $!"),
42 return;
43 return 1;
44}