Hello community,

here is the log from the commit of package nqp for openSUSE:Factory checked in 
at 2020-01-29 13:18:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nqp (Old)
 and      /work/SRC/openSUSE:Factory/.nqp.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nqp"

Wed Jan 29 13:18:27 2020 rev:31 rq:768041 version:2020.01

Changes:
--------
--- /work/SRC/openSUSE:Factory/nqp/nqp.changes  2019-11-30 10:40:57.676146389 
+0100
+++ /work/SRC/openSUSE:Factory/.nqp.new.26092/nqp.changes       2020-01-29 
13:18:51.190184335 +0100
@@ -1,0 +2,12 @@
+Tue Jan 28 10:39:21 CET 2020 - [email protected]
+
+- update to version 2020.01
+  * Fix "Decoder may not be used concurrently" errors with concurrent EVAL
+  * Give HLL/Actions|Grammar a "raku" method
+  * Add NQPAttribute.is_built method
+  * Add NQPAttribute.is_bound method
+  * Change references of HLL language to 'Raku'
+  * Remove HLL dependency
+  * Fix various compiler warnings
+
+-------------------------------------------------------------------

Old:
----
  nqp-2019.11.tar.gz

New:
----
  nqp-2020.01.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nqp.spec ++++++
--- /var/tmp/diff_new_pack.JLf2Gg/_old  2020-01-29 13:18:52.522185015 +0100
+++ /var/tmp/diff_new_pack.JLf2Gg/_new  2020-01-29 13:18:52.530185019 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package nqp
 #
-# Copyright (c) 2019 SUSE LLC
+# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,15 +17,15 @@
 
 
 Name:           nqp
-Version:        2019.11
+Version:        2020.01
 Release:        1.1
 Summary:        Not Quite Perl
 License:        Artistic-2.0
 Group:          Development/Languages/Other
 URL:            http://rakudo.org/
 Source:         nqp-%{version}.tar.gz
-BuildRequires:  moarvm-devel >= 2019.11
-Requires:       moarvm >= 2019.11
+BuildRequires:  moarvm-devel >= 2020.01
+Requires:       moarvm >= 2020.01
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description

++++++ nqp-2019.11.tar.gz -> nqp-2020.01.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/.travis.yml new/nqp-2020.01/.travis.yml
--- old/nqp-2019.11/.travis.yml 2019-11-26 20:43:38.000000000 +0100
+++ new/nqp-2020.01/.travis.yml 2020-01-27 20:42:54.000000000 +0100
@@ -25,7 +25,7 @@
 notifications:
   irc:
     channels:
-    - "irc.freenode.net#perl6-dev"
+    - "irc.freenode.net#raku-dev"
     on_success: change
     on_failure: always
     template:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/3rdparty/nqp-configure/doc/Macros.md 
new/nqp-2020.01/3rdparty/nqp-configure/doc/Macros.md
--- old/nqp-2019.11/3rdparty/nqp-configure/doc/Macros.md        2019-11-26 
20:48:29.000000000 +0100
+++ new/nqp-2020.01/3rdparty/nqp-configure/doc/Macros.md        2020-01-27 
20:43:47.000000000 +0100
@@ -61,7 +61,7 @@
 detection process performed by the `Configure.pl` script, or any other source 
of
 information.
 
-For example, `@perl6_home@` could either be set with `--perl6-home` option of
+For example, `@rakudo_home@` could either be set with `--rakudo-home` option of
 `Configure.pl`, or set to a default value using a value from `@prefix@`
 variable.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/3rdparty/nqp-configure/lib/NQP/Config.pm 
new/nqp-2020.01/3rdparty/nqp-configure/lib/NQP/Config.pm
--- old/nqp-2019.11/3rdparty/nqp-configure/lib/NQP/Config.pm    2019-11-26 
20:48:29.000000000 +0100
+++ new/nqp-2020.01/3rdparty/nqp-configure/lib/NQP/Config.pm    2020-01-27 
20:43:47.000000000 +0100
@@ -1,4 +1,3 @@
-## Please see file perltidy.ERR
 use v5.10.1;
 
 package NQP::Config::_Scoping;
@@ -63,6 +62,9 @@
         windows => ';',
         default => ':',
     },
