reproducible-builds.t (rakudo-2020.08.2) | : | reproducible-builds.t (rakudo-2020.09) | ||
---|---|---|---|---|
use lib 'lib'; | my constant $lib = $*TMPDIR.child("rakudo-lib" ~ (^2**128).pick.base(36)); | |||
BEGIN my $compiler-id = CompUnit::PrecompilationId.new-without-check($*PERL.comp | BEGIN { | |||
iler.id); | $lib.child('NativeCall').mkdir; | |||
BEGIN my $id = CompUnit::PrecompilationId.new('1F3B9959EF798485A266FE735E7723283 | $lib.child('NativeCall').child('Compiler').mkdir; | |||
11AD787'); | 'lib'.IO.child('NativeCall.rakumod').copy: $lib.child('NativeCall.rakumod'); | |||
BEGIN my $dest = $*REPO.precomp-store.destination($compiler-id, $id); # not real | 'lib'.IO.child('NativeCall').child('Types.rakumod').copy: $lib.child('Native | |||
ly used | Call').child('Types.rakumod'); | |||
END { $*REPO.precomp-store.unlock } | 'lib'.IO.child('NativeCall').child('Compiler').child('GNU.rakumod').copy: $l | |||
ib.child('NativeCall').child('Compiler').child('GNU.rakumod'); | ||||
'lib'.IO.child('NativeCall').child('Compiler').child('MSVC.rakumod').copy: $ | ||||
lib.child('NativeCall').child('Compiler').child('MSVC.rakumod'); | ||||
} | ||||
use lib $lib; | ||||
use Test; | use Test; | |||
use NativeCall; # precompile dependencies | use NativeCall; # precompile dependencies | |||
my $store = CompUnit::PrecompilationStore::File.new( | my $store = CompUnit::PrecompilationStore::File.new( | |||
:prefix($*TMPDIR.child("rakudo-precomp" ~ (^2**128).pick.base(36))) | :prefix($*TMPDIR.child("rakudo-precomp" ~ (^2**128).pick.base(36))) | |||
); | ); | |||
my $precompilation-repository = CompUnit::PrecompilationRepository::Default.new( :$store); | my $precompilation-repository = CompUnit::PrecompilationRepository::Default.new( :$store); | |||
my @checksums; | my @checksums; | |||
my @units; | my @units; | |||
my $compiler-id = CompUnit::PrecompilationId.new-without-check($*PERL.compiler.i | ||||
d); | ||||
my constant $id = CompUnit::PrecompilationId.new-without-check('6B7A1AECF02807F3 | ||||
0DDAD99C02C34440CA036AF6'); | ||||
for ^2 -> $run { | for ^2 -> $run { | |||
$precompilation-repository.precompile( | $precompilation-repository.precompile( | |||
'lib/NativeCall.rakumod'.IO, | 'lib/NativeCall.rakumod'.IO, | |||
$id, | $id, | |||
:force, | :force, | |||
); | ); | |||
@units.push: my $unit = $store.load-unit($compiler-id, $id); | @units.push: my $unit = $store.load-unit($compiler-id, $id); | |||
@checksums.push: $unit.checksum; | @checksums.push: $unit.checksum; | |||
$unit.bytecode; # read in bytecode | $unit.bytecode; # read in bytecode | |||
$unit.close; | $unit.close; | |||
End of changes. 2 change blocks. | ||||
8 lines changed or deleted | 18 lines changed or added |