1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#!/usr/bin/perl
# Copyright (C) 2013, The Perl Foundation.
use strict;
use warnings;
use 5.008;
use File::Spec;
my ($destdir, $prefix) = @ARGV;
my $realpath = $destdir.$prefix;
unless (File::Spec->file_name_is_absolute($prefix)) {
$prefix = File::Spec->rel2abs($prefix);
}
if ($^O eq 'MSWin32') {
my $jar_dir = File::Spec->catfile($prefix, 'share', 'nqp', 'runtime');
my $lib_dir = File::Spec->catfile($prefix, 'share', 'nqp', 'lib');
my $install_to = File::Spec->catfile($realpath, 'bin', 'nqp-j.bat');
open my $fh, ">", $install_to
or die "Could not open $install_to: $!";
print $fh '@java -Xss1m -Xmx1324m -Xbootclasspath/a:' . $jar_dir . '\\nqp-runtime.jar;' .
"$jar_dir\\@asmfile@;$jar_dir\\@fastutilfile@;$jar_dir\\@jlinefile@;$jar_dir\\@jnafile@;$jar_dir\\@jnaplatformfile@;$jar_dir\\@lz4file@;$lib_dir\\nqp.jar -cp $lib_dir nqp %*\n";
close $fh
or die "Could not close $install_to: $!";
}
else {
my $nqp_dir = File::Spec->catfile($prefix, qw/share nqp/);
my $jar_dir = File::Spec->catfile('${NQP_DIR}', 'runtime');
my $lib_dir = File::Spec->catfile('${NQP_DIR}', 'lib');
my $jars = "$jar_dir/nqp-runtime.jar:$jar_dir/@asmfile@:$jar_dir/@fastutilfile@:$jar_dir/@jlinefile@:$jar_dir/@jnafile@:$jar_dir/@jnaplatformfile@:$jar_dir/@lz4file@:$lib_dir/nqp.jar";
my $install_to = File::Spec->catfile($realpath, 'bin', 'nqp-j');
open my $fh, ">", $install_to
or die "Could not open $install_to: $!";
print $fh "#!/bin/sh\n";
print $fh ": \${NQP_DIR:=\"$nqp_dir\"}\n";
print $fh ": \${NQP_JARS:=\"$jars\"}\n";
print $fh "exec java -Xss1m -Xmx1324m -Xbootclasspath/a:\"\${NQP_JARS}\" -cp \"$lib_dir\" nqp \"\$\@\"\n";
close $fh
or die "Could not close $install_to: $!";
chmod 0755, $install_to;
}
|