]> git.ozlabs.org Git - ccan/blobdiff - tools/ccanlint/tests/module_links.c
ccanlint: recurse to get -l options.
[ccan] / tools / ccanlint / tests / module_links.c
index 0bf9821555d70b53c98f6c767b8b36726b58bc72..79aa7d1a872a6421c6fb8706142fe2df0c2b9e76 100644 (file)
@@ -23,13 +23,18 @@ static const char *can_build(struct manifest *m)
 
 static char *obj_list(const struct manifest *m)
 {
-       char *list = talloc_strdup(m, "");
+       char *list;
        struct manifest *i;
 
+       if (m->compiled[COMPILE_NORMAL])
+               list = talloc_strdup(m, m->compiled[COMPILE_NORMAL]);
+       else
+               list = talloc_strdup(m, "");
+
        /* Other CCAN deps. */
        list_for_each(&m->deps, i, list) {
                if (i->compiled[COMPILE_NORMAL])
-                       list = talloc_asprintf_append(list, "%s ",
+                       list = talloc_asprintf_append(list, " %s",
                                                      i->compiled
                                                      [COMPILE_NORMAL]);
        }
@@ -38,18 +43,17 @@ static char *obj_list(const struct manifest *m)
 
 static char *lib_list(const struct manifest *m)
 {
-       unsigned int i, num;
-       char **libs = get_libs(m, ".",
-                              &num, &m->info_file->compiled[COMPILE_NORMAL]);
+       unsigned int i;
+       char **libs;
        char *ret = talloc_strdup(m, "");
 
-       for (i = 0; i < num; i++)
+       libs = get_libs(m, m->dir, true, get_or_compile_info);
+       for (i = 0; libs[i]; i++)
                ret = talloc_asprintf_append(ret, "-l%s ", libs[i]);
        return ret;
 }
 
 static void check_use_build(struct manifest *m,
-                           bool keep,
                            unsigned int *timeleft, struct score *score)
 {
        char *contents;
@@ -57,7 +61,7 @@ static void check_use_build(struct manifest *m,
        char *basename = talloc_asprintf(m, "%s/example.c", m->dir);
        int fd;
 
-       tmpfile = maybe_temp_file(m, ".c", keep, basename);
+       tmpfile = temp_file(m, ".c", basename);
 
        fd = open(tmpfile, O_WRONLY | O_CREAT | O_EXCL, 0600);
        if (fd < 0)
@@ -76,7 +80,7 @@ static void check_use_build(struct manifest *m,
 
        if (compile_and_link(score, tmpfile, ccan_dir, obj_list(m),
                             compiler, cflags, lib_list(m),
-                            maybe_temp_file(m, "", keep, tmpfile),
+                            temp_file(m, "", tmpfile),
                             &cmdout)) {
                score->pass = true;
                score->score = score->total;