From fdf90be34ec1e35c5b772dae2e8b3eb72df66a85 Mon Sep 17 00:00:00 2001 From: Jess Robinson Date: Sat, 29 Dec 2012 21:32:30 +0000 Subject: [PATCH] write_buildcustomize.pl: Setup $^O to be the target os when building Core. This allows the correct hints files to be loaded when building modules We do this by giving write_buildcustomize.pl a 'osname' parameter. This means that write_buildcustomize.pl no longer depends on Config to get osname, which eliminates a circular dependency in the Makefiles. --- write_buildcustomize.pl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/write_buildcustomize.pl b/write_buildcustomize.pl index 3f78264..64bf4ce 100644 --- a/write_buildcustomize.pl +++ b/write_buildcustomize.pl @@ -1,13 +1,20 @@ #!./miniperl -w use strict; -if (@ARGV) { + +my $osname = $^O; +my $file = 'lib/buildcustomize.pl'; + +if ( @ARGV % 2 ) { my $dir = shift; chdir $dir or die "Can't chdir '$dir': $!"; unshift @INC, 'lib'; } -my $file = 'lib/buildcustomize.pl'; +if ( @ARGV ) { + # Used during cross-compilation. + $osname = $ARGV[1]; +} # To clarify, this isn't the entire suite of modules considered "toolchain" # It's not even all modules needed to build ext/ @@ -68,6 +75,7 @@ print $fh <<"EOT" or $error = "Can't print to $file: $!"; # Replace the first entry of \@INC ("lib") with the list of # directories we need. splice(\@INC, 0, 1, $inc); +\$^O = '$osname'; EOT if ($error) { -- 2.7.4