-/* Call the reporting on every line in the file. sofar contains
- * previous results. */
-char *report_on_lines(struct list_head *files,
- char *(*report)(const char *),
- char *sofar);
+/* Start a command in the background. */
+void run_command_async(const void *ctx, unsigned int time_ms,
+ const char *fmt, ...);
+
+/* Async version of compile_and_link. */
+void compile_and_link_async(const void *ctx, unsigned int time_ms,
+ const char *cfile, const char *ccandir,
+ const char *objs, const char *compiler,
+ const char *cflags,
+ const char *libs, const char *outfile);
+
+/* Get results of a command, returning ctx (and free it). */
+void *collect_command(bool *ok, char **output);
+
+/* Find manifest for this dir and return compiled _info filename. */
+char *get_or_compile_info(const void *ctx, const char *dir);