Convert -j to a reasonable parallelism for kati

When running makeparallel in non-ninja mode, which is used when running
kati with USE_GOMA=true, convert -j to a reasonable parallelism value
the same way ninja does.

Bug: 34392351
Test: make -C build/make/tools/makeparallel makeparallel_test
Change-Id: I9aee4dd2a3b0f2b1c2c10087be83f7b2b06f4368
This commit is contained in:
Colin Cross
2017-01-18 14:38:20 -08:00
parent ce0bae2f47
commit ba55c623cb
2 changed files with 20 additions and 7 deletions

View File

@@ -317,13 +317,27 @@ int main(int argc, char* argv[]) {
}
}
std::string jarg = "-j" + std::to_string(tokens + 1);
std::string jarg;
if (parallel) {
if (tokens == 0) {
if (ninja) {
// ninja is parallel by default
jarg = "";
} else {
// make -j with no argument, guess a reasonable parallelism like ninja does
jarg = "-j" + std::to_string(sysconf(_SC_NPROCESSORS_ONLN) + 2);
}
} else {
jarg = "-j" + std::to_string(tokens + 1);
}
}
if (ninja) {
if (!parallel) {
// ninja is parallel by default, pass -j1 to disable parallelism if make wasn't parallel
args.push_back(strdup("-j1"));
} else if (tokens > 0) {
} else {
args.push_back(strdup(jarg.c_str()));
}
if (keep_going) {