Use chaz_CLI for --disable-threads option

Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/546400a2
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/546400a2
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/546400a2

Branch: refs/heads/master
Commit: 546400a2c7ebf54e0f108c72d6f112dfb66a8c18
Parents: b54623b
Author: Nick Wellnhofer <[email protected]>
Authored: Wed Nov 5 18:34:37 2014 +0100
Committer: Nick Wellnhofer <[email protected]>
Committed: Wed Nov 5 18:34:37 2014 +0100

----------------------------------------------------------------------
 runtime/common/charmonizer.main | 27 ++++++++++-----------------
 1 file changed, 10 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/546400a2/runtime/common/charmonizer.main
----------------------------------------------------------------------
diff --git a/runtime/common/charmonizer.main b/runtime/common/charmonizer.main
index 4664782..d3a7105 100644
--- a/runtime/common/charmonizer.main
+++ b/runtime/common/charmonizer.main
@@ -85,6 +85,10 @@ S_add_compiler_flags(struct chaz_CLI *cli) {
     chaz_CFlags_add_define(extra_cflags, "CFP_TESTCFISH", NULL);
 
     chaz_CFlags_hide_symbols(extra_cflags);
+
+    if (chaz_CLI_defined(cli, "disable-threads")) {
+        chaz_CFlags_append(extra_cflags, "-DCFISH_NOTHREADS");
+    }
 }
 
 static int
@@ -354,25 +358,14 @@ int main(int argc, const char **argv) {
     /* Initialize. */
     chaz_CLI *cli
         = chaz_CLI_new(argv[0], "charmonizer: Probe C build environment");
+    chaz_CLI_register(cli, "disable-threads", "whether to disable threads",
+                      CHAZ_CLI_NO_ARG);
     chaz_CLI_set_usage(cli, "Usage: charmonizer [OPTIONS] [-- [CFLAGS]]");
-    {
-        int result = chaz_Probe_parse_cli_args(argc, argv, cli);
-        if (!result) {
-            chaz_Probe_die_usage();
-        }
-        chaz_Probe_init(cli);
-        S_add_compiler_flags(cli);
-    }
-    {
-        int i;
-        for (i = 0; i < argc; i++) {
-            if (strncmp(argv[i], "--disable-threads", 17) == 0) {
-                chaz_CFlags *extra_cflags = chaz_CC_get_extra_cflags();
-                chaz_CFlags_append(extra_cflags, "-DCFISH_NOTHREADS");
-                break;
-            }
-        }
+    if (!chaz_Probe_parse_cli_args(argc, argv, cli)) {
+        chaz_Probe_die_usage();
     }
+    chaz_Probe_init(cli);
+    S_add_compiler_flags(cli);
 
     /* Employ integer features but don't define stdint types in charmony.h. */
     chaz_ConfWriter_append_conf(

Reply via email to