Browse Source

ccanlint: add somefunc() to help examples compile.

And don't require the module.o to already exist: link against generated .o files.
Rusty Russell 15 years ago
parent
commit
f24a8d30f5
1 changed files with 7 additions and 2 deletions
  1. 7 2
      tools/ccanlint/tests/examples_compile.c

+ 7 - 2
tools/ccanlint/tests/examples_compile.c

@@ -21,8 +21,9 @@ static char *obj_list(const struct manifest *m)
 	char *list;
 	struct ccan_file *i;
 
-	/* This CCAN module. */
-	list = talloc_asprintf(m, " %s.o", m->dir);
+	/* Object files for this module. */
+	list_for_each(&m->c_files, i, list)
+		list = talloc_asprintf_append(list, " %s", i->compiled);
 
 	/* Other ccan modules we depend on. */
 	list_for_each(&m->dep_dirs, i, list) {
@@ -97,6 +98,10 @@ static char *mangle(struct manifest *m, struct ccan_file *example)
 				     "#include <ccan/%s/%s.h>\n",
 				     m->basename, m->basename);
 
+	ret = talloc_asprintf_append(ret, "/* Useful dummmy functions. */\n"
+				     "int somefunc(void);\n"
+				     "int somefunc(void) { return 0; }\n");
+
 	/* Starts indented?  Wrap it in a main() function. */
 	if (lines[0] && isblank(lines[0][0])) {
 		ret = start_main(ret);