Regenerate charmonizer.c

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

Branch: refs/heads/chaz-cflags
Commit: 4a231ed49724e646791e3996a58ea9d9730de3b9
Parents: 8e24b88
Author: Nick Wellnhofer <[email protected]>
Authored: Wed Apr 3 18:50:00 2013 +0200
Committer: Nick Wellnhofer <[email protected]>
Committed: Wed Apr 3 18:50:00 2013 +0200

----------------------------------------------------------------------
 clownfish/compiler/common/charmonizer.c |   26 ++++++++++++++
 clownfish/runtime/common/charmonizer.c  |   26 ++++++++++++++
 common/charmonizer.c                    |   48 +++++++++++++++++++-------
 3 files changed, 87 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/4a231ed4/clownfish/compiler/common/charmonizer.c
----------------------------------------------------------------------
diff --git a/clownfish/compiler/common/charmonizer.c 
b/clownfish/compiler/common/charmonizer.c
index 627552f..d7c412e 100644
--- a/clownfish/compiler/common/charmonizer.c
+++ b/clownfish/compiler/common/charmonizer.c
@@ -71,6 +71,10 @@ void
 chaz_CFlags_set_output_exe(chaz_CFlags *flags, const char *filename);
 
 void
+chaz_CFlags_add_define(chaz_CFlags *flags, const char *name,
+                       const char *value);
+
+void
 chaz_CFlags_add_include_dir(chaz_CFlags *flags, const char *dir);
 
 void
@@ -1170,6 +1174,28 @@ chaz_CFlags_set_output_exe(chaz_CFlags *flags, const 
char *filename) {
 }
 
 void
+chaz_CFlags_add_define(chaz_CFlags *flags, const char *name,
+                       const char *value) {
+    const char *define;
+    char *string;
+    if (flags->style == CHAZ_CFLAGS_STYLE_MSVC) {
+        define = "/D";
+    }
+    else {
+        /* POSIX */
+        define = "-D ";
+    }
+    if (value) {
+        string = chaz_Util_join("", define, name, "=", value, NULL);
+    }
+    else {
+        string = chaz_Util_join("", define, name, NULL);
+    }
+    chaz_CFlags_append(flags, string);
+    free(string);
+}
+
+void
 chaz_CFlags_add_include_dir(chaz_CFlags *flags, const char *dir) {
     const char *include;
     char *string;

http://git-wip-us.apache.org/repos/asf/lucy/blob/4a231ed4/clownfish/runtime/common/charmonizer.c
----------------------------------------------------------------------
diff --git a/clownfish/runtime/common/charmonizer.c 
b/clownfish/runtime/common/charmonizer.c
index a0dd426..6cf33ce 100644
--- a/clownfish/runtime/common/charmonizer.c
+++ b/clownfish/runtime/common/charmonizer.c
@@ -71,6 +71,10 @@ void
 chaz_CFlags_set_output_exe(chaz_CFlags *flags, const char *filename);
 
 void
+chaz_CFlags_add_define(chaz_CFlags *flags, const char *name,
+                       const char *value);
+
+void
 chaz_CFlags_add_include_dir(chaz_CFlags *flags, const char *dir);
 
 void
@@ -1475,6 +1479,28 @@ chaz_CFlags_set_output_exe(chaz_CFlags *flags, const 
char *filename) {
 }
 
 void
+chaz_CFlags_add_define(chaz_CFlags *flags, const char *name,
+                       const char *value) {
+    const char *define;
+    char *string;
+    if (flags->style == CHAZ_CFLAGS_STYLE_MSVC) {
+        define = "/D";
+    }
+    else {
+        /* POSIX */
+        define = "-D ";
+    }
+    if (value) {
+        string = chaz_Util_join("", define, name, "=", value, NULL);
+    }
+    else {
+        string = chaz_Util_join("", define, name, NULL);
+    }
+    chaz_CFlags_append(flags, string);
+    free(string);
+}
+
+void
 chaz_CFlags_add_include_dir(chaz_CFlags *flags, const char *dir) {
     const char *include;
     char *string;

http://git-wip-us.apache.org/repos/asf/lucy/blob/4a231ed4/common/charmonizer.c
----------------------------------------------------------------------
diff --git a/common/charmonizer.c b/common/charmonizer.c
index 1eaf9cf..26905be 100644
--- a/common/charmonizer.c
+++ b/common/charmonizer.c
@@ -71,6 +71,10 @@ void
 chaz_CFlags_set_output_exe(chaz_CFlags *flags, const char *filename);
 
 void
+chaz_CFlags_add_define(chaz_CFlags *flags, const char *name,
+                       const char *value);
+
+void
 chaz_CFlags_add_include_dir(chaz_CFlags *flags, const char *dir);
 
 void
@@ -1475,6 +1479,28 @@ chaz_CFlags_set_output_exe(chaz_CFlags *flags, const 
char *filename) {
 }
 
 void
+chaz_CFlags_add_define(chaz_CFlags *flags, const char *name,
+                       const char *value) {
+    const char *define;
+    char *string;
+    if (flags->style == CHAZ_CFLAGS_STYLE_MSVC) {
+        define = "/D";
+    }
+    else {
+        /* POSIX */
+        define = "-D ";
+    }
+    if (value) {
+        string = chaz_Util_join("", define, name, "=", value, NULL);
+    }
+    else {
+        string = chaz_Util_join("", define, name, NULL);
+    }
+    chaz_CFlags_append(flags, string);
+    free(string);
+}
+
+void
 chaz_CFlags_add_include_dir(chaz_CFlags *flags, const char *dir) {
     const char *include;
     char *string;
@@ -6171,16 +6197,6 @@ S_add_compiler_flags(struct chaz_CLIArgs *args) {
         /* Only core source files require this -- not our headers and
          * autogenerated files. */
         chaz_CFlags_append(extra_cflags, "-std=gnu99 -D_GNU_SOURCE");
-
-        /* When compiling for Perl bindings, define HAS_BOOL so that the Perl
-         * headers don't redefine 'bool' in conflict with C++.
-         *
-         * TODO: Compile all files that #include Perl headers separately and
-         * remove this directive.
-         */
-        if (args->charmony_pm) {
-            chaz_CFlags_append(extra_cflags, "-DHAS_BOOL");
-        }
     }
     else if (chaz_Probe_msvc_version_num()) {
         /* Compile as C++ under MSVC. */
@@ -6194,10 +6210,16 @@ S_add_compiler_flags(struct chaz_CLIArgs *args) {
             /* Redefine 'for' to fix broken 'for' scoping under MSVC6. */
             chaz_CFlags_append(extra_cflags, "/Dfor=\"if(0);else for\"");
         }
+    }
 
-        if (args->charmony_pm) {
-            chaz_CFlags_append(extra_cflags, "/DHAS_BOOL");
-        }
+    /* When compiling for Perl bindings, define HAS_BOOL so that the Perl
+     * headers don't redefine 'bool' in conflict with C++.
+     *
+     * TODO: Compile all files that #include Perl headers separately and
+     * remove this directive.
+     */
+    if (args->charmony_pm) {
+        chaz_CFlags_add_define(extra_cflags, "HAS_BOOL", NULL);
     }
 }
 

Reply via email to