From 374c57f7e8c12fa315764e68e627f9ab8abd051b Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Tue, 12 Jun 2018 12:00:51 +0930 Subject: [PATCH] tools/configurator: support --var-file for outputting VAR=VAL format. Signed-off-by: Rusty Russell --- tools/configurator/configurator.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/tools/configurator/configurator.c b/tools/configurator/configurator.c index b8cb6f7a..bc55de59 100644 --- a/tools/configurator/configurator.c +++ b/tools/configurator/configurator.c @@ -684,13 +684,14 @@ int main(int argc, const char *argv[]) const char *outflag = DEFAULT_OUTPUT_EXE_FLAG; const char *configurator_cc = NULL; const char *orig_cc; + const char *varfile = NULL; if (argc > 0) progname = argv[0]; while (argc > 1) { if (strcmp(argv[1], "--help") == 0) { - printf("Usage: configurator [-v] [-O] [--configurator-cc=] [ ...]\n" + printf("Usage: configurator [-v] [--var-file=] [-O] [--configurator-cc=] [ ...]\n" " will have \" \" appended\n" "Default: %s %s %s\n", DEFAULT_COMPILER, DEFAULT_FLAGS, @@ -719,6 +720,10 @@ int main(int argc, const char *argv[]) configurator_cc = argv[1] + 18; argc--; argv++; + } else if (strncmp(argv[1], "--var-file=", 11) == 0) { + varfile = argv[1] + 11; + argc--; + argv++; } else { break; } @@ -739,6 +744,24 @@ int main(int argc, const char *argv[]) remove(OUTPUT_FILE); remove(INPUT_FILE); + if (varfile) { + FILE *vars; + + if (strcmp(varfile, "-") == 0) + vars = stdout; + else { + vars = fopen(varfile, "a"); + if (!vars) + c12r_err(2, "Could not open %s", varfile); + } + for (i = 0; i < sizeof(tests)/sizeof(tests[0]); i++) + fprintf(vars, "%s=%u\n", tests[i].name, tests[i].answer); + if (vars != stdout) { + if (fclose(vars) != 0) + c12r_err(2, "Closing %s", varfile); + } + } + printf("/* Generated by CCAN configurator */\n" "#ifndef CCAN_CONFIG_H\n" "#define CCAN_CONFIG_H\n"); -- 2.39.2