File: install-jvm-runner.pl.in

package info (click to toggle)
nqp 2024.09%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 9,972 kB
  • sloc: java: 28,087; perl: 3,479; ansic: 451; makefile: 202; javascript: 68; sh: 1
file content (44 lines) | stat: -rw-r--r-- 1,823 bytes parent folder | download
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;
}