ww: select build action from package declaration

This commit is contained in:
2026-08-13 13:36:10 +09:00
parent 61a2ee5221
commit dab3cb4998
61 changed files with 872 additions and 157 deletions

View File

@@ -984,7 +984,7 @@ fn mkdirall(path: str) void = {
" assert(pkg.second() == 9);\n};\n"));
let prodout: str = strings.concat(root, "/production.a");
let prodav: []str = [driver("ww"), "build", "-p", "-I", root,
let prodav: []str = [driver("ww"), "build", "-I", root,
"-o", prodout, pkg];
let out: commandout;
runcommand(root, "production-build", prodav,
@@ -2094,7 +2094,7 @@ fn mkdirall(path: str) void = {
if (rsi == 1) { uniondriver = wwtracedriver; };
let rootout: str = strings.concat(root, "/root-only-",
rootstages[rsi], ".a");
let rootav: []str = [driver(rootstages[rsi]), "build", "-p",
let rootav: []str = [driver(rootstages[rsi]), "build",
"-I", root, "-o", rootout, aaroot];
runcommand(root, strings.concat("root-only-", rootstages[rsi]), rootav,
(60i64 * (time.second: i64)): time.duration, &out);
@@ -3942,7 +3942,7 @@ fn mkdirall(path: str) void = {
let rootout: str = strings.concat(root, "/long-root-",
rootlabels[ri], "-", tags[si], ".a");
clean(compilertrace); writefile(compilertrace, "");
let rootav: []str = [driver(stages[si]), "build", "-p", "-I",
let rootav: []str = [driver(stages[si]), "build", "-I",
source, "-o", rootout, rootspellings[ri]];
runcommandenv(root, strings.concat("long-root-", rootlabels[ri],
"-", tags[si]), rootav, env,
@@ -4232,7 +4232,7 @@ fn mkdirall(path: str) void = {
clean(trace);
writefile(trace, "");
let importout: str = strings.concat(root, "/importer-", stages[si], ".a");
let importav: []str = [driver(stages[si]), "build", "-p", "-I", source,
let importav: []str = [driver(stages[si]), "build", "-I", source,
"-o", importout, importer];
runcommandenv(root, strings.concat("command-import-", stages[si]),
importav, env, (60i64 * (time.second: i64)): time.duration, &out);
@@ -4351,7 +4351,7 @@ fn mkdirall(path: str) void = {
let identitydiagnostics: []str = ["", ""];
i = 0;
for (i < stages.len) {
let av: []str = [driver(stages[i]), "build", "-p", "-I", root,
let av: []str = [driver(stages[i]), "build", "-I", root,
"-o", strings.concat(root, "/bad-identity-", stages[i], ".a"),
identityroot];
runcommandenv(root, strings.concat("duplicate-directory-identity-",
@@ -4372,7 +4372,7 @@ fn mkdirall(path: str) void = {
let reserveddiagnostics: []str = ["", ""];
i = 0;
for (i < stages.len) {
let av: []str = [driver(stages[i]), "build", "-p", "-I", root,
let av: []str = [driver(stages[i]), "build", "-I", root,
"-o", strings.concat(root, "/bad-reserved-", stages[i], ".a"),
reserved];
runcommandenv(root, strings.concat("reserved-local-import-", stages[i]),
@@ -4843,7 +4843,7 @@ fn runtimepath(relative: str) str = {
writefile(strings.concat(extra, "/extra.ww"),
"package extra;\nexport fn marker() i32 = { return 7; };\n");
let extralib: str = strings.concat(root, "/libextra.a");
let libav: []str = [driver("ww"), "build", "-p", "-o", extralib,
let libav: []str = [driver("ww"), "build", "-o", extralib,
extra];
let out: commandout;
runcommand(root, "link-flags-library", libav,