make --xip and .wamr_mmap configurable from build menu

This commit is contained in:
2026-05-29 00:15:59 +02:00
parent 05a4aa18e4
commit c57ae5fced
10 changed files with 194 additions and 109 deletions

View File

@ -45,12 +45,24 @@ my @selected_modes =
TUI::select_from_list( "Select Execution Modes", 1, @modes );
die "No mode selected" unless @selected_modes;
# Select WAMR mmap variant
my @wamr_variants = ( "no .wamr_mmap", ".wamr_mmap" );
my @selected_variants =
TUI::select_from_list( "Select WAMR mmap Variant", 1, @wamr_variants );
die "No variant selected" unless @selected_variants;
# Select XIP variant
my @xip_variants = ( "no --xip", "--xip" );
my @selected_xip_variants =
TUI::select_from_list( "Select WAMRC XIP Variant", 1, @xip_variants );
die "No XIP variant selected" unless @selected_xip_variants;
# Select 0.info contents
my $info = join " ", TUI::select_from_list( "Select '0.info' Contents for ", 1, (
"baseline",
"--catch-outer",
"--catch-text",
".wamr_mmap",
# ".wamr_mmap",
".wamr_aot",
));
@ -60,18 +72,28 @@ system( "mkdir", "-p", "$local_builds_dir" );
foreach my $experiment (@selected_experiments) {
foreach my $target (@selected_targets) {
foreach my $mode (@selected_modes) {
just( "build", $experiment, $target, $mode );
foreach my $variant (@selected_variants) {
foreach my $xip_variant (@selected_xip_variants) {
# These variables control which libiwasm and wamrc flags are used
local $ENV{WAMR_USE_MMAP} = ( $variant eq ".wamr_mmap" ) ? "true" : "false";
local $ENV{WAMR_USE_XIP} = ( $xip_variant eq "--xip" ) ? "true" : "false";
system( "echo '$mode $info' > $local_root/build-$experiment/0.info" );
just( "build", $experiment, $target, $mode );
system(
join " ",
(
"mv",
"$local_root/build-$experiment",
"$local_builds_dir/${date}_$experiment-$target-$mode",
)
);
my $mmap = $variant eq ".wamr_mmap" ? ".wamr_mmap" : "";
my $xip = $xip_variant eq "--xip" ? "--xip" : "";
system( "echo '$mode $mmap $info $xip' > $local_root/build-$experiment/0.info" );
system(
join " ",
(
"mv",
"$local_root/build-$experiment",
"$local_builds_dir/${date}_$experiment-$target-$mode",
)
);
}
}
}
}
}