Rakudo.pm (rakudo-2020.09) | : | Rakudo.pm (rakudo-2020.10) | ||
---|---|---|---|---|
skipping to change at line 393 | skipping to change at line 393 | |||
s/\Q$nqp_config->{'moar::ldrpath_relocatable'}\E ?//; | s/\Q$nqp_config->{'moar::ldrpath_relocatable'}\E ?//; | |||
if ( $config->{prefix} ne '/usr' ) { | if ( $config->{prefix} ne '/usr' ) { | |||
$nqp_config->{ldflags} .= ' ' | $nqp_config->{ldflags} .= ' ' | |||
. ( | . ( | |||
$config->{relocatable} eq 'reloc' | $config->{relocatable} eq 'reloc' | |||
? $nqp_config->{'moar::ldrpath_relocatable'} | ? $nqp_config->{'moar::ldrpath_relocatable'} | |||
: $nqp_config->{'moar::ldrpath'} | : $nqp_config->{'moar::ldrpath'} | |||
); | ); | |||
} | } | |||
$nqp_config->{mingw_unicode} = ''; | $nqp_config->{mingw_unicode} = ''; | |||
$nqp_config->{subsystem_windows_flag} = ''; | ||||
my @c_runner_libs; | my @c_runner_libs; | |||
if ( $self->is_win ) { | if ( $self->is_win ) { | |||
if ( File::Spec->catdir( $config->{prefix}, 'bin' ) ne | if ( File::Spec->catdir( $config->{prefix}, 'bin' ) ne | |||
$nqp_config->{'moar::libdir'} ) | $nqp_config->{'moar::libdir'} ) | |||
{ | { | |||
#$config->{'m_install'} = "\t" | #$config->{'m_install'} = "\t" | |||
# . '$(CP) ' | # . '$(CP) ' | |||
# . $nqp_config->{'moar::libdir'} | # . $nqp_config->{'moar::libdir'} | |||
# . $slash | # . $slash | |||
# . $nqp_config->{'moar::moar'} | # . $nqp_config->{'moar::moar'} | |||
# . ' $(PREFIX)' | # . ' $(PREFIX)' | |||
# . $slash . 'bin'; | # . $slash . 'bin'; | |||
$config->{m_install} = "\t" | $config->{m_install} = "\t" | |||
. q<$(NOECHO)$(CP) @nfpq(@moar::libdir@/@moar::moar@)@ @nfpq($(DES TDIR)$(PREFIX)/bin)@>; | . q<$(NOECHO)$(CP) @nfpq(@moar::libdir@/@moar::moar@)@ @nfpq($(DES TDIR)$(PREFIX)/bin)@>; | |||
} | } | |||
if ( $nqp_config->{'moar::os'} eq 'mingw32' ) { | if ( $nqp_config->{'moar::os'} eq 'mingw32' ) { | |||
$nqp_config->{mingw_unicode} = '-municode'; | $nqp_config->{mingw_unicode} = '-municode'; | |||
} | } | |||
$nqp_config->{subsystem_win_cc_flags} = '-DSUBSYSTEM_WINDOWS'; | ||||
if ( $nqp_config->{'moar::ld'} eq 'link' ) { | ||||
$nqp_config->{subsystem_win_ld_flags} = '/subsystem:windows'; | ||||
} | ||||
else { | ||||
$nqp_config->{subsystem_win_ld_flags} = '--subsystem=windows'; | ||||
} | ||||
push @c_runner_libs, sprintf( $nqp_config->{'moar::ldusr'}, 'Shlwapi' ); | push @c_runner_libs, sprintf( $nqp_config->{'moar::ldusr'}, 'Shlwapi' ); | |||
push @c_runner_libs, sprintf( $nqp_config->{'moar::ldusr'}, 'Shell32' ); | ||||
} | } | |||
else { | else { | |||
$imoar->{toolchains} = [qw<gdb lldb valgrind>]; | $imoar->{toolchains} = [qw<gdb lldb valgrind>]; | |||
} | } | |||
$nqp_config->{c_runner_libs} = join( " ", @c_runner_libs ); | $nqp_config->{c_runner_libs} = join( " ", @c_runner_libs ); | |||
$nqp_config->{moar_lib} = sprintf( | $nqp_config->{moar_lib} = sprintf( | |||
( | ( | |||
$nqp_config->{'moar::ldimp'} | $nqp_config->{'moar::ldimp'} | |||
? $nqp_config->{'moar::ldimp'} | ? $nqp_config->{'moar::ldimp'} | |||
: $nqp_config->{'moar::ldusr'} | : $nqp_config->{'moar::ldusr'} | |||
skipping to change at line 646 | skipping to change at line 657 | |||
$impls->{$b}{bin} = $bin; | $impls->{$b}{bin} = $bin; | |||
my %c = read_config($bin); | my %c = read_config($bin); | |||
my $nqp_have = $c{'nqp::version'} || ''; | my $nqp_have = $c{'nqp::version'} || ''; | |||
$self->backend_config( $b, \%c ) if %c; | $self->backend_config( $b, \%c ) if %c; | |||
my $nqp_ver_ok = | my $nqp_ver_ok = | |||
$nqp_have ? ( 0 <= cmp_rev( $nqp_have, $nqp_want ) ) : 0; | $nqp_have ? ( 0 <= cmp_rev( $nqp_have, $nqp_want ) ) : 0; | |||
my $nqp_ok = $nqp_have && $nqp_ver_ok; | my $nqp_ok = $nqp_have && $nqp_ver_ok; | |||
unless ( $force_rebuild | unless ( $force_rebuild | |||
|| !$nqp_have | || !$nqp_have | |||
|| $nqp_ver_ok | || $nqp_ok | |||
|| $options->{'ignore-errors'} ) | || defined($gen_nqp)) | |||
{ | { | |||
$self->note( "WARNING", | my $say_sub = $options->{'ignore-errors'} ? 'note' : 'sorry'; | |||
$self->$say_sub( | ||||
"$bin version $nqp_have is outdated, $nqp_want expected.\n" ); | "$bin version $nqp_have is outdated, $nqp_want expected.\n" ); | |||
} | } | |||
if ( !$force_rebuild and ( $nqp_ok or $options->{'ignore-errors'} ) ) { | if ( !$force_rebuild and ( $nqp_ok or $options->{'ignore-errors'} ) ) { | |||
$impls->{$b}{ok} = 1; | $impls->{$b}{ok} = 1; | |||
} | } | |||
elsif ( $self->opt('with-nqp') ) { | ||||
$self->sorry("$bin version cannot be used"); | ||||
} | ||||
else { | else { | |||
$need{$b} = 1; | $need{$b} = 1; | |||
} | } | |||
} | } | |||
return unless %need; | return unless %need; | |||
return unless defined($gen_nqp) || defined($gen_moar); | return unless defined($gen_nqp) || defined($gen_moar); | |||
if ( defined $gen_nqp || defined $gen_moar ) { | { | |||
my $user = $options->{'github-user'} // 'perl6'; | my $user = $options->{'github-user'} // 'Raku'; | |||
# Don't expect any specific default commit in nqp/ if the repo is | # Don't expect any specific default commit in nqp/ if the repo is | |||
# already checked out and we're force-rebuilding. | # already checked out and we're force-rebuilding. | |||
my $expected_spec = | my $expected_spec = | |||
( $force_rebuild | ( $force_rebuild | |||
&& -d File::Spec->catdir( $self->cfg('base_dir'), 'nqp', '.git' ) | && -d File::Spec->catdir( $self->cfg('base_dir'), 'nqp', '.git' ) | |||
) | ) | |||
? undef | ? undef | |||
: $nqp_want; | : $nqp_want; | |||
$self->git_checkout( 'nqp', 'nqp', $nqp_git_spec || $expected_spec ); | $self->git_checkout( 'nqp', 'nqp', $nqp_git_spec || $expected_spec ); | |||
End of changes. 7 change blocks. | ||||
8 lines changed or deleted | 17 lines changed or added |