From: Ilya Zakharevich Date: Sat, 2 Feb 2002 01:00:55 +0000 (-0500) Subject: OS2::Process's constants X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=806ca1c22d6bc2cc9ece12ac5288fbb5d07e10bc;p=p5sagit%2Fp5-mst-13.2.git OS2::Process's constants Message-ID: <20020202010055.A12924@math.ohio-state.edu> p4raw-id: //depot/perl@14528 --- diff --git a/os2/OS2/Process/Makefile.PL b/os2/OS2/Process/Makefile.PL index 9c97ad0..c141757 100644 --- a/os2/OS2/Process/Makefile.PL +++ b/os2/OS2/Process/Makefile.PL @@ -1,4 +1,7 @@ use ExtUtils::MakeMaker; + +create_constants(); # Make a module + # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( @@ -12,3 +15,30 @@ WriteMakefile( # _16_Win16SetTitle => 'pmshapi.93', }, ); + +sub create_constants { + return if -d 'Process_constants'; + my $src_dir; + my @try = qw(.. ../.. ../../.. ../../../..); + for (@try) { + $src_dir = $_, last if -d "$_/utils" and -r "$_/utils/h2xs"; + } + warn("Can't find \$PERL_SRC/utils/h2xs in @try, falling back to no constants"), + return unless defined $src_dir; + # Can't name it *::Constants, otherwise constants.xs would overwrite it... + # This produces warnings from PSZ-conversion on WS_* constants. + system $^X, "-I$src_dir/lib", "$src_dir/utils/h2xs", '-fn', 'OS2::Process::Const', + '--skip-exporter', '--skip-autoloader', # too large memory overhead + '--skip-strict', '--skip-warnings', # likewise + '--skip-ppport', # will not work without dynaloading. + # Most useful for OS2::Process: + '-M^(HWND|WM|SC|SWP|WC|PROG|QW|EDI|WS)_', + '-F', '-DINCL_NLS -DINCL_BASE -DINCL_PM', # Define more symbols + 'os2emx.h' # EMX version of OS/2 API + and warn("Can't build module with contants, falling back to no constants"), + return; + rename 'OS2/Process/Const', 'Process_constants' + or warn("Error renaming module, falling back to no constants: $!"), + return; + return 1; +}