]> git.ozlabs.org Git - ccan/blobdiff - tools/compile.c
htable: rehash to clear delete markers
[ccan] / tools / compile.c
index 7ff04225dc3e42a7af2dc170711c804498529baa..8f80734b095d5ad06f0aec2f696b3197eaf0a4c2 100644 (file)
@@ -5,9 +5,10 @@
 bool compile_verbose = false;
 
 /* Compile multiple object files into a single.  Returns errmsg if fails. */
 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 *link_objects(const void *ctx, const char *basename, bool in_pwd,
+                  const char *objs, char **errmsg)
 {
 {
-       char *file = temp_file(ctx, ".o");
+       char *file = maybe_temp_file(ctx, ".o", in_pwd, basename);
 
        if (compile_verbose)
                printf("Linking objects into %s\n", file);
 
        if (compile_verbose)
                printf("Linking objects into %s\n", file);
@@ -27,7 +28,8 @@ char *compile_object(const void *ctx, const char *cfile, const char *ccandir,
 {
        if (compile_verbose)
                printf("Compiling %s\n", outfile);
 {
        if (compile_verbose)
                printf("Compiling %s\n", outfile);
-       return run_command(ctx, NULL, "cc " CFLAGS " -I%s %s -c -o %s %s",
+       return run_command(ctx, NULL, CCAN_COMPILER " " CCAN_CFLAGS
+                          " -I%s %s -c -o %s %s",
                           ccandir, extra_cflags, outfile, cfile);
 }
 
                           ccandir, extra_cflags, outfile, cfile);
 }
 
@@ -39,6 +41,7 @@ char *compile_and_link(const void *ctx, const char *cfile, const char *ccandir,
 {
        if (compile_verbose)
                printf("Compiling and linking %s\n", 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",
+       return run_command(ctx, NULL, CCAN_COMPILER " " CCAN_CFLAGS
+                          " -I%s %s -o %s %s %s %s",
                           ccandir, extra_cflags, outfile, cfile, objs, libs);
 }
                           ccandir, extra_cflags, outfile, cfile, objs, libs);
 }