Skip to content

Commit

Permalink
Use configured NQP-home in create-jvm-runner.pl
Browse files Browse the repository at this point in the history
Recalculating it in create-jvm-runner.pl is duplicating the logic and
actually wrong, as the prefix passed in is not always the install dir
prefix. It is set to `.` when generating non install runners, that won't
work when calculating nqp-home.
  • Loading branch information
patrickbkr authored and root committed Aug 27, 2020
1 parent 5a40482 commit 077f8f9
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 11 deletions.
9 changes: 3 additions & 6 deletions tools/build/create-jvm-runner.pl
Expand Up @@ -8,9 +8,9 @@
use File::Copy 'cp';
use Cwd 'abs_path';

my $USAGE = "Usage: $0 <type> <basedir> <destdir> <prefix> <nqp-home> <rakudo-home> <third party jars>\n";
my $USAGE = "Usage: $0 <type> <basedir> <destdir> <prefix> <build-time-nqp-home> <nqp-home> <rakudo-home> <third party jars>\n";

my ($type, $basedir, $destdir, $prefix, $static_nqp_home, $static_rakudo_home, $thirdpartyjars) = @ARGV
my ($type, $basedir, $destdir, $prefix, $nqp_home, $static_nqp_home, $static_rakudo_home, $thirdpartyjars) = @ARGV
or die $USAGE;

my $relocatable = $static_nqp_home eq '' && $static_rakudo_home eq '';
Expand All @@ -28,15 +28,14 @@
my $nqplibdir = $^O eq 'MSWin32' ? File::Spec->catfile($static_nqp_home, 'lib') : File::Spec->catfile('${NQP_HOME}', 'lib');

