]> git.ozlabs.org Git - ccan/blobdiff - tools/ccan_depends.c
tdb2: Hand error code to logging function.
[ccan] / tools / ccan_depends.c
index 91d7c98983c772c6acc989b467d2e782be209ccd..4dda6fa274d65965daaceb4707b377b8bc1989ff 100644 (file)
@@ -11,6 +11,7 @@ int main(int argc, char *argv[])
        unsigned int i;
        bool compile = false;
        bool recurse = true;
        unsigned int i;
        bool compile = false;
        bool recurse = true;
+       bool ccan = true;
 
        if (argv[1] && streq(argv[1], "--direct")) {
                argv++;
 
        if (argv[1] && streq(argv[1], "--direct")) {
                argv++;
@@ -22,18 +23,28 @@ int main(int argc, char *argv[])
                argc--;
                compile = true;
        }
                argc--;
                compile = true;
        }
+       if (argv[1] && streq(argv[1], "--non-ccan")) {
+               argv++;
+               argc--;
+               ccan = false;
+       }
        if (argc != 2)
        if (argc != 2)
-               errx(1, "Usage: ccan_depends [--direct] [--compile] <dir>\n"
+               errx(1, "Usage: ccan_depends [--direct] [--compile] [--non-ccan] <dir>\n"
                        "Spits out all the ccan dependencies (recursively unless --direct)");
 
                        "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)
        if (compile)
-               deps = get_deps(talloc_autofree_context(), argv[1], recurse);
+               deps = get_deps(talloc_autofree_context(), argv[1],
+                               recurse, NULL);
        else
        else
-               deps = get_safe_ccan_deps(talloc_autofree_context(), argv[1],
-                                         recurse);
+               deps = get_safe_ccan_deps(talloc_autofree_context(),
+                                         argv[1], recurse);
 
        for (i = 0; deps[i]; i++)
 
        for (i = 0; deps[i]; i++)
-               if (strstarts(deps[i], "ccan/"))
+               if (strstarts(deps[i], "ccan/") == ccan)
                        printf("%s\n", deps[i]);
        return 0;
 }
                        printf("%s\n", deps[i]);
        return 0;
 }