Browse Source

ccanlint: print out compile targets for -vv.

Rusty Russell 15 years ago
parent
commit
a1d06d5599
3 changed files with 13 additions and 0 deletions
  1. 2 0
      tools/ccanlint/ccanlint.c
  2. 9 0
      tools/compile.c
  3. 2 0
      tools/tools.h

+ 2 - 0
tools/ccanlint/ccanlint.c

@@ -413,6 +413,8 @@ int main(int argc, char *argv[])
 	if (optind < argc)
 		usage(argv[0]);
 
+	if (verbose >= 2)
+		compile_verbose = true;
 	if (verbose >= 3)
 		tools_verbose = true;
 

+ 9 - 0
tools/compile.c

@@ -2,11 +2,16 @@
 #include <ccan/talloc/talloc.h>
 #include <stdlib.h>
 
+bool compile_verbose = false;
+
 /* Compile multiple object files into a single.  Returns errmsg if fails. */
 char *link_objects(const void *ctx, const char *objs, char **errmsg)
 {
 	char *file = temp_file(ctx, ".o");
 
+	if (compile_verbose)
+		printf("Linking objects into %s\n", file);
+
 	*errmsg = run_command(ctx, NULL, "ld -r -o %s %s", file, objs);
 	if (*errmsg) {
 		talloc_free(file);
@@ -20,6 +25,8 @@ char *compile_object(const void *ctx, const char *cfile, const char *ccandir,
 		     const char *extra_cflags,
 		     const char *outfile)
 {
+	if (compile_verbose)
+		printf("Compiling %s\n", outfile);
 	return run_command(ctx, NULL, "cc " CFLAGS " -I%s %s -c -o %s %s",
 			   ccandir, extra_cflags, outfile, cfile);
 }
@@ -30,6 +37,8 @@ char *compile_and_link(const void *ctx, const char *cfile, const char *ccandir,
 		       const char *objs, const char *extra_cflags,
 		       const char *libs, const char *outfile)
 {
+	if (compile_verbose)
+		printf("Compiling and linking %s\n", outfile);
 	return run_command(ctx, NULL, "cc " CFLAGS " -I%s %s -o %s %s %s %s",
 			   ccandir, extra_cflags, outfile, cfile, objs, libs);
 }

+ 2 - 0
tools/tools.h

@@ -43,6 +43,8 @@ bool move_file(const char *oldname, const char *newname);
  * These all compile into a temporary dir, and return the filename.
  * On failure they return NULL, and errmsg is set to compiler output.
  */
+/* If set, say what we're compiling to. */
+extern bool compile_verbose;
 /* Compile multiple object files into a single. */
 char *link_objects(const void *ctx, const char *objs, char **errmsg);
 /* Compile a single C file to an object file.  Returns errmsg if fails. */