From f0def6dc7b4f576668e689cfd44745e506a305ad Mon Sep 17 00:00:00 2001 From: Jens Rehsack Date: Thu, 22 Oct 2015 21:21:42 +0200 Subject: introduce support for sdkroot and sysroot to support cross-builds To allow building for another location rather the final install prefix, regardless whether chroot based builds, cross-compile or canadian cross sdk is the goal, realize the difference between prefix, the sdk-root and the system root for final target. Signed-off-by: Jens Rehsack --- tools/lib/NQP/Configure.pm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'tools/lib') diff --git a/tools/lib/NQP/Configure.pm b/tools/lib/NQP/Configure.pm index 664f63f..2f67bf1 100644 --- a/tools/lib/NQP/Configure.pm +++ b/tools/lib/NQP/Configure.pm @@ -3,6 +3,7 @@ use strict; use warnings; use Cwd; use File::Copy qw(copy); +use File::Spec qw(); use base qw(Exporter); our @EXPORT_OK = qw(sorry slurp system_or_die @@ -217,6 +218,7 @@ sub gen_nqp { my $gen_nqp = $options{'gen-nqp'}; my $gen_moar = $options{'gen-moar'}; my $prefix = $options{'prefix'} || cwd().'/install'; + my $sdkroot = $options{'sdkroot'} || ''; my $startdir = cwd(); my $PARROT_REVISION = 'nqp/tools/build/PARROT_REVISION'; @@ -227,7 +229,7 @@ sub gen_nqp { for my $b (qw/jvm moar/) { if ($backends =~ /$b/) { my $postfix = substr $b, 0, 1; - my $bin = "$prefix/bin/nqp-$postfix$bat"; + my $bin = File::Spec->catfile( $sdkroot, $prefix, 'bin', "nqp-$postfix$bat" ); $impls{$b}{bin} = $bin; my %c = read_config($bin); my $nqp_have = $c{'nqp::version'} || ''; @@ -280,12 +282,13 @@ sub gen_moar { my %options = @_; my $prefix = $options{'prefix'} || cwd()."/install"; + my $sdkroot = $options{'sdkroot'} || ''; my $gen_moar = $options{'gen-moar'}; my @opts = @{ $options{'moar-option'} || [] }; push @opts, "--optimize"; my $startdir = cwd(); - my $moar_exe = "$prefix/bin/moar$exe"; + my $moar_exe = File::Spec->catfile( $sdkroot, $prefix, 'bin', "moar$exe" ); my $moar_have = -e $moar_exe ? qx{ $moar_exe --version } : undef; if ($moar_have) { $moar_have = $moar_have =~ /version (\S+)/ ? $1 : undef; -- cgit v1.1