Change 14528 by jhi@alpha on 2002/02/03 15:26:33

        Subject: [PATCH @13746] OS2::Process's constants
        From: Ilya Zakharevich <[EMAIL PROTECTED]>
        Date: Sat, 2 Feb 2002 01:00:55 -0500           
        Message-ID: <[EMAIL PROTECTED]>

Affected files ...

.... //depot/perl/os2/OS2/Process/Makefile.PL#7 edit

Differences ...

==== //depot/perl/os2/OS2/Process/Makefile.PL#7 (text) ====
Index: perl/os2/OS2/Process/Makefile.PL
--- perl/os2/OS2/Process/Makefile.PL.~1~        Sun Feb  3 08:30:05 2002
+++ perl/os2/OS2/Process/Makefile.PL    Sun Feb  3 08:30:05 2002
@@ -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 @@
                     # _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;
+}
End of Patch.

Reply via email to