Unfortunately, not all compilers support -o as a command-line option for specifying the output file. Visual Studio cl.exe issues warning D9035 when -o is given, which is detected as a compile warning by the configurator.
To support such compilers, pass the output flag as the last flag to the configurator. This is a breaking change. Existing scripts which pass flags to the compiler must be modified to add "-o" as the last flag. As noted in the cover letter for this patch series, I'm open to considering alternatives if this is unacceptable. Signed-off-by: Kevin Locke <ke...@kevinlocke.name> --- Makefile | 2 +- tools/configurator/configurator.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 127b875..f36ccb5 100644 --- a/Makefile +++ b/Makefile @@ -89,7 +89,7 @@ FORCE: # Ensure we don't end up with empty file if configurator fails! config.h: tools/configurator/configurator Makefile Makefile-ccan - tools/configurator/configurator $(CC) $(CCAN_CFLAGS) > $@.tmp && mv $@.tmp $@ + tools/configurator/configurator $(CC) $(CCAN_CFLAGS) -o > $@.tmp && mv $@.tmp $@ include tools/Makefile -include inter-depends diff --git a/tools/configurator/configurator.c b/tools/configurator/configurator.c index 0c30aff..820ccf7 100644 --- a/tools/configurator/configurator.c +++ b/tools/configurator/configurator.c @@ -36,7 +36,7 @@ #endif #define DEFAULT_COMPILER "cc" -#define DEFAULT_FLAGS "-g3 -ggdb -Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition" +#define DEFAULT_FLAGS "-g3 -ggdb -Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition -o" #define OUTPUT_FILE "configurator.out" #define INPUT_FILE "configuratortest.c" @@ -672,7 +672,7 @@ int main(int argc, const char *argv[]) if (argc > 1) { if (strcmp(argv[1], "--help") == 0) { printf("Usage: configurator [-v] [<compiler> <flags>...]\n" - " <compiler> <flags> will have \"-o <outfile> <infile.c>\" appended\n" + " <compiler> <flags> will have \"<outfile> <infile.c>\" appended\n" "Default: %s %s\n", DEFAULT_COMPILER, DEFAULT_FLAGS); exit(0); @@ -691,7 +691,7 @@ int main(int argc, const char *argv[]) if (argc == 1) argv = default_args; - cmd = connect_args(argv, " -o " OUTPUT_FILE " " INPUT_FILE); + cmd = connect_args(argv, OUTPUT_FILE " " INPUT_FILE); for (i = 0; i < sizeof(tests)/sizeof(tests[0]); i++) run_test(cmd, &tests[i]); free(cmd); -- 2.9.3 _______________________________________________ ccan mailing list ccan@lists.ozlabs.org https://lists.ozlabs.org/listinfo/ccan