]> git.ozlabs.org Git - ccan/blobdiff - tools/ccan_depends.c
base64: fix for unsigned chars (e.g. ARM).
[ccan] / tools / ccan_depends.c
index 42efd9558600b96b205a40de15301ebe458f313f..f81a42b861fae905c4cbba2c1816b6cde4bb23ba 100644 (file)
@@ -1,9 +1,8 @@
 #include "tools.h"
-#include <err.h>
 #include <stdlib.h>
 #include <stdio.h>
+#include <ccan/err/err.h>
 #include <ccan/str/str.h>
-#include <ccan/talloc/talloc.h>
 
 int main(int argc, char *argv[])
 {
@@ -12,7 +11,7 @@ int main(int argc, char *argv[])
        bool compile = false;
        bool recurse = true;
        bool ccan = true;
-       char *dirname, *basename;
+       const char *style = "depends";
 
        if (argv[1] && streq(argv[1], "--direct")) {
                argv++;
@@ -29,26 +28,27 @@ int main(int argc, char *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] <dir>\n"
+               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");
 
-       dirname = talloc_dirname(NULL, argv[1]);
-       basename = talloc_basename(NULL, argv[1]);
-
        if (compile)
-               deps = get_deps(talloc_autofree_context(),
-                               dirname, basename, recurse, NULL);
+               deps = get_deps(NULL, argv[1], style, recurse, compile_info);
        else
-               deps = get_safe_ccan_deps(talloc_autofree_context(),
-                                         dirname, basename, recurse, NULL);
+               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]);
+       if (deps)
+               for (i = 0; deps[i]; i++)
+                       if (strstarts(deps[i], "ccan/") == ccan)
+                               printf("%s\n", deps[i]);
        return 0;
 }