+    tab => {
+        default => "\t",
+    },
     env_open => {
         windows => '%',
         vms     => '%%',
@@ -238,9 +240,25 @@
     if ( $self->is_win ) {
         my $prefix    = $config->{prefix};
         my $has_nmake = 0 == system('nmake /? >NUL 2>&1');
-        my $has_cl    = can_run('cl') && `cl 2>&1` =~ /Microsoft Corporation/;
+        my $cl_report;
+        my $has_cl = can_run('cl')
+          && ( $cl_report = `cl 2>&1` ) =~ /Microsoft Corporation/;
         my $has_gmake = 0 == system('gmake --version >NUL 2>&1');
         my $has_gcc   = 0 == system('gcc --version >NUL 2>&1');
+        if ($has_cl) {
+            if ( $cl_report =~
+                /Microsoft\s.*\sCompiler\s+Version\s+(\d+(?:\.\d+)+)/i )
+            {
+                my $actual_version = $1;
+                my $expect_version = "19.0";
+                if ( version->parse($actual_version) < $expect_version ) {
+                    $self->sorry( "Expected Microsoft Compiler version "
+                          . $expect_version
+                          . "+, but got "
+                          . $actual_version );
+                }
+            }
+        }
         if (
             -x "$prefix\\bin\\nqp-m.exe"
             && ( $_ =
@@ -424,47 +442,28 @@
 }
 
 sub configure_jars {
-    my $self    = shift;
+    my $self = shift;
+    my $jars = shift;
+
     my $config  = $self->{config};
     my $options = $self->{options};
-    if ( $options->{'with-asm'} ) {
-        if ( $options->{'with-asm'} ne '-' ) {
-            $config->{'asm'} = $options->{'with-asm'};
-        }
-    }
-    else {
-        $config->{'asm'} = $self->base_path(qw<3rdparty asm asm-4.1.jar>);
-    }
-    if ( $options->{'with-asm-tree'} ) {
-        if ( $options->{'with-asm-tree'} ne '-' ) {
-            $config->{'asmtree'} = $options->{'with-asm-tree'};
-        }
-    }
-    else {
-        $config->{'asmtree'} =
-          $self->base_path(qw<3rdparty asm asm-tree-4.1.jar>);
-    }
-    if ( $options->{'with-jline'} ) {
-        if ( $options->{'with-jline'} ne '-' ) {
-            $config->{'jline'} = $options->{'with-jline'};
+
+    foreach my $name ( keys %$jars ) {
+        my $path     = $jars->{$name};
+        my $variable = $name;
+        $variable =~ s/-//;
+        if ( $options->{"with-$name"} ) {
+            if ( $options->{"with-$name"} ne '-' ) {
+                $config->{$variable} = $options->{"with-$name"};
+            }
         }
-    }
-    else {
-        $config->{'jline'} = $self->base_path("3rdparty/jline/jline-1.0.jar");
-    }
-    if ( $options->{'with-jna'} ) {
-        if ( $options->{'with-jna'} ne '-' ) {
-            $config->{'jna'} = $options->{'with-jna'};
+        else {
+            $config->{$variable} = $self->base_path( @{$path} );
         }
-    }
-    else {
-        $config->{'jna'} = $self->base_path("3rdparty/jna/jna-4.0.0.jar");
-    }
 
-    $config->{asmfile} = ( File::Spec->splitpath( $config->{asm} ) )[-1];
-    $config->{jlinefile} =
-      ( File::Spec->splitpath( $config->{jline} ) )[-1];
-    $config->{jnafile} = ( File::Spec->splitpath( $config->{jna} ) )[-1];
+        $config->{ $variable . 'file' } =
+          ( File::Spec->splitpath( $config->{$variable} ) )[-1];
+    }
 }
 
 sub configure_relocatability {
@@ -478,10 +477,16 @@
         );
     }
 
-    if ( $self->{options}->{relocatable} && ($self->{options}->{'perl6-home'} 
|| $self->{options}->{'nqp-home'} ) ) {
-        $self->sorry( "It's not possible to build a relocatable rakudo and use 
hard coded perl6-home"
+    if (
+        $self->{options}->{relocatable}
+        && (   $self->{options}->{'rakudo-home'}
+            || $self->{options}->{'nqp-home'} )
+      )
+    {
+        $self->sorry(
+"It's not possible to build a relocatable rakudo and use hard coded 
rakudo-home"
               . "\nor nqp-home directories. So either don't use the 
`--relocatable` parameter or don't"
-              . "\nuse the `--perl6-home` and `--nqp-home` parameters."
+              . "\nuse the `--perl6-home`, `--rakudo-home`, and `--nqp-home` 
parameters."
         );
     }
 
@@ -538,6 +543,9 @@
         $config->{mkpath} = 'mkdir -p --';
         $config->{chmod}  = 'chmod --';
         $config->{cp}     = 'cp --';
+
+        # Symlinking should override destination.
+        $config->{ln_s}   = 'ln -nfs --';
         $config->{rm_f}   = 'rm -f --';
         $config->{rm_rf}  = 'rm -rf --';
         $config->{rm_l}   = 'rm -f --';
@@ -547,6 +555,7 @@
         $config->{mkpath} = '$(PERL5) -MExtUtils::Command -e mkpath';
         $config->{chmod}  = '$(PERL5) -MExtUtils::Command -e chmod';
         $config->{cp}     = '$(PERL5) -MExtUtils::Command -e cp';
+        $config->{ln_s}   = '$(PERL5) -MExtUtils::Command -e cp';
         $config->{rm_f}   = '$(PERL5) -MExtUtils::Command -e rm_f';
         $config->{rm_rf}  = '$(PERL5) -MExtUtils::Command -e rm_rf';
         $config->{rm_l} =
@@ -568,7 +577,25 @@
 }
 
 sub configure_misc {
-    abstract;
+    my $self        = shift;
+    my $config      = $self->{config};
+    my $make_pp_pfx = $self->cfg('make_pp_pfx');
+    if ( $self->cfg('silent_build') eq 'on' ) {
+        $config->{NOECHO_declaration} = <<NOECHO_DECL;
+NOECHO = @
+${make_pp_pfx}ifdef VERBOSE_BUILD 
+NOECHO = 
+${make_pp_pfx}endif
+NOECHO_DECL
+    }
+    else {
+        $config->{NOECHO_declaration} = <<NOECHO_DECL;
+NOECHO = 
+${make_pp_pfx}ifdef SILENT_BUILD 
+NOECHO = @
+${make_pp_pfx}endif
+NOECHO_DECL
+    }
 }
 
 sub configure_refine_vars {
@@ -635,7 +662,7 @@
     my $self   = shift;
     my $config = $self->{config};
     for my $opt (
-        qw<prefix perl6-home nqp-home sdkroot sysroot github-user git-protocol
+        qw<prefix rakudo-home nqp-home sdkroot sysroot github-user git-protocol
         rakudo-repo nqp-repo moar-repo roast-repo makefile-timing
         relocatable reference>
       )
@@ -644,10 +671,17 @@
         $self->set_key( $ckey, $self->{options}{$opt}, default => '', );
     }
 
+    for my $opt ( keys %{ $self->{options} } ) {
+        my $opt_val = $self->{options}{$opt} // '';
+        next if ref($opt_val);
+        ( my $cf_var = $opt ) =~ s/-/_/g;
+        $config->{"opt_$cf_var"} = $opt_val;
+    }
+
     $config->{stagestats} = '--stagestats'
       if $self->{options}{'makefile-timing'};
 
-    $config->{noecho} = $self->option('silent-build') ? '@' : '';
+    $config->{silent_build} = $self->option('silent-build') ? "on" : "off";
 
     my ( $template, $out );
     if ( $self->option('expand') ) {
@@ -734,13 +768,13 @@
     state $bool_opt = {
         map { $_ => 1 }
           qw<
-          relocatable no-clean ignore-errors silent-build
+          force-rebuild relocatable no-clean ignore-errors silent-build
           >
     };
 
     my $opt_str = "";
     if ( $bool_opt->{$opt} ) {
-        $opt_str = "--" . ($options->{$opt} ? '' : 'no-')  . "$opt";
+        $opt_str = "--" . ( $options->{$opt} ? '' : 'no-' ) . "$opt";
     }
     elsif ( defined $options->{$opt} ) {
         my $opt_value =
@@ -761,7 +795,7 @@
 sub ignorable_opts {
     my $self = shift;
     my $opt  = shift;
-    return qw<gen-moar gen-nqp help make-install expand out
+    return qw<gen-moar gen-nqp force-rebuild help make-install expand out
       prefix backends set-var silent-build clean>;
 }
 
@@ -823,7 +857,7 @@
 sub is_executable {
     my ( $self, $file ) = @_;
     die "File parameter is missing in call to is_executable" if @_ < 2;
-    return $file if -x $file;
+    return $file                                             if -x $file;
     for my $ext (qw<exe bat>) {
         my $fname = $file . $self->cfg($ext);
         return $fname if -x $fname;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/3rdparty/nqp-configure/lib/NQP/Macros.pm 
new/nqp-2020.01/3rdparty/nqp-configure/lib/NQP/Macros.pm
--- old/nqp-2019.11/3rdparty/nqp-configure/lib/NQP/Macros.pm    2019-11-26 
20:48:29.000000000 +0100
+++ new/nqp-2020.01/3rdparty/nqp-configure/lib/NQP/Macros.pm    2020-01-27 
20:43:47.000000000 +0100
@@ -498,7 +498,10 @@
             bext           => $cfg->backend_ext($be),
             btarget        => $cfg->backend_target($be),
         );
+        my %iprops = %{ $cfg->{impls}{$be} };
+        delete $iprops{config};
         my $be_ctx = {
+            %iprops,
             backend => $be,
             configs => [ $cfg->{impls}{$be}{config}, \%config ],
         };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/Configure.pl new/nqp-2020.01/Configure.pl
--- old/nqp-2019.11/Configure.pl        2019-11-26 20:43:38.000000000 +0100
+++ new/nqp-2020.01/Configure.pl        2020-01-27 20:42:54.000000000 +0100
@@ -31,6 +31,12 @@
                       . ">>> Please delete the following folder and try 
again:\n$1\n\n";
                     exit 1;
                 }
+                else {
+                    print "\n===SORRY=== ERROR: "
+                      . "Updating the submodule failed for an unknown reason. 
The error message was:\n"
+                      . $msg;
+                    exit 1;
+                }
             }
         }
         if ($set_config) {
@@ -69,7 +75,8 @@
         'github-user=s',    'nqp-repo=s',
         'moar-repo=s',      'expand=s',
         'out=s',            'set-var=s@',
-        'relocatable!',     'silent-build!'
+        'relocatable!',     'silent-build!',
+        'force-rebuild!'
       )
       or do {
         print_help();
@@ -149,6 +156,7 @@
     --nqp-home=dir     Directory to install NQP files to
     --backends=list    Backends to use: $backends
     --gen-moar         Download, build, and install a copy of MoarVM to use 
before writing the Makefile
+    --force-rebuild    Forces rebuild of moar if used with --gen-moar
     --moar-option='--option=value'
                        Options to pass to MoarVM configuration for --gen-moar
     --with-moar='/path/to/moar'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/VERSION new/nqp-2020.01/VERSION
--- old/nqp-2019.11/VERSION     2019-11-26 20:45:37.000000000 +0100
+++ new/nqp-2020.01/VERSION     2020-01-27 20:43:31.000000000 +0100
@@ -1 +1 @@
-2019.11
+2020.01
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/docs/ops.markdown 
new/nqp-2020.01/docs/ops.markdown
--- old/nqp-2019.11/docs/ops.markdown   2019-11-26 20:43:38.000000000 +0100
+++ new/nqp-2020.01/docs/ops.markdown   2020-01-27 20:42:54.000000000 +0100
@@ -2247,6 +2247,16 @@
 
     $lang.language('My::Lang');
 
+## call
+* `call()`
+
+This method is not documented yet.
+
+Example:
+
+    nqp::call(nqp::getlexcaller('&say'), 'foo')
+
+
 ## callmethod
 * `callmethod(Mu $obj, str $methodname, *@pos, *%named --> Mu)`
 
@@ -2560,19 +2570,19 @@
 constants below can be used in nqp as (e.g.) `nqp::const::CCLASS_ANY`.
 
     * CCLASS_ANY
-    * CCLASS_UPPERCASE
-    * CCLASS_LOWERCASE
-    * CCLASS_ALPHABETIC
-    * CCLASS_NUMERIC
+    * CCLASS_UPPERCASE Lu
+    * CCLASS_LOWERCASE Ll
+    * CCLASS_ALPHABETIC Lo | Ll | Lu | Lt | Lm
+    * CCLASS_NUMERIC Nd
     * CCLASS_HEXADECIMAL
-    * CCLASS_WHITESPACE
-    * CCLASS_PRINTING
-    * CCLASS_BLANK
-    * CCLASS_CONTROL
+    * CCLASS_WHITESPACE 
(9..13,32,133,160,5760,8192..8202,8232,8233,8239,8287,12228)
+    * CCLASS_PRINTING !(0..31, 127..159)
+    * CCLASS_BLANK Zs
+    * CCLASS_CONTROL (0..31, 127..159)
     * CCLASS_PUNCTUATION
-    * CCLASS_ALPHANUMERIC
-    * CCLASS_NEWLINE
-    * CCLASS_WORD
+    * CCLASS_ALPHANUMERIC Lo | Ll | Lu | Lt | Lm | Nd
+    * CCLASS_NEWLINE Zl Zp
+    * CCLASS_WORD Lo | Ll | Lu | Lt | Lm | Nd + "_"
 
     * HLL_ROLE_NONE
     * HLL_ROLE_INT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/src/HLL/Actions.nqp 
new/nqp-2020.01/src/HLL/Actions.nqp
--- old/nqp-2019.11/src/HLL/Actions.nqp 2019-11-26 20:43:38.000000000 +0100
+++ new/nqp-2020.01/src/HLL/Actions.nqp 2020-01-27 20:42:54.000000000 +0100
@@ -1,5 +1,6 @@
 class HLL::Actions {
-    method perl() { self.HOW.name(self) ~ '.new() #`[' ~ nqp::where(self) ~ 
']' }
+    method perl() { self.raku }
+    method raku() { self.HOW.name(self) ~ '.new() #`[' ~ nqp::where(self) ~ 
']' }
 
     method string_to_int($src, $base) {
         my $res := nqp::radix($base, $src, 0, 2);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/src/HLL/Grammar.nqp 
new/nqp-2020.01/src/HLL/Grammar.nqp
--- old/nqp-2019.11/src/HLL/Grammar.nqp 2019-11-26 20:43:38.000000000 +0100
+++ new/nqp-2020.01/src/HLL/Grammar.nqp 2020-01-27 20:42:54.000000000 +0100
@@ -46,7 +46,8 @@
 #?endif
     ;
 
-    method perl() { self.HOW.name(self) ~ '.new() #`[' ~ nqp::where(self) ~ 
']' }
+    method perl() { self.raku }
+    method raku() { self.HOW.name(self) ~ '.new() #`[' ~ nqp::where(self) ~ 
']' }
 
     method throw_unrecog_backslash_seq ($sequence) {
         self.panic("Unrecognized backslash sequence: '\\" ~ $sequence ~ "'");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/src/QRegex/Cursor.nqp 
new/nqp-2020.01/src/QRegex/Cursor.nqp
--- old/nqp-2019.11/src/QRegex/Cursor.nqp       2019-11-26 20:43:38.000000000 
+0100
+++ new/nqp-2020.01/src/QRegex/Cursor.nqp       2020-01-27 20:42:54.000000000 
+0100
@@ -89,7 +89,7 @@
     method PRECURSOR() { self."!cursor_init"(nqp::getattr_s($!shared, 
ParseShared, '$!target'), :p($!from)) }
     method Str()       { $!pos >= $!from ?? 
nqp::substr(nqp::getattr_s($!shared, ParseShared, '$!target'), $!from, 
nqp::sub_i(self.to, $!from)) !! '' }
     method Num()       { nqp::numify(self.Str()) }
-    method Int()       { nqp::hllizefor(self.Str, 'perl6').Int }
+    method Int()       { self.Str().Int }
     method Bool()      { $!pos >= $!from }
     method chars()     { $!pos >= $!from ?? nqp::sub_i(self.to, $!from) !! 0 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/src/how/NQPAttribute.nqp 
new/nqp-2020.01/src/how/NQPAttribute.nqp
--- old/nqp-2019.11/src/how/NQPAttribute.nqp    2019-11-26 20:43:38.000000000 
+0100
+++ new/nqp-2020.01/src/how/NQPAttribute.nqp    2020-01-27 20:42:54.000000000 
+0100
@@ -33,6 +33,14 @@
         $!has_type ?? $!type !! nqp::null()
     }
 
+    method is_built() {
+        0
+    }
+
+    method is_bound() {
+        0
+    }
+
     method has_accessor() {
         0
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/src/vm/js/Compiler.nqp 
new/nqp-2020.01/src/vm/js/Compiler.nqp
--- old/nqp-2019.11/src/vm/js/Compiler.nqp      2019-11-26 20:43:38.000000000 
+0100
+++ new/nqp-2020.01/src/vm/js/Compiler.nqp      2020-01-27 20:42:54.000000000 
+0100
@@ -291,7 +291,7 @@
 
         return 0 if $var.scope eq 'local';
 
-        if $*HLL eq 'perl6' { # To make binding of signatures work
+        if $*HLL eq 'Raku' { # To make binding of signatures work
             return 1;
         }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/src/vm/js/nqp-runtime/core.js 
new/nqp-2020.01/src/vm/js/nqp-runtime/core.js
--- old/nqp-2019.11/src/vm/js/nqp-runtime/core.js       2019-11-26 
20:43:38.000000000 +0100
+++ new/nqp-2020.01/src/vm/js/nqp-runtime/core.js       2020-01-27 
20:42:54.000000000 +0100
@@ -109,7 +109,7 @@
   const letters = radix >= 11 ? lowercase + uppercase + uppercaseTitle + 
lowercaseTitle : '';
 
   const digitClass = '[\\pN' + letters + ']';
-  const minus = flags & 0x02 ? '(?:-?|\\+?)' : '';
+  const minus = flags & 0x02 ? '(?:-|\\+|−)?' : '';
   const regex = xregexp(
       '^' + minus + digitClass + '(?:_' + digitClass + '|' + digitClass + 
')*');
 
@@ -125,6 +125,7 @@
 
   let error;
   number = number.replace(notSimpleDigit, function(match, offset, string) {
+    if (match == '−') return '-';
     const code = match.codePointAt(0);
     const propValueId = numericTypeData.get(code);
 
@@ -628,11 +629,11 @@
 exports.fromJSToReturnValue = fromJSToReturnValue;
 
 function fromJSToArgument(obj) {
-  return fromJS(hll.getHLL('perl6'), obj, false, true);
+  return fromJS(hll.getHLL('Raku'), obj, false, true);
 }
 
 function fromJSToObject(ctx, obj) {
-  return fromJS(hll.getHLL('perl6'), obj, false, false);
+  return fromJS(hll.getHLL('Raku'), obj, false, false);
 }
 
 function fromJS(HLL, obj, isReturnValue, isArgument) {
@@ -1015,7 +1016,7 @@
 op.getcomp = function(language) {
   const compilerRegistry = globalContext.context.compilerRegistry;
 
-  if (language === 'perl6' && !compilerRegistry.has(language)) {
+  if (language === 'Raku' && !compilerRegistry.has(language)) {
     return fakePerl6;
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/src/vm/js/nqp-runtime/deserialization.js 
new/nqp-2020.01/src/vm/js/nqp-runtime/deserialization.js
--- old/nqp-2019.11/src/vm/js/nqp-runtime/deserialization.js    2019-11-26 
20:43:38.000000000 +0100
+++ new/nqp-2020.01/src/vm/js/nqp-runtime/deserialization.js    2020-01-27 
20:42:54.000000000 +0100
@@ -540,7 +540,7 @@
 
     this.sc = sc;
 
-    if (version != 21) {
+    if (version != 22) {
       throw 'Unsupported serialization format version: ' + version;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/src/vm/js/nqp-runtime/runtime.js 
new/nqp-2020.01/src/vm/js/nqp-runtime/runtime.js
--- old/nqp-2019.11/src/vm/js/nqp-runtime/runtime.js    2019-11-26 
20:43:38.000000000 +0100
+++ new/nqp-2020.01/src/vm/js/nqp-runtime/runtime.js    2020-01-27 
20:42:54.000000000 +0100
@@ -481,7 +481,7 @@
 
 const containerSpecs = require('./container-specs.js');
 exports.extraRuntime = function(lang, path) {
-  if (lang != 'perl6') throw 'only loading extra runtime for perl 6 is 
supported';
+  if (lang != 'Raku') throw 'only loading extra runtime for Raku is supported';
   const runtime = typeof path === 'string' ? require(path) : path.require(lang 
+ '-runtime');
   if (!runtime.loaded) {
     runtime.loaded = true;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/src/vm/js/nqp-runtime/serialization.js 
new/nqp-2020.01/src/vm/js/nqp-runtime/serialization.js
--- old/nqp-2019.11/src/vm/js/nqp-runtime/serialization.js      2019-11-26 
20:43:38.000000000 +0100
+++ new/nqp-2020.01/src/vm/js/nqp-runtime/serialization.js      2020-01-27 
20:42:54.000000000 +0100
@@ -25,7 +25,7 @@
 const op = {};
 exports.op = op;
 
-const CURRENT_VERSION = 21;
+const CURRENT_VERSION = 22;
 const OBJECTS_TABLE_ENTRY_SC_IDX_MAX = 0x000FFFFF;
 const OBJECTS_TABLE_ENTRY_SC_MAX = 0x7FE;
 const OBJECTS_TABLE_ENTRY_SC_SHIFT = 20;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nqp-2019.11/src/vm/jvm/runtime/org/perl6/nqp/io/StandardReadHandle.java 
new/nqp-2020.01/src/vm/jvm/runtime/org/perl6/nqp/io/StandardReadHandle.java
--- old/nqp-2019.11/src/vm/jvm/runtime/org/perl6/nqp/io/StandardReadHandle.java 
2019-11-26 20:43:38.000000000 +0100
+++ new/nqp-2020.01/src/vm/jvm/runtime/org/perl6/nqp/io/StandardReadHandle.java 
2020-01-27 20:42:54.000000000 +0100
@@ -41,12 +41,31 @@
             byte[] array = new byte[bytes];
             int read = 0;
             int offset = 0;
-            while (offset < bytes) {
-                if ((read = is.read(array, offset, bytes - offset)) == -1) {
-                    eof = true;
-                    break;
+            if (isTTY(tc)) {
+                while (offset < bytes) {
+                    read = is.read(array, offset, Math.min(is.available(), 
bytes - offset));
+                    if (read == -1) {
+                        eof = true;
+                        break;
+                    }
+                    else if (read == 0) {
+                        if (is.available() == 0 && offset > 0) {
+                            break;
+                        }
+                    }
+                    else {
+                        offset += read;
+                    }
+                }
+            }
+            else {
+                while (offset < bytes) {
+                    if ((read = is.read(array, offset, bytes - offset)) == -1) 
{
+                        eof = true;
+                        break;
+                    }
+                    offset += read;
                 }
-                offset += read;
             }
             byte[] compact = new byte[offset];
             System.arraycopy(array, 0, compact, 0, offset);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nqp-2019.11/src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java 
new/nqp-2020.01/src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java
--- old/nqp-2019.11/src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java   
2019-11-26 20:43:38.000000000 +0100
+++ new/nqp-2020.01/src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java   
2020-01-27 20:42:54.000000000 +0100
@@ -4096,8 +4096,8 @@
         }
 
         ch = (zpos < chars) ? str.charAt((int)zpos) : 0;
-        if ((flags & 0x02) != 0 && (ch == '+' || ch == '-')) {
-            neg = (ch == '-');
+        if ((flags & 0x02) != 0 && (ch == '+' || ch == '-' || ch == '−')) {
+            neg = (ch == '-' || ch == '−');
             zpos++;
             ch = (zpos < chars) ? str.charAt((int)zpos) : 0;
         }
@@ -7177,9 +7177,7 @@
         BigInteger base = getBI(tc, a, type);
         BigInteger exponent = getBI(tc, b, type);
         BigInteger modulus = getBI(tc, c, type);
-        BigInteger result = exponent.compareTo(BigInteger.ZERO) == -1 && 
!base.equals(BigInteger.ONE)
-            ? BigInteger.ZERO
-            : base.modPow(exponent, modulus);
+        BigInteger result = base.modPow(exponent, modulus);
         return makeBI(tc, type, result);
     }
 
@@ -7281,8 +7279,8 @@
         }
 
         ch = (zpos < chars) ? str.charAt((int)zpos) : 0;
-        if ((flags & 0x02) != 0 && (ch == '+' || ch == '-')) {
-            neg = (ch == '-');
+        if ((flags & 0x02) != 0 && (ch == '+' || ch == '-' || ch == '−')) {
+            neg = (ch == '-' || ch == '−');
             zpos++;
             ch = (zpos < chars) ? str.charAt((int)zpos) : 0;
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/src/vm/moar/HLL/Backend.nqp 
new/nqp-2020.01/src/vm/moar/HLL/Backend.nqp
--- old/nqp-2019.11/src/vm/moar/HLL/Backend.nqp 2019-11-26 20:43:39.000000000 
+0100
+++ new/nqp-2020.01/src/vm/moar/HLL/Backend.nqp 2020-01-27 20:42:54.000000000 
+0100
@@ -162,7 +162,7 @@
             $conf-hash := nqp::hash('kind', $kind);
         }
 
-        my @END := nqp::gethllsym('perl6', '@END_PHASERS');
+        my @END := nqp::gethllsym('Raku', '@END_PHASERS');
         @END.push(-> { self.dump_profile_data($prof_end_sub(), $kind, 
$filename) })
             if nqp::defined(@END);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/src/vm/moar/QAST/QASTCompilerMAST.nqp 
new/nqp-2020.01/src/vm/moar/QAST/QASTCompilerMAST.nqp
--- old/nqp-2019.11/src/vm/moar/QAST/QASTCompilerMAST.nqp       2019-11-26 
20:43:39.000000000 +0100
+++ new/nqp-2020.01/src/vm/moar/QAST/QASTCompilerMAST.nqp       2020-01-27 
20:42:54.000000000 +0100
@@ -2145,11 +2145,13 @@
     has %!callsites;
     has $!string-heap;
     has $!done;
+    has $!latin1decoder;
     method BUILD(:$string-heap) {
-        $!string-heap := $string-heap;
-        $!callsites   := MAST::Bytecode.new;
-        %!callsites   := nqp::hash;
-        $!done        := 0;
+        $!string-heap   := $string-heap;
+        $!callsites     := MAST::Bytecode.new;
+        %!callsites     := nqp::hash;
+        $!done          := 0;
+        $!latin1decoder := NQPDecoder.new('iso-8859-1');
     }
 
     my $callsite_arg_named := 32;
@@ -2205,7 +2207,6 @@
     my int $flatnamed := $Arg::flatnamed;
     my int $flat      := $Arg::flat;
     my int $named     := $Arg::named;
-    my $latin1decoder := NQPDecoder.new('iso-8859-1');
     method get_callsite_id_from_args(@args, @arg_mast) {
         nqp::die('get_callsite_id after serialization!') if $!done;
         my uint16 $elems := nqp::elems(@args);
@@ -2236,8 +2237,8 @@
             $i++;
         }
 
-        $latin1decoder.add-bytes($identifier); # just turn the buf into a str 
without real interpretation
-        my str $identifier_s := $latin1decoder.consume-all-chars;
+        $!latin1decoder.add-bytes($identifier); # just turn the buf into a str 
without real interpretation
+        my str $identifier_s := $!latin1decoder.consume-all-chars;
         if nqp::existskey(%!callsites, $identifier_s) {
             return %!callsites{$identifier_s};
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/src/vm/moar/runner/main.c 
new/nqp-2020.01/src/vm/moar/runner/main.c
--- old/nqp-2019.11/src/vm/moar/runner/main.c   2019-11-26 20:43:39.000000000 
+0100
+++ new/nqp-2020.01/src/vm/moar/runner/main.c   2020-01-27 20:42:54.000000000 
+0100
@@ -148,18 +148,24 @@
 
     char   *exec_path;
     size_t  exec_path_size;
+#ifndef STATIC_EXEC_PATH
     int     res;
+#endif
 
-    char   *exec_dir_path;
     char   *exec_dir_path_temp;
+#ifndef STATIC_NQP_HOME
+    char   *exec_dir_path;
     size_t  exec_dir_path_size;
+#endif
 
           char   *nqp_home;
           size_t  nqp_home_size;
+#ifndef STATIC_NQP_HOME
     const char    nqp_rel_path[14]    = "/../share/nqp";
     const size_t  nqp_rel_path_size   = 13;
     const char    nqp_check_path[28]  = "/lib/NQPCORE.setting.moarvm";
     const size_t  nqp_check_path_size = 27;
+#endif
 
     char *lib_path[1];
     char *nqp_file;
@@ -173,8 +179,10 @@
     int flag;
     int new_argc     = 0;
 
-    unsigned int interval_id;
+#ifdef HAVE_TELEMEH
+    unsigned int interval_id = 0;
     char telemeh_inited = 0;
+#endif
 
     MVMuint32 debugserverport = 0;
     int start_suspended = 0;
@@ -269,6 +277,12 @@
     /* The +1 is the trailing \0 terminating the string. */
     exec_dir_path_temp = (char*)malloc(exec_path_size + 1);
     memcpy(exec_dir_path_temp, exec_path, exec_path_size + 1);
+
+    /* Retrieve NQP_HOME. */
+
+#ifdef STATIC_NQP_HOME
+    nqp_home = STRINGIFY(STATIC_NQP_HOME);
+#else
 #ifdef _WIN32
     PathRemoveFileSpecA(exec_dir_path_temp);
     exec_dir_path_size = strlen(exec_dir_path_temp);
@@ -278,12 +292,6 @@
     exec_dir_path      = dirname(exec_dir_path_temp);
     exec_dir_path_size = strlen(exec_dir_path);
 #endif
-
-    /* Retrieve NQP_HOME. */
-
-#ifdef STATIC_NQP_HOME
-    nqp_home = STRINGIFY(STATIC_NQP_HOME);
-#else
     if (!retrieve_home(&nqp_home, nqp_rel_path, nqp_rel_path_size, "NQP_HOME",
             exec_dir_path, exec_dir_path_size, nqp_check_path, 
nqp_check_path_size)) {
         fprintf(stderr, "ERROR: NQP_HOME is invalid: %s\n", nqp_home);
@@ -346,7 +354,7 @@
 #ifndef STATIC_EXEC_PATH
     free(exec_path);
 #endif
-#ifdef _WIN32
+#if defined(_WIN32) && !defined(STATIC_NQP_HOME)
     /* dirname's return value is either on the stack or is the same pointer
      * that was passed to it depending on the version of libc used, which leads
      * to double frees. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/t/nqp/060-bigint.t 
new/nqp-2020.01/t/nqp/060-bigint.t
--- old/nqp-2019.11/t/nqp/060-bigint.t  2019-11-26 20:43:39.000000000 +0100
+++ new/nqp-2020.01/t/nqp/060-bigint.t  2020-01-27 20:42:54.000000000 +0100
@@ -203,8 +203,8 @@
 
 
is(nqp::base_I(nqp::fromstr_I('3126485650003097871900151124153820550731463512387701580',
 $bi_type), 36), '123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0', 'base_I with base 36 
using all possible digits');
 
-is(str(nqp::expmod_I(box(42), box(-42), box(42), $bi_type)), '0', 'nqp::expmod 
with negative exponent');
-is(str(nqp::expmod_I(box(-42), box(-42), box(42), $bi_type)), '0', 
'nqp::expmod with negative exponent');
+is(str(nqp::expmod_I(box(3), box(-4), box(4), $bi_type)), '1', 'nqp::expmod 
with negative exponent');
+is(str(nqp::expmod_I(box(-3), box(-4), box(4), $bi_type)), '1', 'nqp::expmod 
with negative exponent');
 
 ok(str(nqp::expmod_I(
     
nqp::fromstr_I('2988348162058574136915891421498819466320163312926952423791023078876139',
 $bi_type),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/t/nqp/081-radix.t 
new/nqp-2020.01/t/nqp/081-radix.t
--- old/nqp-2019.11/t/nqp/081-radix.t   2019-11-26 20:43:39.000000000 +0100
+++ new/nqp-2020.01/t/nqp/081-radix.t   2020-01-27 20:42:54.000000000 +0100
@@ -1,4 +1,4 @@
-plan(33*(6 + 3) + 3 + 7);
+plan(36*(6 + 3) + 3 + 7);
 
 sub test_radix($radix,$str,$pos,$flags,$value,$mult,$offset,$desc) {
     my $result := nqp::radix($radix,$str,$pos,$flags);
@@ -30,6 +30,7 @@
 test_radix_both(10,"123",0,2,  123,1000,3, "base-10 radix call with no flags" 
);
 test_radix_both(10,"+123",0,2,  123,1000,4, "base-10 radix call with flag 2 
and +" );
 test_radix_both(10,"-123",0,2,  -123,1000,4, "base-10 radix call with flag 2 
and -" );
+test_radix_both(10,"−123",0,2,  -123,1000,4, "base-10 radix call with flag 2 
and −" );
 test_radix_both(10,"-10",0,0,  0,1,-1,  "no digits consumed when we get - 
without flag");
 test_radix_both(10,"+10",0,0,  0,1,-1,  "no digits consumed when we get + 
without flag");
 
@@ -37,7 +38,8 @@
 
 test_radix_both(10, "12000", 0, 4, 12, 100, 5, "base-10 radix with flags 4");
 test_radix_both(10, "12000", 0, 5, -12, 100, 5, "base-10 radix with flags 4 
and 1");
-test_radix_both(10, "-12000", 0, 6, -12, 100, 6, "base-10 radix with flags 4 
and 2");
+test_radix_both(10, "-12000", 0, 6, -12, 100, 6, "base-10 radix with flags 4 
and 2 with -");
+test_radix_both(10, "−12000", 0, 6, -12, 100, 6, "base-10 radix with flags 4 
and 2 with −");
 
 test_radix_both(10,"123",0,2,  123,1000,3,  "basic base-10 radix call");
 test_radix_both(10,"123",1,2,  23,100,3, "basic base-10 radix call with pos" );
@@ -46,7 +48,8 @@
 test_radix_both(15,"1B",0,2,  26,225,2, "base 15 call with upper case" );
 test_radix_both(16,"1a",0,2,  26,256,2, "base 16 call with lower case" );
 test_radix_both(16,"1B",0,2,  27,256,2, "base 16 call with upper case" );
-test_radix_both(15,"-1B",0,2,  -26,225,3, "base 15 call with upper case and 
negation" );
+test_radix_both(15,"-1B",0,2,  -26,225,3, "base 15 call with upper case and 
negation with -" );
+test_radix_both(15,"−1B",0,2,  -26,225,3, "base 15 call with upper case and 
negation with −" );
 test_radix_both(10,"000123",0,2,  123,1000000,6,  "base-10 with zeros at the 
front");
 test_radix_both(10,"1_2_3",0,2,  123,1000,5,  "base-10 with underscores");
 test_radix_both(10,"not_a_number",0,2,  0,1,-1,  "no digits consumed");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/tools/lib/NQP/Config/NQP.pm 
new/nqp-2020.01/tools/lib/NQP/Config/NQP.pm
--- old/nqp-2019.11/tools/lib/NQP/Config/NQP.pm 2019-11-26 20:43:39.000000000 
+0100
+++ new/nqp-2020.01/tools/lib/NQP/Config/NQP.pm 2020-01-27 20:42:54.000000000 
+0100
@@ -1,11 +1,11 @@
-## Please see file perltidy.ERR
 package NQP::Config::NQP;
 use v5.10.1;
 use strict;
 use warnings;
 use Cwd;
 use IPC::Cmd qw<run>;
-use NQP::Config qw<slurp read_config_from_command cmp_rev system_or_die 
run_or_die>;
+use NQP::Config qw<slurp read_config_from_command cmp_rev system_or_die
+  run_or_die>;
 
 use base qw<NQP::Config>;
 
@@ -48,7 +48,7 @@
 }
 
 sub configure_refine_vars {
-    my $self = shift;
+    my $self   = shift;
     my $config = $self->{config};
 
     unless ( $self->cfg('prefix') ) {
@@ -70,14 +70,15 @@
 
     $config->{nqp_home} = $self->nfp(
         File::Spec->rel2abs(
-          $config->{nqp_home} ||
-          File::Spec->catdir( $config->{'prefix'}, 'share', 'nqp' )
+            $config->{nqp_home}
+              || File::Spec->catdir( $config->{'prefix'}, 'share', 'nqp' )
         )
     );
 }
 
 sub configure_misc {
     my $self   = shift;
+    $self->SUPER::configure_misc(@_);
     my $config = $self->{config};
 
     if ( $self->active_backend('moar') ) {
@@ -95,8 +96,8 @@
 }
 
 sub configure_moar_backend {
-    my $self  = shift;
-    my $imoar = $self->{impls}{moar};
+    my $self   = shift;
+    my $imoar  = $self->{impls}{moar};
     my $config = $self->{config};
 
     $self->gen_moar;
@@ -116,14 +117,17 @@
         my $qchar = $config->{quote};
         $imoar->{config}{static_nqp_home} = $config->{nqp_home};
         $imoar->{config}{static_nqp_home_define} =
-          '-DSTATIC_NQP_HOME='
-          . $qchar . $self->c_escape_string( $imoar->{config}{static_nqp_home} 
) . $qchar;
+            '-DSTATIC_NQP_HOME='
+          . $qchar
+          . $self->c_escape_string( $imoar->{config}{static_nqp_home} )
+          . $qchar;
     }
 
     # Strip rpath from ldflags so we can set it differently ourself.
     $imoar->{config}{ldflags} = $moar_config->{'moar::ldflags'};
     $imoar->{config}{ldflags} =~ s/\Q$moar_config->{'moar::ldrpath'}\E ?//;
-    $imoar->{config}{ldflags} =~ 
s/\Q$moar_config->{'moar::ldrpath_relocatable'}\E ?//;
+    $imoar->{config}{ldflags} =~
+      s/\Q$moar_config->{'moar::ldrpath_relocatable'}\E ?//;
     if ( $self->cfg('prefix') ne '/usr' ) {
         $imoar->{config}{ldflags} .= ' '
           . (
@@ -146,7 +150,8 @@
         if ( $moar_config->{'moar::os'} eq 'mingw32' ) {
             $imoar->{config}{mingw_unicode} = '-municode';
         }
-        push @c_runner_libs, sprintf( $moar_config->{'moar::ldusr'}, 'Shlwapi' 
);
+        push @c_runner_libs,
+          sprintf( $moar_config->{'moar::ldusr'}, 'Shlwapi' );
     }
     $imoar->{config}{c_runner_libs} = join( " ", @c_runner_libs );
     $imoar->{config}{moar_lib}      = sprintf(
@@ -232,6 +237,19 @@
     $j_config->{'runner'} = $self->batch_file('nqp');
 }
 
+sub configure_jars {
+    my $self    = shift;
+
+    $self->SUPER::configure_jars(
+        {
+            asm => [qw<3rdparty asm asm-4.1.jar>],
+            'asm-tree' => [qw<3rdparty asm asm-tree-4.1.jar>],
+            jline => [qw<3rdparty jline jline-1.0.jar>],
+            jna => [qw<3rdparty jna jna-4.0.0.jar>],
+        }
+    );
+}
+
 sub post_active_backends {
     my $self = shift;
 
@@ -249,12 +267,12 @@
 
     return $moar_config if $moar_config && keys %{$moar_config} > 2;
 
-    my $prefix   = $self->cfg('prefix');
+    my $prefix = $self->cfg('prefix');
     my $moar_prefix;
     my $moar_exe;
 
     if ( $self->opt('with-moar') ) {
-        $moar_exe = File::Spec->rel2abs($self->opt('with-moar'));
+        $moar_exe = File::Spec->rel2abs( $self->opt('with-moar') );
     }
     else {
         if ($prefix) {
@@ -277,13 +295,16 @@
     }
 
     my %c;
-    if ( $self->is_executable($self->nfp($moar_exe)) ) {
-        %c = read_config_from_command(
-            '"' . $self->nfp( $moar_exe ) . '"'
-            . ' --libpath=' . $self->nfp( 'src/vm/moar/stage0' ) . ' '
-            . $self->nfp( 'src/vm/moar/stage0/nqp.moarvm' )
-            . ' --bootstrap --show-config' );
-        %c = map { rindex($_, 'moar::', 0) == 0 ? ($_ => $c{$_}) : () } keys 
%c;
+    if ( $self->is_executable( $self->nfp($moar_exe) ) ) {
+        %c =
+          read_config_from_command( '"'
+              . $self->nfp($moar_exe) . '"'
+              . ' --libpath='
+              . $self->nfp('src/vm/moar/stage0') . ' '
+              . $self->nfp('src/vm/moar/stage0/nqp.moarvm')
+              . ' --bootstrap --show-config' );
+        %c = map { rindex( $_, 'moar::', 0 ) == 0 ? ( $_ => $c{$_} ) : () }
+          keys %c;
     }
 
     return $self->backend_config( 'moar',
@@ -302,10 +323,11 @@
     my $moar_have;
     my @errors;
 
-    my $prefix   = $config->{prefix};
-    my $gen_moar = $options->{'gen-moar'};
-    my $has_gen_moar = defined $gen_moar;
-    my @opts     = @{ $options->{'moar-option'} || [] };
+    my $prefix        = $config->{prefix};
+    my $gen_moar      = $options->{'gen-moar'};
+    my $force_rebuild = $options->{'force-rebuild'};
+    my $has_gen_moar  = defined $gen_moar;
+    my @opts          = @{ $options->{'moar-option'} || [] };
     push @opts, "--optimize";
     push @opts, '--relocatable' if $options->{relocatable};
     my $startdir     = $config->{base_dir};
@@ -314,6 +336,12 @@
     my $moar_exe            = $self->moar_config->{moar};
     my $moar_version_output = "";
 
+    if ( $force_rebuild && !$has_gen_moar ) {
+        $self->note( "WARNING",
+"Command line option --force-rebuild is ineffective without --gen-moar"
+        );
+    }
+
     if ( $self->is_executable($moar_exe) ) {
         $moar_version_output = run_or_die( [ $moar_exe, '--version' ] );
 
@@ -325,37 +353,49 @@
         $try_generate = $has_gen_moar;
     }
 
-    my $moar_ok =
-      $moar_have && cmp_rev( $moar_have, $moar_want, "MoarVM" ) >= 0;
-    if ($moar_ok) {
-        $self->msg(
-            "Found $moar_exe version $moar_have, which is new enough.\n");
-    }
-    elsif ($moar_have) {
-        push @errors,
-"Found $moar_exe version $moar_have, which is too old. Wanted at least 
$moar_want\n";
-        $try_generate = $has_gen_moar unless $options->{'ignore-errors'};
-    }
-    elsif ($moar_version_output
-        && $moar_version_output =~ /This is MoarVM version/i )
-    {
-        push @errors,
-          "Found a MoarVM binary but was not able to get its version number.\n"
-          . "If running `git describe` inside the MoarVM repository does not 
work,\n"
-          . "you need to make sure to checkout tags of the repository and run 
\nConfigure.pl and make install again\n";
-        $try_generate = $has_gen_moar;
+    unless ($force_rebuild) {
+        my $moar_ok =
+          $moar_have && cmp_rev( $moar_have, $moar_want, "MoarVM" ) >= 0;
+        if ($moar_ok) {
+            $self->msg(
+                "Found $moar_exe version $moar_have, which is new enough.\n");
+        }
+        elsif ($moar_have) {
+            push @errors,
+              "Found $moar_exe version $moar_have, which is too old. "
+              . "Wanted at least $moar_want\n";
+            $try_generate = $has_gen_moar unless $options->{'ignore-errors'};
+        }
+        elsif ($moar_version_output
+            && $moar_version_output =~ /This is MoarVM version/i )
+        {
+            push @errors,
+                "Found a MoarVM binary "
+              . " but was not able to get its version number.\n"
+              . "If running `git describe` inside the MoarVM repository does 
not work,\n"
+              . "you need to make sure to checkout tags of the repository and 
run \n"
+              . "Configure.pl and make install again\n";
+            $try_generate = $has_gen_moar;
+        }
     }
 
     if (@errors) {
         if ($try_generate) {
-            $self->note("ATTENTION!", $_) foreach @errors;
+            $self->note( "ATTENTION!", $_ ) foreach @errors;
         }
         else {
             $self->sorry(@errors);
         }
     }
 
-    if ( $try_generate ) {
+    if ( $try_generate || ( $has_gen_moar && $force_rebuild ) ) {
+
+        # Don't expect any particular commit in MoarVM/ if the repo is already
+        # checked out.
+        my $expected_spec =
+          -d File::Spec->catdir( $self->cfg('base_dir'), 'MoarVM', '.git' )
+          ? undef
+          : $moar_want;
 
         my $moar_repo =
           $self->git_checkout( 'moar', 'MoarVM', $gen_moar || $moar_want );
@@ -451,7 +491,7 @@
     return $self->expand(<<TPL);
 $text
 \t\@echo(+++ Generating\t\$\@)@
-\t\@noecho\@\@bpm(\@ucstage\@_GEN_CAT)\@ \@prereqs\@ > \$\@
+\t\$(NOECHO)\@bpm(\@ucstage\@_GEN_CAT)\@ \@prereqs\@ > \$\@
 TPL
 }
 
@@ -465,7 +505,7 @@
     return $self->expand(<<TPL);
 $text
 \t\@echo(+++ Compiling\t\$\@)@
-\t\@noecho\@\@bpm(STAGE\@prev_stage\@_NQP)\@\@expand(\@setting_path_param\@\@module_path_param\@)\@
 --no-regex-lib --target=\@btarget\@ --setting=\@nqp_setting\@ 
\@bpm(PRECOMP_\@ucstage\@_FLAGS)\@ --output=\$\@ \@prereqs\@
+\t\$(NOECHO)\@bpm(STAGE\@prev_stage\@_NQP)\@\@expand(\@setting_path_param\@\@module_path_param\@)\@
 --no-regex-lib --target=\@btarget\@ --setting=\@nqp_setting\@ 
\@bpm(PRECOMP_\@ucstage\@_FLAGS)\@ --output=\$\@ \@prereqs\@
 TPL
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/tools/templates/MOAR_REVISION 
new/nqp-2020.01/tools/templates/MOAR_REVISION
--- old/nqp-2019.11/tools/templates/MOAR_REVISION       2019-11-26 
20:45:37.000000000 +0100
+++ new/nqp-2020.01/tools/templates/MOAR_REVISION       2020-01-27 
20:43:30.000000000 +0100
@@ -1 +1 @@
-2019.11
+2020.01.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nqp-2019.11/tools/templates/Makefile-backend-common.in 
new/nqp-2020.01/tools/templates/Makefile-backend-common.in
--- old/nqp-2019.11/tools/templates/Makefile-backend-common.in  2019-11-26 
20:43:39.000000000 +0100
+++ new/nqp-2020.01/tools/templates/Makefile-backend-common.in  2020-01-27 
20:42:54.000000000 +0100
@@ -55,7 +55,7 @@
 
 @backend_prefix@-dirs::
        @echo(+++ Preparing @uc(@backend@)@ build directories)@
-       @noecho@$(MKPATH)@for_stages( @stage_dir@)@
+       $(NOECHO)$(MKPATH)@for_stages( @stage_dir@)@
 
 @backend_prefix@-stage0::
        @echo(++++++ BUILDING @uc(@backend@)@ BACKEND)@
@@ -120,21 +120,21 @@
 
 @nfp(@stage_dir@/@bsm(NQP)@)@: @prev_stage_dir@ @nfp(@stage_dir@/@bsm(QAST)@)@ 
@nfp(@stage_dir@/@bsm(P6QREGEX)@)@ @bpm(SOURCES)@
        @echo(+++ Creating      stage @stage@ NQP)@
-       @noecho@$(PERL5) @shquot(@script(gen-version.pl)@)@ @q($(PREFIX))@ 
@q($(NQP_HOME))@ @q($(NQP_LIB_DIR))@ > @nfpq(@stage_dir@/nqp-config.nqp)@
-       @noecho@@bpm(@ucstage@_GEN_CAT)@ @bpm(NQP_SOURCES)@ 
@nfpq(@stage_dir@/nqp-config.nqp)@ > @nfpq(@stage_dir@/$(NQP_COMBINED))@
-       @noecho@@bpm(@ucprev_stage@_NQP)@ --module-path=@shquot(@stage_dir@)@ 
--setting-path=@shquot(@stage_dir@)@ \
+       $(NOECHO)$(PERL5) @shquot(@script(gen-version.pl)@)@ @q($(PREFIX))@ 
@q($(NQP_HOME))@ @q($(NQP_LIB_DIR))@ > @nfpq(@stage_dir@/nqp-config.nqp)@
+       $(NOECHO@nop())@@bpm(@ucstage@_GEN_CAT)@ @bpm(NQP_SOURCES)@ 
@nfpq(@stage_dir@/nqp-config.nqp)@ > @nfpq(@stage_dir@/$(NQP_COMBINED))@
+       $(NOECHO@nop())@@bpm(@ucprev_stage@_NQP)@ 
--module-path=@shquot(@stage_dir@)@ --setting-path=@shquot(@stage_dir@)@ \
            --setting=NQPCORE --target=@btarget@ --no-regex-lib 
@bpm(PRECOMP_@ucstage@_FLAGS)@ @bpm(NQP_@ucstage@_FLAGS)@ \
            --output=@nfpq(@stage_dir@/@bsm(NQP)@)@ 
@nfpq(@stage_dir@/$(NQP_COMBINED))@
 )@
 
 @bsm(NQP)@: @backend_prefix@-stage2 #@bpm(STAGE2_OUTPUT)@
        @echo(+++ Installing @uc(@backend@)@ stage 2 files locally)@
-       @noecho@$(CP) @bpm(STAGE2_OUTPUT)@ .
+       $(NOECHO)$(CP) @bpm(STAGE2_OUTPUT)@ .
 
 @bsm(P5QREGEX)@: $(P5QREGEX_SOURCES) @bsm(NQP)@ @bpm(BUILD_RUNNER)@
        @echo(+++ Compiling     $@)@
-       @noecho@@bpm(GEN_CAT)@ stage2 $(P5QREGEX_SOURCES) > 
@nfpq(@bpm(STAGE2_DIR)@/$(P5QREGEX_COMBINED))@
-       @noecho@@bpm(BUILD_RUNNER_BIN)@ --target=@btarget@ 
--output=@bsm(P5QREGEX)@ \
+       $(NOECHO@nop())@@bpm(GEN_CAT)@ stage2 $(P5QREGEX_SOURCES) > 
@nfpq(@bpm(STAGE2_DIR)@/$(P5QREGEX_COMBINED))@
+       $(NOECHO@nop())@@bpm(BUILD_RUNNER_BIN)@ --target=@btarget@ 
--output=@bsm(P5QREGEX)@ \
            @nfpq(@bpm(STAGE2_DIR)@/$(P5QREGEX_COMBINED))@
 
 @bpv(CLEANUPS)@ = \
@@ -148,22 +148,22 @@
 
 @backend_prefix@-clean::
        @echo(+++ Cleaning @uc(@backend@)@ backend)@
-       @noecho@$(RM_RF) @bpm(CLEANUPS)@ @bpm(CLEANUPS_EXTRA)@
+       $(NOECHO)$(RM_RF) @bpm(CLEANUPS)@ @bpm(CLEANUPS_EXTRA)@
 
 @backend_prefix@-install-dirs::
        @echo(+++ Creating @uc(@backend@)@ installation directories)@
-       @noecho@$(MKPATH) @q($(DESTDIR)$(BIN_DIR))@
-       @noecho@$(MKPATH) @q($(DESTDIR)$(NQP_LIB_DIR))@
-       @noecho@$(MKPATH) @q($(DESTDIR@nop())@@bsm(NQP_LIB_DIR)@)@
+       $(NOECHO)$(MKPATH) @q($(DESTDIR)$(BIN_DIR))@
+       $(NOECHO)$(MKPATH) @q($(DESTDIR)$(NQP_LIB_DIR))@
+       $(NOECHO)$(MKPATH) @q($(DESTDIR@nop())@@bsm(NQP_LIB_DIR)@)@
 
 @backend_prefix@-install:: @backend_prefix@-all @backend_prefix@-install-dirs 
@@configure_script@@
        @echo(+++ Installing into $(DESTDIR)$(PREFIX))@
-       @noecho@$(CP) @bpm(STAGE2_OUTPUT)@ @q($(DESTDIR)$(NQP_LIB_DIR))@
-       @noecho@$(CP) @bsm(P5QREGEX)@ @q($(DESTDIR)$(NQP_LIB_DIR))@
+       $(NOECHO)$(CP) @bpm(STAGE2_OUTPUT)@ @q($(DESTDIR)$(NQP_LIB_DIR))@
+       $(NOECHO)$(CP) @bsm(P5QREGEX)@ @q($(DESTDIR)$(NQP_LIB_DIR))@
 
 @backend_prefix@-bootstrap-files: @bpm(STAGE2_OUTPUT)@
        @echo(+++ BOOTSTRAPPING into @bpm(STAGE0_DIR)@)@
-       @noecho@$(CP) @bpm(STAGE2_OUTPUT)@ @bpm(STAGE0_DIR)@
+       $(NOECHO)$(CP) @bpm(STAGE2_OUTPUT)@ @bpm(STAGE0_DIR)@
 
 ## testing
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/tools/templates/Makefile-common.in 
new/nqp-2020.01/tools/templates/Makefile-common.in
--- old/nqp-2019.11/tools/templates/Makefile-common.in  2019-11-26 
20:43:39.000000000 +0100
+++ new/nqp-2020.01/tools/templates/Makefile-common.in  2020-01-27 
20:42:54.000000000 +0100
@@ -1,5 +1,6 @@
 # common definitions used by all backends
 
+@NOECHO_declaration@
 COMMON_HLL_SOURCES = \
   @nfp(src/HLL/Grammar.nqp)@ \
   @nfp(src/HLL/Actions.nqp)@ \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/tools/templates/jvm/Makefile.in 
new/nqp-2020.01/tools/templates/jvm/Makefile.in
--- old/nqp-2019.11/tools/templates/jvm/Makefile.in     2019-11-26 
20:43:39.000000000 +0100
+++ new/nqp-2020.01/tools/templates/jvm/Makefile.in     2020-01-27 
20:42:54.000000000 +0100
@@ -23,14 +23,14 @@
   @nfp(src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/*.java)@ \
   @nfp(src/vm/jvm/runtime/org/perl6/nqp/tools/*.java)@ \
 
-@bsv(RUNTIME)@ = nqp-runtime.@bext@
+@bsv(RUNTIME)@ = @nfp(@bpm(RUNNER_JAR_DIR)@/nqp-runtime.@bext@)@
 THIRDPARTY_JARS = $(ASM)@cpsep@$(ASMTREE)@cpsep@$(JLINE)@cpsep@$(JNA)
-@bpv(RUNNER_JARS)@ = @nfplq(nqp-runtime.@bext@ $(ASM) $(ASMTREE) $(JLINE) 
$(JNA))@
+@bpv(RUNNER_JARS)@ = @nfplq($(ASM) $(ASMTREE) $(JLINE) $(JNA))@
 @bpv(RUNNER_LIBS)@ = @nfplq(nqp.@bext@)@
 @bpv(EVAL_CLIENT)@ = @nfp(tools/jvm/eval-client.pl)@
 
-@bpv(STAGE0_NQP)@ = $(JAVA) -cp @bpm(STAGE0_DIR)@ 
-Xbootclasspath/a:@bpm(STAGE0_DIR)@@[email protected]@cpsep@@q($(THIRDPARTY_JARS))@@cpsep@@nfp(@bpm(STAGE0_DIR)@/nqp.jar)@
 nqp --bootstrap
-@bpv(STAGE1_NQP)@ = $(JAVA) -cp @bpm(STAGE1_DIR)@ 
-Xbootclasspath/a:@bpm(STAGE1_DIR)@@[email protected]@cpsep@@q($(THIRDPARTY_JARS))@@cpsep@@nfp(@bpm(STAGE1_DIR)@/nqp.jar)@
 nqp --bootstrap
+@bpv(STAGE0_NQP)@ = $(JAVA) -cp @bpm(STAGE0_DIR)@ 
-Xbootclasspath/a:@bpm(STAGE0_DIR)@@cpsep@@bsm(RUNTIME)@@cpsep@@q($(THIRDPARTY_JARS))@@cpsep@@nfp(@bpm(STAGE0_DIR)@/nqp.jar)@
 nqp --bootstrap
+@bpv(STAGE1_NQP)@ = $(JAVA) -cp @bpm(STAGE1_DIR)@ 
-Xbootclasspath/a:@bpm(STAGE1_DIR)@@cpsep@@bsm(RUNTIME)@@cpsep@@q($(THIRDPARTY_JARS))@@cpsep@@nfp(@bpm(STAGE1_DIR)@/nqp.jar)@
 nqp --bootstrap
 
 @for_stages(@bpv(@ucstage@_GEN_CAT)@ = @bpm(GEN_CAT)@ @lcstage@
 @bpv(NQP_@ucstage@_FLAGS)@ = --javaclass=nqp
@@ -54,49 +54,49 @@
 @bpm(STAGE0_DIR)@: @bsm(RUNTIME)@
 
 @backend_prefix@-dirs::
-       @noecho@$(MKPATH) @q(@bpm(RUNNER_JAR_DIR)@)@ @q(@bpm(RUNNER_LIB_DIR)@)@
+       $(NOECHO)$(MKPATH) @q(@bpm(RUNNER_JAR_DIR)@)@ @q(@bpm(RUNNER_LIB_DIR)@)@
 
 @backend_prefix@-install::
        @echo(+++ Installing @uc(@backend@)@ specifics)@
-       @noecho@$(CP) @q($(ASM))@ @q($(ASMTREE))@ 
@q($(DESTDIR@nop())@@bsm(NQP_LIB_DIR)@)@
-       @noecho@$(CP) @q($(JLINE))@ @q($(JNA))@ 
@q($(DESTDIR@nop())@@bsm(NQP_LIB_DIR)@)@
-       @noecho@$(CP) @q(@bsm(RUNTIME)@)@ 
@q($(DESTDIR@nop())@@bsm(NQP_LIB_DIR)@)@
-       @noecho@$(CP) @q(@bpm(EVAL_CLIENT)@)@ @q($(DESTDIR)$(BIN_DIR))@
-       @noecho@$(CHMOD) 0755 @nfpq($(DESTDIR)$(BIN_DIR)/eval-client.pl)@
-       @noecho@$(CONFIGURE) --expand=nqp-j 
--out=@nfpq($(DESTIR)$(PREFIX)/bin/@bpm(BUILD_RUNNER)@)@ \
+       $(NOECHO)$(CP) @q($(ASM))@ @q($(ASMTREE))@ 
@q($(DESTDIR@nop())@@bsm(NQP_LIB_DIR)@)@
+       $(NOECHO)$(CP) @q($(JLINE))@ @q($(JNA))@ 
@q($(DESTDIR@nop())@@bsm(NQP_LIB_DIR)@)@
+       $(NOECHO)$(CP) @q(@bsm(RUNTIME)@)@ 
@q($(DESTDIR@nop())@@bsm(NQP_LIB_DIR)@)@
+       $(NOECHO)$(CP) @q(@bpm(EVAL_CLIENT)@)@ @q($(DESTDIR)$(BIN_DIR))@
+       $(NOECHO)$(CHMOD) 0755 @nfpq($(DESTDIR)$(BIN_DIR)/eval-client.pl)@
+       $(NOECHO)$(CONFIGURE) --expand=nqp-j 
--out=@nfpq($(DESTIR)$(PREFIX)/bin/@bpm(BUILD_RUNNER)@)@ \
                                 
--set-var=ctx_subdir=@shquot(@backend_subdir@)@ \
                                 
--set-var=jar_dir=@q($(DESTIR@nop())@@bsm(NQP_LIB_DIR)@)@ \
                                 --set-var=lib_dir=@q($(DESTIR)$(NQP_LIB_DIR))@ 
\
                                 --set-var=cur_dir=@q()@
-       @noecho@$(CHMOD) 755 @nfpq($(DESTIR)$(PREFIX)/bin/@bpm(BUILD_RUNNER)@)@
+       $(NOECHO)$(CHMOD) 755 @nfpq($(DESTIR)$(PREFIX)/bin/@bpm(BUILD_RUNNER)@)@
 
 @bsm(RUNTIME)@: $(RUNTIME_JAVAS) @mkquot(@script(gen-jvm-properties.pl)@)@
        @echo(+++ Preparing Java runtime)@
-       @noecho@$(MKPATH) bin
-       @noecho@$(JAVAC) --release 9 -cp @q($(THIRDPARTY_JARS))@ -g -d bin 
-encoding UTF8 $(RUNTIME_JAVAS)
-       @noecho@$(PERL5) @shquot(@script(gen-jvm-properties.pl)@)@ . 
@nfpq($(NQP_HOME))@ @q($(THIRDPARTY_JARS))@ > jvmconfig.properties
-       @noecho@$(PERL5) @shquot(@script(gen-jvm-properties.pl)@)@ 
@nfpq(@prefix@)@ @nfpq($(NQP_HOME))@ @q($(THIRDPARTY_JARS))@ > 
@nfpq(bin/jvmconfig.properties)@
-       @noecho@$(JAR) cf0 nqp-runtime.jar -C @nfp(bin/)@ .
+       $(NOECHO)$(MKPATH) bin
+       $(NOECHO)$(JAVAC) --release 9 -cp @q($(THIRDPARTY_JARS))@ -g -d bin 
-encoding UTF8 $(RUNTIME_JAVAS)
+       $(NOECHO)$(PERL5) @shquot(@script(gen-jvm-properties.pl)@)@ . 
@nfpq($(NQP_HOME))@ @q($(THIRDPARTY_JARS))@ > jvmconfig.properties
+       $(NOECHO)$(PERL5) @shquot(@script(gen-jvm-properties.pl)@)@ 
@nfpq(@prefix@)@ @nfpq($(NQP_HOME))@ @q($(THIRDPARTY_JARS))@ > 
@nfpq(bin/jvmconfig.properties)@
+       $(NOECHO)$(JAR) cf0 @bsm(RUNTIME)@ -C @nfp(bin/)@ .
 
 @bpm(BUILD_RUNNER)@: @mkquot(@configure_script@)@ @@template(nqp-j)@@ 
@@template(runner-prelude)@@
        @echo(+++ Setting up    $@)@
-       @noecho@$(CP) @bpm(RUNNER_JARS)@ @q(@bpm(RUNNER_JAR_DIR)@)@
-       @noecho@$(CP) @bpm(RUNNER_LIBS)@ @q(@bpm(RUNNER_LIB_DIR)@)@
-       @noecho@$(CONFIGURE) --expand=nqp-j 
--out=@nfpq($(BASE_DIR)/@bpm(BUILD_RUNNER)@)@ \
+       $(NOECHO)$(CP) @bpm(RUNNER_JARS)@ @q(@bpm(RUNNER_JAR_DIR)@)@
+       $(NOECHO)$(CP) @bpm(RUNNER_LIBS)@ @q(@bpm(RUNNER_LIB_DIR)@)@
+       $(NOECHO)$(CONFIGURE) --expand=nqp-j 
--out=@nfpq($(BASE_DIR)/@bpm(BUILD_RUNNER)@)@ \
                                 --set-var=ctx_subdir=@q(@backend_subdir@)@ \
                                 --set-var=jar_dir=@q(@bpm(RUNNER_JAR_DIR)@)@ \
                                 --set-var=lib_dir=@q(@bpm(RUNNER_LIB_DIR)@)@ \
                                 --set-var=cur_dir=@q(.:)@
-       @noecho@$(CHMOD) 755 @q(@bpm(BUILD_RUNNER)@)@
+       $(NOECHO)$(CHMOD) 755 @q(@bpm(BUILD_RUNNER)@)@
 
 @backend_prefix@-runner-default: @backend_prefix@-all
        @echo(+++ Setting up default runner)@
-       @noecho@$(CP) @q(@bpm(BUILD_RUNNER)@)@ @bpm(NQP)@
-       @noecho@$(CHMOD) 755 @bpm(NQP)@
+       $(NOECHO)$(CP) @q(@bpm(BUILD_RUNNER)@)@ @bpm(NQP)@
+       $(NOECHO)$(CHMOD) 755 @bpm(NQP)@
 
 @backend_prefix@-runner-default-install: @backend_prefix@-runner-default 
@backend_prefix@-install
        @echo(+++ Installing default runner)@
-       @noecho@$(CP) @nfpq($(DESTDIR)$(BIN_DIR)/@bpm(BUILD_RUNNER)@)@ 
@nfpq($(DESTDIR)$(BIN_DIR)/@bpm(NQP)@)@
-       @noecho@$(CHMOD) 755 @nfpq($(DESTDIR)$(BIN_DIR)/@bpm(NQP)@)@
+       $(NOECHO)$(CP) @nfpq($(DESTDIR)$(BIN_DIR)/@bpm(BUILD_RUNNER)@)@ 
@nfpq($(DESTDIR)$(BIN_DIR)/@bpm(NQP)@)@
+       $(NOECHO)$(CHMOD) 755 @nfpq($(DESTDIR)$(BIN_DIR)/@bpm(NQP)@)@
 
 # vim: ft=make noexpandtab ts=4 sw=4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nqp-2019.11/tools/templates/moar/Makefile.in 
new/nqp-2020.01/tools/templates/moar/Makefile.in
--- old/nqp-2019.11/tools/templates/moar/Makefile.in    2019-11-26 
20:43:39.000000000 +0100
+++ new/nqp-2020.01/tools/templates/moar/Makefile.in    2020-01-27 
20:42:54.000000000 +0100
@@ -38,13 +38,13 @@
 @backend_prefix@-all:: @bpm(INST_NQP_M)@ @bpm(INST_NQP)@
 
 @backend_prefix@-install-dirs::
-       @noecho@$(MKPATH) @nfpq($(DESTDIR)$(NQP_LIB_DIR)/profiler)@
+       $(NOECHO)$(MKPATH) @nfpq($(DESTDIR)$(NQP_LIB_DIR)/profiler)@
 
 @backend_prefix@-install::
        @echo(+++ Installing @uc(@backend@)@ specifics)@
-       @noecho@$(CP) @bsm(ASTOPS)@ @q($(DESTDIR)$(NQP_LIB_DIR))@
-       @noecho@$(CP) @nfp(src/vm/moar/profiler/template.html)@ 
@nfpq($(DESTDIR)$(NQP_LIB_DIR)/profiler/template.html)@
-       @noecho@$(CP) @bpm(INST_NQP_M)@ 
@nfpq($(DESTDIR)$(BIN_DIR)/@bpm(NQP_M)@)@
+       $(NOECHO)$(CP) @bsm(ASTOPS)@ @q($(DESTDIR)$(NQP_LIB_DIR))@
+       $(NOECHO)$(CP) @nfp(src/vm/moar/profiler/template.html)@ 
@nfpq($(DESTDIR)$(NQP_LIB_DIR)/profiler/template.html)@
+       $(NOECHO)$(CP) @bpm(INST_NQP_M)@ 
@nfpq($(DESTDIR)$(BIN_DIR)/@bpm(NQP_M)@)@
 @expand(@m_install@)@
 
 # FIXME:
@@ -68,42 +68,42 @@
 
 @bpm(INST_NQP)@: @nfp(src/vm/moar/runner/main.c)@
        @echo(+++ Compiling     $@)@
-       @noecho@$(RM_F) $@
+       $(NOECHO)$(RM_F) $@
 # Using only the pkgconfig moar includes does not work, because moar.h assumes 
all the specific includes below.
-       @noecho@@bpm(CC_INST_NQP)@ @if(relocatable 
-DSTATIC_EXEC_PATH=@q(@c_escape(@nfp(@prefix@/bin/@bpm(NQP)@)@)@)@)@ 
@moar::ccout@inst-nqp@moar::obj@ @nfp(src/vm/moar/runner/main.c)@
-       @noecho@@bpm(LD_INST_NQP)@ @moar::ldout@$@ inst-nqp@moar::obj@ 
@bpm(LD_INST_NQP_POST)@
+       $(NOECHO)@bpm(CC_INST_NQP)@ @if(relocatable 
-DSTATIC_EXEC_PATH=@q(@c_escape(@nfp(@prefix@/bin/@bpm(NQP)@)@)@)@)@ 
@moar::ccout@inst-nqp@moar::obj@ @nfp(src/vm/moar/runner/main.c)@
+       $(NOECHO)@bpm(LD_INST_NQP)@ @moar::ldout@$@ inst-nqp@moar::obj@ 
@bpm(LD_INST_NQP_POST)@
 
 @bpm(INST_NQP_M)@: @nfp(src/vm/moar/runner/main.c)@
        @echo(+++ Compiling     $@)@
-       @noecho@$(RM_F) $@
+       $(NOECHO)$(RM_F) $@
 # Using only the pkgconfig moar includes does not work, because moar.h assumes 
all the specific includes below.
-       @noecho@@bpm(CC_INST_NQP)@ @if(relocatable 
-DSTATIC_EXEC_PATH=@q(@c_escape(@nfp(@prefix@/bin/@bpm(NQP_M)@)@)@)@)@ 
@moar::ccout@inst-nqp-m@moar::obj@ @nfp(src/vm/moar/runner/main.c)@
-       @noecho@@bpm(LD_INST_NQP)@ @moar::ldout@$@ inst-nqp-m@moar::obj@ 
@bpm(LD_INST_NQP_POST)@
+       $(NOECHO)@bpm(CC_INST_NQP)@ @if(relocatable 
-DSTATIC_EXEC_PATH=@q(@c_escape(@nfp(@prefix@/bin/@bpm(NQP_M)@)@)@)@)@ 
@moar::ccout@inst-nqp-m@moar::obj@ @nfp(src/vm/moar/runner/main.c)@
+       $(NOECHO)@bpm(LD_INST_NQP)@ @moar::ldout@$@ inst-nqp-m@moar::obj@ 
@bpm(LD_INST_NQP_POST)@
 
 @bpm(BUILD_RUNNER)@: @@configure_script@@ 
@@template(@platform@/nqp-m-build.c)@@
        @echo(+++ Setting up    $@)@
-       @noecho@$(RM_F) @q(@bpm(BUILD_RUNNER)@)@
-       @noecho@$(CONFIGURE) --expand @@template(@platform@/nqp-m-build.c)@@ 
--out nqp-m.c \
+       $(NOECHO)$(RM_F) @q(@bpm(BUILD_RUNNER)@)@
+       $(NOECHO)$(CONFIGURE) --expand @@template(@platform@/nqp-m-build.c)@@ 
--out nqp-m.c \
                --set-var=MOAR=@shquot(@nfp(@moar@)@)@ \
                --set-var=base_dir=@shquot(@nfp($(BASE_DIR))@)@  \
                
--set-var=exec_name=@shquot(@nfp($(BASE_DIR)/@bpm(BUILD_RUNNER)@)@)@ \
                --set-var=mbc=@bsm(NQP)@
-       @noecho@@bpm(CC_BUILD_RUNNER)@ @moar::ccout@nqp-m@moar::obj@ nqp-m.c
-       @noecho@@bpm(LD_BUILD_RUNNER)@ @moar::ldout@$@ nqp-m@moar::obj@
+       $(NOECHO)@bpm(CC_BUILD_RUNNER)@ @moar::ccout@nqp-m@moar::obj@ nqp-m.c
+       $(NOECHO)@bpm(LD_BUILD_RUNNER)@ @moar::ldout@$@ nqp-m@moar::obj@
 
 @backend_prefix@-runner-default: @backend_prefix@-all @@configure_script@@ 
@@template(@platform@/nqp-m-build.c)@@
        @echo(+++ Compiling @uc(@backend@)@ default runner)@
-       @noecho@$(RM_F) @q(@bpm(NQP)@)@
-       @noecho@$(CONFIGURE) --expand @@template(@platform@/nqp-m-build.c)@@ 
--out nqp.c \
+       $(NOECHO)$(RM_F) @q(@bpm(NQP)@)@
+       $(NOECHO)$(CONFIGURE) --expand @@template(@platform@/nqp-m-build.c)@@ 
--out nqp.c \
                --set-var=MOAR=@shquot(@nfp(@moar@)@)@ \
                --set-var=base_dir=@shquot(@nfp($(BASE_DIR))@)@  \
                --set-var=exec_name=@shquot(@nfp($(BASE_DIR)/@bpm(NQP)@)@)@ \
                --set-var=mbc=@bsm(NQP)@
-       @noecho@@bpm(CC_BUILD_RUNNER)@ @moar::ccout@nqp@moar::obj@ nqp.c
-       @noecho@@bpm(LD_BUILD_RUNNER)@ @moar::ldout@@bpm(NQP)@ nqp-m@moar::obj@
+       $(NOECHO)@bpm(CC_BUILD_RUNNER)@ @moar::ccout@nqp@moar::obj@ nqp.c
+       $(NOECHO)@bpm(LD_BUILD_RUNNER)@ @moar::ldout@@bpm(NQP)@ nqp-m@moar::obj@
 
 @backend_prefix@-runner-default-install: @backend_prefix@-runner-default 
@backend_prefix@-install
        @echo(+++ Installing default runner)@
-       @noecho@$(CP) @bpm(INST_NQP)@ @nfpq($(DESTDIR)$(BIN_DIR)/@bpm(NQP)@)@
+       $(NOECHO)$(CP) @bpm(INST_NQP)@ @nfpq($(DESTDIR)$(BIN_DIR)/@bpm(NQP)@)@
 
 # vim: ft=make noexpandtab ts=4 sw=4


Reply via email to