my $nqpjars;
if ($^O eq 'MSWin32') {
if ($^O eq 'MSWin32' || $type ne 'install') {
$nqpjars = $thirdpartyjars;
}
else {
# The following is a workaround turning the third-party JARS into relative
# paths. The clean solution would be to pass in relative paths and only
# prefix those with ${NQP_HOME} here.
my @thirdpartyjars = map { abs_path($_) } split($cpsep, $thirdpartyjars);
my $nqp_home = File::Spec->catdir(abs_path($prefix), 'share', 'nqp');
@thirdpartyjars = map { $_ =~ s,$nqp_home,\${NQP_HOME},; $_ } @thirdpartyjars;
$nqpjars = join($cpsep, @thirdpartyjars);
}
Expand Down Expand Up @@ -118,8 +117,6 @@
}
}
else {
my $nqp_home = File::Spec->catdir(abs_path($prefix), 'share', 'nqp');

# Hack: Explicitly set a dummy RAKUDO_HOME, so the autogenerated
# CompUnitRepo folder structure does not end up in the build directories
# parent folder.
Expand Down
10 changes: 5 additions & 5 deletions tools/templates/jvm/Makefile.in
Expand Up @@ -45,7 +45,7 @@ $(RUNTIME_JAR): $(RUNTIME_JAVAS)

$(J_RUNNER): @@script(create-jvm-runner.pl)@@
@echo(+++ Setting up $@)@
$(NOECHO)$(PERL5) @shquot(@script(create-jvm-runner.pl)@)@ dev @q($(BASE_DIR))@ . . @q(@static_nqp_home@)@ @q(@static_rakudo_home@)@ @q($(NQP_JARS))@
$(NOECHO)$(PERL5) @shquot(@script(create-jvm-runner.pl)@)@ dev @q($(BASE_DIR))@ . . @q(@nqp_home@)@ @q(@static_nqp_home@)@ @q(@static_rakudo_home@)@ @q($(NQP_JARS))@

@backend_prefix@-runner-default: @backend_prefix@-all
@echo(+++ Setting up @uc(@backend@)@ runner)@
Expand All @@ -54,7 +54,7 @@ $(J_RUNNER): @@script(create-jvm-runner.pl)@@

@bpm(DEBUG_RUNNER)@: @@script(create-jvm-runner.pl)@@ @bsm(RAKUDO_DEBUG)@
@echo(+++ Setting up $@)@
$(NOECHO)$(PERL5) @shquot(@script(create-jvm-runner.pl)@)@ dev-debug @q($(BASE_DIR))@ . . @q(@static_nqp_home@)@ @q(@static_rakudo_home@)@ @q($(NQP_JARS))@
$(NOECHO)$(PERL5) @shquot(@script(create-jvm-runner.pl)@)@ dev-debug @q($(BASE_DIR))@ . . @q(@nqp_home@)@ @q(@static_nqp_home@)@ @q(@static_rakudo_home@)@ @q($(NQP_JARS))@

eval-client.pl:
@echo(+++ Setting up $@)@
Expand Down Expand Up @@ -84,14 +84,14 @@ sometests: @backend_prefix@-all

@backend_prefix@-runner-default-install: @backend_prefix@-install @@script(create-jvm-runner.pl)@@
@echo(+++ Installing @uc(@backend@)@ launcher)@
$(NOECHO)$(PERL5) @shquot(@script(create-jvm-runner.pl)@)@ install @q($(BASE_DIR))@ @q($(DESTDIR))@ @q($(PREFIX))@ @q(@static_nqp_home@)@ @q(@static_rakudo_home@)@ @q($(NQP_JARS))@
$(NOECHO)$(PERL5) @shquot(@script(create-jvm-runner.pl)@)@ install @q($(BASE_DIR))@ @q($(DESTDIR))@ @q($(PREFIX))@ @q(@nqp_home@)@ @q(@static_nqp_home@)@ @q(@static_rakudo_home@)@ @q($(NQP_JARS))@
$(NOECHO)$(CP) @nfpq($(DESTDIR)$(PREFIX)/bin/rakudo-j$(J_BAT))@ @nfpq($(DESTDIR)$(PREFIX)/bin/rakudo$(J_BAT))@
$(NOECHO)$(CHMOD) 755 @nfpq($(DESTDIR)$(PREFIX)/bin/rakudo$(J_BAT))@

@backend_prefix@-install-main:: $(RUNTIME_JAR) @@script(create-jvm-runner.pl)@@
$(NOECHO)$(CP) $(RUNTIME_JAR) @nfpq($(DESTDIR)$(RAKUDO_HOME)/runtime)@
$(NOECHO)$(PERL5) @shquot(@script(create-jvm-runner.pl)@)@ install @q($(BASE_DIR))@ @q($(DESTDIR))@ @q($(PREFIX))@ @q(@static_nqp_home@)@ @q($(NQP_PREFIX))@ @q($(NQP_JARS))@
$(NOECHO)$(PERL5) @shquot(@script(create-jvm-runner.pl)@)@ install-debug @q($(BASE_DIR))@ @q($(DESTDIR))@ @q($(PREFIX))@ @q(@static_nqp_home@)@ @q($(NQP_PREFIX))@ @q($(NQP_JARS))@
$(NOECHO)$(PERL5) @shquot(@script(create-jvm-runner.pl)@)@ install @q($(BASE_DIR))@ @q($(DESTDIR))@ @q($(PREFIX))@ @q(@nqp_home@)@ @q(@static_nqp_home@)@ @q(@static_rakudo_home@)@ @q($(NQP_JARS))@
$(NOECHO)$(PERL5) @shquot(@script(create-jvm-runner.pl)@)@ install-debug @q($(BASE_DIR))@ @q($(DESTDIR))@ @q($(PREFIX))@ @q(@nqp_home@)@ @q(@static_nqp_home@)@ @q(@static_rakudo_home@)@ @q($(NQP_JARS))@

## cleaning
@backend_prefix@-clean:
Expand Down

0 comments on commit 077f8f9

Please sign in to comment.