You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2012/11/22 19:44:03 UTC

[lucy-commits] [23/23] git commit: refs/heads/master - Support globally scoped defines in Charmonizer

Support globally scoped defines in Charmonizer


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

Branch: refs/heads/master
Commit: 1ee7b6f6f70e21072071ad4457824f0f8b5d928c
Parents: 155d550
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Sat Nov 17 22:01:44 2012 +0100
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Sun Nov 18 16:26:13 2012 +0100

----------------------------------------------------------------------
 charmonizer/src/Charmonizer/Core/ConfWriter.c     |    8 +++++
 charmonizer/src/Charmonizer/Core/ConfWriter.h     |    8 +++++
 charmonizer/src/Charmonizer/Core/ConfWriterC.c    |   27 ++++++++++++++++
 charmonizer/src/Charmonizer/Core/ConfWriterPerl.c |    9 +++++
 charmonizer/src/Charmonizer/Core/ConfWriterRuby.c |    9 +++++
 5 files changed, 61 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/1ee7b6f6/charmonizer/src/Charmonizer/Core/ConfWriter.c
----------------------------------------------------------------------
diff --git a/charmonizer/src/Charmonizer/Core/ConfWriter.c b/charmonizer/src/Charmonizer/Core/ConfWriter.c
index c74e241..b9217ff 100644
--- a/charmonizer/src/Charmonizer/Core/ConfWriter.c
+++ b/charmonizer/src/Charmonizer/Core/ConfWriter.c
@@ -60,6 +60,14 @@ chaz_ConfWriter_add_def(const char *sym, const char *value) {
 }
 
 void
