]> git.ozlabs.org Git - ccan/blobdiff - tools/tools.h
tools: Consolidate gcov handling
[ccan] / tools / tools.h
index b4751bec51734230c5b49de868e31764dc8188d5..e5aaee2f9c4d0d898bcd7840b66c3bc9c8fcd8d8 100644 (file)
@@ -11,6 +11,7 @@
 /* These are the defaults. */
 #define DEFAULT_CCAN_COMPILER "cc"
 #define DEFAULT_CCAN_CFLAGS "-g"
+#define DEFAULT_CCAN_OUTPUT_EXE_CFLAG "-o"
 
 #define IDENT_CHARS    "ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
                        "abcdefghijklmnopqrstuvwxyz" \
@@ -20,8 +21,9 @@
 
 #define COVERAGE_CFLAGS "-fprofile-arcs -ftest-coverage"
 
-/* Actual compiler and cflags (defaults to CCAN_COMPILER and CCAN_CFLAGS). */
-extern const char *compiler, *cflags;
+/* Actual compiler and cflags
+ * (defaults to CCAN_COMPILER, CCAN_CFLAGS, CCAN_OUTPUT_EXE_CFLAG). */
+extern const char *compiler, *cflags, *outexecflag;
 
 /* This compiles up the _info file into a temporary. */
 char *compile_info(const void *ctx, const char *dir);
@@ -43,6 +45,15 @@ char **get_safe_ccan_deps(const void *ctx, const char *dir, const char *style,
 char **get_libs(const void *ctx, const char *dir, const char *style,
                char *(*get_info)(const void *ctx, const char *dir));
 
+char **get_cflags(const void *ctx, const char *dir,
+               char *(*get_info)(const void *ctx, const char *dir));
+
+char **get_ccanlint(const void *ctx, const char *dir,
+                   char *(*get_info)(const void *ctx, const char *dir));
+
+char *get_ported(const void *ctx, const char *dir, bool recurse,
+                char *(*get_info)(const void *ctx, const char *dir));
+
 /* From tools.c */
 /* If set, print all commands run, all output they give and exit status. */
 extern bool tools_verbose;
@@ -90,4 +101,10 @@ 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 */
+const char *gcov_unavailable(void *ctx);
+bool run_gcov(const void *ctx, unsigned int *time_ms, char **output,
+             const char *fmt, ...);
+
 #endif /* CCAN_TOOLS_H */