-char *compile_and_link(const void *ctx, const char *cfile, const char *objs,
- const char *extra_cflags, const char *libs,
- char **errmsg);
+bool compile_and_link(const void *ctx, const char *cfile, const char *ccandir,
+ const char *objs,
+ const char *compiler, const char *cflags,
+ const char *libs, const char *outfile, char **output);
+
+/* Returns a file in temp_dir() */
+char *temp_file(const void *ctx, const char *extension, const char *srcname);
+
+/* Default wait for run_command. Should never time out. */
+extern const unsigned int default_timeout_ms;
+
+/* Get ccan/ top dir, given a directory within it. */
+const char *find_ccan_dir(const char *base);
+
+/* Run gcov coverage tool */
+extern const char *gcov;
+const char *gcov_unavailable(void *ctx);
+bool run_gcov(const void *ctx, unsigned int *time_ms, char **output,
+ const char *fmt, ...);
+