+chaz_ConfWriter_add_global_def(const char *sym, const char *value) {
+    size_t i;
+    for (i = 0; i < chaz_CW.num_writers; i++) {
+        chaz_CW.writers[i]->add_global_def(sym, value);
+    }
+}
+
+void
 chaz_ConfWriter_add_typedef(const char *type, const char *alias) {
     size_t i;
     for (i = 0; i < chaz_CW.num_writers; i++) {

http://git-wip-us.apache.org/repos/asf/lucy/blob/1ee7b6f6/charmonizer/src/Charmonizer/Core/ConfWriter.h
----------------------------------------------------------------------
diff --git a/charmonizer/src/Charmonizer/Core/ConfWriter.h b/charmonizer/src/Charmonizer/Core/ConfWriter.h
index f0be507..0f7a553 100644
--- a/charmonizer/src/Charmonizer/Core/ConfWriter.h
+++ b/charmonizer/src/Charmonizer/Core/ConfWriter.h
@@ -52,6 +52,11 @@ chaz_ConfWriter_append_conf(const char *fmt, ...);
 void
 chaz_ConfWriter_add_def(const char *sym, const char *value);
 
+/* Add a globally scoped pound-define.
+ */
+void
+chaz_ConfWriter_add_global_def(const char *sym, const char *value);
+
 /* Add a typedef.
  */
 void
@@ -92,6 +97,8 @@ typedef void
 typedef void
 (*chaz_ConfWriter_add_def_t)(const char *sym, const char *value);
 typedef void
+(*chaz_ConfWriter_add_global_def_t)(const char *sym, const char *value);
+typedef void
 (*chaz_ConfWriter_add_typedef_t)(const char *type, const char *alias);
 typedef void
 (*chaz_ConfWriter_add_global_typedef_t)(const char *type, const char *alias);
@@ -107,6 +114,7 @@ typedef struct chaz_ConfWriter {
     chaz_ConfWriter_clean_up_t           clean_up;
     chaz_ConfWriter_vappend_conf_t       vappend_conf;
     chaz_ConfWriter_add_def_t            add_def;
+    chaz_ConfWriter_add_global_def_t     add_global_def;
     chaz_ConfWriter_add_typedef_t        add_typedef;
     chaz_ConfWriter_add_global_typedef_t add_global_typedef;
     chaz_ConfWriter_add_sys_include_t    add_sys_include;

http://git-wip-us.apache.org/repos/asf/lucy/blob/1ee7b6f6/charmonizer/src/Charmonizer/Core/ConfWriterC.c
----------------------------------------------------------------------
diff --git a/charmonizer/src/Charmonizer/Core/ConfWriterC.c b/charmonizer/src/Charmonizer/Core/ConfWriterC.c
index d1882dd..3be86d1 100644
--- a/charmonizer/src/Charmonizer/Core/ConfWriterC.c
+++ b/charmonizer/src/Charmonizer/Core/ConfWriterC.c
@@ -28,6 +28,7 @@
 
 typedef enum chaz_ConfElemType {
     CHAZ_CONFELEM_DEF,
+    CHAZ_CONFELEM_GLOBAL_DEF,
     CHAZ_CONFELEM_TYPEDEF,
     CHAZ_CONFELEM_GLOBAL_TYPEDEF,
     CHAZ_CONFELEM_SYS_INCLUDE,
@@ -71,6 +72,8 @@ chaz_ConfWriterC_vappend_conf(const char *fmt, va_list args);
 static void
 chaz_ConfWriterC_add_def(const char *sym, const char *value);
 static void
+chaz_ConfWriterC_add_global_def(const char *sym, const char *value);
+static void
 chaz_ConfWriterC_add_typedef(const char *type, const char *alias);
 static void
 chaz_ConfWriterC_add_global_typedef(const char *type, const char *alias);
@@ -88,6 +91,7 @@ chaz_ConfWriterC_enable(void) {
     CWC_conf_writer.clean_up           = chaz_ConfWriterC_clean_up;
     CWC_conf_writer.vappend_conf       = chaz_ConfWriterC_vappend_conf;
     CWC_conf_writer.add_def            = chaz_ConfWriterC_add_def;
+    CWC_conf_writer.add_global_def     = chaz_ConfWriterC_add_global_def;
     CWC_conf_writer.add_typedef        = chaz_ConfWriterC_add_typedef;
     CWC_conf_writer.add_global_typedef = chaz_ConfWriterC_add_global_typedef;
     CWC_conf_writer.add_sys_include    = chaz_ConfWriterC_add_sys_include;
@@ -177,6 +181,24 @@ chaz_ConfWriterC_append_def_to_conf(const char *sym, const char *value) {
 }
 
 static void
+chaz_ConfWriterC_add_global_def(const char *sym, const char *value) {
+    chaz_ConfWriterC_push_def_list_item(sym, value, CHAZ_CONFELEM_GLOBAL_DEF);
+}
+
+static void
+chaz_ConfWriterC_append_global_def_to_conf(const char *sym,
+        const char *value) {
+    fprintf(chaz_ConfWriterC.fh, "#ifndef %s\n", sym);
+    if (value) {
+        fprintf(chaz_ConfWriterC.fh, "  #define %s %s\n", sym, value);
+    }
+    else {
+        fprintf(chaz_ConfWriterC.fh, "  #define %s\n", sym);
+    }
+    fprintf(chaz_ConfWriterC.fh, "#endif\n");
+}
+
+static void
 chaz_ConfWriterC_add_typedef(const char *type, const char *alias) {
     chaz_ConfWriterC_push_def_list_item(alias, type, CHAZ_CONFELEM_TYPEDEF);
 }
@@ -240,6 +262,10 @@ chaz_ConfWriterC_end_module(void) {
                 chaz_ConfWriterC_append_def_to_conf(defs[i].str1,
                                                     defs[i].str2);
                 break;
+            case CHAZ_CONFELEM_GLOBAL_DEF:
+                chaz_ConfWriterC_append_global_def_to_conf(defs[i].str1,
+                                                           defs[i].str2);
+                break;
             case CHAZ_CONFELEM_TYPEDEF:
                 chaz_ConfWriterC_append_typedef_to_conf(defs[i].str2,
                                                         defs[i].str1);
@@ -281,6 +307,7 @@ chaz_ConfWriterC_end_module(void) {
                     }
                 }
                 break;
+            case CHAZ_CONFELEM_GLOBAL_DEF:
             case CHAZ_CONFELEM_GLOBAL_TYPEDEF:
             case CHAZ_CONFELEM_SYS_INCLUDE:
             case CHAZ_CONFELEM_LOCAL_INCLUDE:

http://git-wip-us.apache.org/repos/asf/lucy/blob/1ee7b6f6/charmonizer/src/Charmonizer/Core/ConfWriterPerl.c
----------------------------------------------------------------------
diff --git a/charmonizer/src/Charmonizer/Core/ConfWriterPerl.c b/charmonizer/src/Charmonizer/Core/ConfWriterPerl.c
index 3b85473..8592659 100644
--- a/charmonizer/src/Charmonizer/Core/ConfWriterPerl.c
+++ b/charmonizer/src/Charmonizer/Core/ConfWriterPerl.c
@@ -41,6 +41,8 @@ chaz_ConfWriterPerl_vappend_conf(const char *fmt, va_list args);
 static void
 chaz_ConfWriterPerl_add_def(const char *sym, const char *value);
 static void
+chaz_ConfWriterPerl_add_global_def(const char *sym, const char *value);
+static void
 chaz_ConfWriterPerl_add_typedef(const char *type, const char *alias);
 static void
 chaz_ConfWriterPerl_add_global_typedef(const char *type, const char *alias);
@@ -58,6 +60,7 @@ chaz_ConfWriterPerl_enable(void) {
     CWPerl_conf_writer.clean_up           = chaz_ConfWriterPerl_clean_up;
     CWPerl_conf_writer.vappend_conf       = chaz_ConfWriterPerl_vappend_conf;
     CWPerl_conf_writer.add_def            = chaz_ConfWriterPerl_add_def;
+    CWPerl_conf_writer.add_global_def     = chaz_ConfWriterPerl_add_global_def;
     CWPerl_conf_writer.add_typedef        = chaz_ConfWriterPerl_add_typedef;
     CWPerl_conf_writer.add_global_typedef = chaz_ConfWriterPerl_add_global_typedef;
     CWPerl_conf_writer.add_sys_include    = chaz_ConfWriterPerl_add_sys_include;
@@ -183,6 +186,12 @@ chaz_ConfWriterPerl_add_def(const char *sym, const char *value) {
 }
 
 static void
+chaz_ConfWriterPerl_add_global_def(const char *sym, const char *value) {
+    (void)sym;
+    (void)value;
+}
+
+static void
 chaz_ConfWriterPerl_add_typedef(const char *type, const char *alias) {
     (void)type;
     (void)alias;

http://git-wip-us.apache.org/repos/asf/lucy/blob/1ee7b6f6/charmonizer/src/Charmonizer/Core/ConfWriterRuby.c
----------------------------------------------------------------------
diff --git a/charmonizer/src/Charmonizer/Core/ConfWriterRuby.c b/charmonizer/src/Charmonizer/Core/ConfWriterRuby.c
index caea7ce..c81c10f 100644
--- a/charmonizer/src/Charmonizer/Core/ConfWriterRuby.c
+++ b/charmonizer/src/Charmonizer/Core/ConfWriterRuby.c
@@ -41,6 +41,8 @@ chaz_ConfWriterRuby_vappend_conf(const char *fmt, va_list args);
 static void
 chaz_ConfWriterRuby_add_def(const char *sym, const char *value);
 static void
+chaz_ConfWriterRuby_add_global_def(const char *sym, const char *value);
+static void
 chaz_ConfWriterRuby_add_typedef(const char *type, const char *alias);
 static void
 chaz_ConfWriterRuby_add_global_typedef(const char *type, const char *alias);
@@ -58,6 +60,7 @@ chaz_ConfWriterRuby_enable(void) {
     CWRuby_conf_writer.clean_up           = chaz_ConfWriterRuby_clean_up;
     CWRuby_conf_writer.vappend_conf       = chaz_ConfWriterRuby_vappend_conf;
     CWRuby_conf_writer.add_def            = chaz_ConfWriterRuby_add_def;
+    CWRuby_conf_writer.add_global_def     = chaz_ConfWriterRuby_add_global_def;
     CWRuby_conf_writer.add_typedef        = chaz_ConfWriterRuby_add_typedef;
     CWRuby_conf_writer.add_global_typedef = chaz_ConfWriterRuby_add_global_typedef;
     CWRuby_conf_writer.add_sys_include    = chaz_ConfWriterRuby_add_sys_include;
@@ -181,6 +184,12 @@ chaz_ConfWriterRuby_add_def(const char *sym, const char *value) {
 }
 
 static void
+chaz_ConfWriterRuby_add_global_def(const char *sym, const char *value) {
+    (void)sym;
+    (void)value;
+}
+
+static void
 chaz_ConfWriterRuby_add_typedef(const char *type, const char *alias) {
     (void)type;
     (void)alias;