- return talloc_asprintf(check_result,
- "The following dependencies are not built:\n"
- "%s", (char *)check_result);
+ struct manifest *i;
+ struct stat st;
+
+ list_for_each(&m->deps, i, list) {
+ char *errstr;
+ if (!expect_obj_file(i))
+ continue;
+
+ i->compiled = talloc_asprintf(i, "%s.o", i->dir);
+ if (stat(i->compiled, &st) == 0)
+ continue;
+
+ if (verbose >= 2)
+ printf(" Building dependency %s\n", i->dir);
+ score->error = build_subdir_objs(i);
+ if (score->error)
+ return;
+ i->compiled = build_module(i, keep, &errstr);
+ if (!i->compiled) {
+ score->error = talloc_asprintf(score,
+ "Dependency %s"
+ " did not build:\n%s",
+ i->basename, errstr);
+ return;
+ }
+ }
+
+ if (!score->error) {
+ score->pass = true;
+ score->score = score->total;
+ }