static void check_depends_exist(struct manifest *m, bool keep, unsigned int *timeleft, struct score *score) { unsigned int i; char **deps; char *updir = talloc_strdup(m, m->dir); *strrchr(updir, '/') = '\0'; if (safe_mode) deps = get_safe_ccan_deps(m, m->dir, true, &m->info_file->compiled); else deps = get_deps(m, m->dir, true, &m->info_file->compiled); for (i = 0; deps[i]; i++) { if (!strstarts(deps[i], "ccan/")) continue; if (!add_dep(m, deps[i], score)) return; } /* We may need libtap for testing, unless we're "tap" */ if (!streq(m->basename, "tap") && (!list_empty(&m->run_tests) || !list_empty(&m->api_tests))) { if (!add_dep(m, "ccan/tap", score)) return; } score->pass = true; score->score = score->total; }
int main(int argc, char *argv[]) { char **deps; unsigned int i; bool compile = false; bool recurse = true; bool ccan = true; const char *style = "depends"; if (argv[1] && streq(argv[1], "--direct")) { argv++; argc--; recurse = false; } if (argv[1] && streq(argv[1], "--compile")) { argv++; argc--; compile = true; } if (argv[1] && streq(argv[1], "--non-ccan")) { argv++; argc--; ccan = false; } if (argv[1] && streq(argv[1], "--tests")) { argv++; argc--; style = "testdepends"; } if (argc != 2) errx(1, "Usage: ccan_depends [--direct] [--compile] [--non-ccan] [--tests] <dir>\n" "Spits out all the ccan dependencies (recursively unless --direct)"); /* We find depends without compiling by looking for ccan/ */ if (!ccan && !compile) errx(1, "--non-ccan needs --compile"); if (compile) deps = get_deps(NULL, argv[1], style, recurse, compile_info); else deps = get_safe_ccan_deps(NULL, argv[1], style, recurse); for (i = 0; deps[i]; i++) if (strstarts(deps[i], "ccan/") == ccan) printf("%s\n", deps[i]); return 0; }