Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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;
}