ccanlint: add somefunc() to help examples compile.
authorRusty Russell <rusty@rustcorp.com.au>
Wed, 6 Oct 2010 02:25:38 +0000 (12:55 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Wed, 6 Oct 2010 02:25:38 +0000 (12:55 +1030)
And don't require the module.o to already exist: link against generated .o files.

tools/ccanlint/tests/examples_compile.c

index e2bcaa874b4a64daccd1f2c0205c87ac1d7b8c4b..7e1f14f3088ab55ab605e1a1262d8d7d8f58875d 100644 (file)
@@ -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);