X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Fcompulsory_tests%2Fcheck_build.c;h=42eda13ae56aede90e2fd9df85927e9a1260129c;hp=2098f0d2a488212f2079e40ffc45d4ca48efe49e;hb=63bceea014e091a2f2907e49f7c3b33f042106f4;hpb=304652023042670b3173de0ad5dc0eb7c836618c diff --git a/tools/ccanlint/compulsory_tests/check_build.c b/tools/ccanlint/compulsory_tests/check_build.c index 2098f0d2..42eda13a 100644 --- a/tools/ccanlint/compulsory_tests/check_build.c +++ b/tools/ccanlint/compulsory_tests/check_build.c @@ -27,9 +27,10 @@ static char *obj_list(const struct manifest *m) struct ccan_file *i; /* Other CCAN deps. */ - list_for_each(&m->dep_objs, i, list) - list = talloc_asprintf_append(list, "%s ", i->name); - + list_for_each(&m->dep_dirs, i, list) { + if (i->compiled) + list = talloc_asprintf_append(list, "%s ", i->compiled); + } return list; } @@ -44,13 +45,16 @@ static char *lib_list(const struct manifest *m) return ret; } -static void *check_use_build(struct manifest *m, unsigned int *timeleft) +static void *check_use_build(struct manifest *m, + bool keep, + unsigned int *timeleft) { char *contents; - char *tmpfile, *err; + char *tmpfile; + char *basename = talloc_asprintf(m, "%s/example.c", m->dir); int fd; - tmpfile = temp_file(m, ".c"); + tmpfile = maybe_temp_file(m, ".c", keep, basename); fd = open(tmpfile, O_WRONLY | O_CREAT | O_EXCL, 0600); if (fd < 0) @@ -70,10 +74,9 @@ static void *check_use_build(struct manifest *m, unsigned int *timeleft) } close(fd); - if (!compile_and_link(m, tmpfile, ccan_dir, obj_list(m), "", - lib_list(m), &err)) - return err; - return NULL; + return compile_and_link(m, tmpfile, ccan_dir, obj_list(m), "", + lib_list(m), + maybe_temp_file(m, "", keep, tmpfile)); } static const char *describe_use_build(struct manifest *m, void *check_result)