This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
In makedef.pl, read Config::{,non_}bincompat_options() on all platforms.
authorNicholas Clark <nick@ccl4.org>
Fri, 22 Jul 2011 16:54:01 +0000 (18:54 +0200)
committerNicholas Clark <nick@ccl4.org>
Mon, 1 Aug 2011 09:53:54 +0000 (11:53 +0200)
Previously makedef.pl was only taking them into account on AIX, Win32 and
WinCE. This might cause more API symbols to be exported on NetWare, OS/2
and VMS.

On VMS, $define{DEBUGGING} and $define{UNLINK_ALL_VERSIONS} will now be read
from Config::non_bincompat_options(), so no need for special case code to
read them config.sh

makedef.pl

index 345d4c4..8478390 100644 (file)
@@ -67,21 +67,18 @@ my %PLATFORM;
 defined $PLATFORM || die "PLATFORM undefined, must be one of: @PLATFORM\n";
 exists $PLATFORM{$PLATFORM} || die "PLATFORM must be one of: @PLATFORM\n";
 
-if ($PLATFORM eq 'win32' or $PLATFORM eq 'wince' or $PLATFORM eq "aix") {
-       # Add the compile-time options that miniperl was built with to %define.
-       # On Win32 these are not the same options as perl itself will be built
-       # with since miniperl is built with a canned config (one of the win32/
-       # config_H.*) and none of the BUILDOPT's that are set in the makefiles,
-       # but they do include some #define's that are hard-coded in various
-       # source files and header files and don't include any BUILDOPT's that
-       # the user might have chosen to disable because the canned configs are
-       # minimal configs that don't include any of those options.
-
-       my @options
-           = sort(Config::bincompat_options(), Config::non_bincompat_options());
-       print STDERR "Options: (@options)\n";
-       $define{$_} = 1 foreach @options;
-}
+# Add the compile-time options that miniperl was built with to %define.
+# On Win32 these are not the same options as perl itself will be built
+# with since miniperl is built with a canned config (one of the win32/
+# config_H.*) and none of the BUILDOPT's that are set in the makefiles,
+# but they do include some #define's that are hard-coded in various
+# source files and header files and don't include any BUILDOPT's that
+# the user might have chosen to disable because the canned configs are
+# minimal configs that don't include any of those options.
+
+my @options = sort(Config::bincompat_options(), Config::non_bincompat_options());
+print STDERR "Options: (@options)\n";
+$define{$_} = 1 foreach @options;
 
 my %exportperlmalloc =
     (
@@ -118,10 +115,6 @@ unless ($PLATFORM eq 'win32' || $PLATFORM eq 'wince' || $PLATFORM eq 'netware')
        }
        $define{$1} = $2
            if /^(config_args|archname|perl_patchlevel)='(.+)'$/;
-       if ($PLATFORM eq 'vms') {
-           $define{DEBUGGING} = 1 if /^usedebugging_perl='Y'$/;
-           $define{UNLINK_ALL_VERSIONS} = 1 if /^d_unlink_all_versions='define'$/;
-       }
     }
     close(CFG);
 }