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 2013/03/11 22:52:48 UTC

[lucy-commits] [17/18] git commit: refs/heads/master - Regenerate charmonizer.c

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/47d829ec
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/47d829ec
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/47d829ec

Branch: refs/heads/master
Commit: 47d829ec6ca21b31676657178c56a0a96c714109
Parents: 49dbbec
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Sat Mar 2 17:52:15 2013 +0100
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Sat Mar 9 17:52:04 2013 +0100

----------------------------------------------------------------------
 clownfish/compiler/common/charmonizer.c |    3 +
 clownfish/runtime/common/charmonizer.c  |   66 +++++++++++++++++++++++
 common/charmonizer.c                    |   73 +++++++++++++++++++++++++-
 3 files changed, 141 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/47d829ec/clownfish/compiler/common/charmonizer.c
----------------------------------------------------------------------
diff --git a/clownfish/compiler/common/charmonizer.c b/clownfish/compiler/common/charmonizer.c
index 9a70eda..e9bec80 100644
--- a/clownfish/compiler/common/charmonizer.c
+++ b/clownfish/compiler/common/charmonizer.c
@@ -439,6 +439,7 @@ chaz_MakeFile_add_dir_to_cleanup(chaz_MakeFile *makefile, const char *dir);
  * @param makefile The makefile.
  * @param exe The name of the executable.
  * @param objects The list of object files.
+ * @param extra_link_flags Additional link flags.
  */
 chaz_MakeRule*
 chaz_MakeFile_add_exe(chaz_MakeFile *makefile, const char *exe,
@@ -450,6 +451,7 @@ chaz_MakeFile_add_exe(chaz_MakeFile *makefile, const char *exe,
  * @param makefile The makefile.
  * @param shared_obj The name of the shared object.
  * @param objects The list of object files.
+ * @param extra_link_flags Additional link flags.
  */
 chaz_MakeRule*
 chaz_MakeFile_add_shared_obj(chaz_MakeFile *makefile, const char *shared_obj,
@@ -4108,6 +4110,7 @@ chaz_Headers_probe_posix(void) {
         "fcntl.h",
         "grp.h",
         "pwd.h",
+        "regex.h",
         "sys/stat.h",
         "sys/times.h",
         "sys/types.h",

http://git-wip-us.apache.org/repos/asf/lucy/blob/47d829ec/clownfish/runtime/common/charmonizer.c
----------------------------------------------------------------------
diff --git a/clownfish/runtime/common/charmonizer.c b/clownfish/runtime/common/charmonizer.c
index d24a526..0b7524c 100644
--- a/clownfish/runtime/common/charmonizer.c
+++ b/clownfish/runtime/common/charmonizer.c
@@ -439,6 +439,7 @@ chaz_MakeFile_add_dir_to_cleanup(chaz_MakeFile *makefile, const char *dir);
  * @param makefile The makefile.
  * @param exe The name of the executable.
  * @param objects The list of object files.
+ * @param extra_link_flags Additional link flags.
  */
 chaz_MakeRule*
 chaz_MakeFile_add_exe(chaz_MakeFile *makefile, const char *exe,
@@ -450,6 +451,7 @@ chaz_MakeFile_add_exe(chaz_MakeFile *makefile, const char *exe,
  * @param makefile The makefile.
  * @param shared_obj The name of the shared object.
  * @param objects The list of object files.
+ * @param extra_link_flags Additional link flags.
  */
 chaz_MakeRule*
 chaz_MakeFile_add_shared_obj(chaz_MakeFile *makefile, const char *shared_obj,
@@ -1216,6 +1218,24 @@ void chaz_Memory_run(void);
 
 /***************************************************************************/
 
+#line 21 "src/Charmonizer/Probe/RegularExpressions.h"
+/* Charmonizer/Probe/RegularExpressions.h -- regular expressions.
+ */
+
+#ifndef H_CHAZ_REGULAREXPRESSIONS
+#define H_CHAZ_REGULAREXPRESSIONS
+
+/* Run the RegularExpressions module.
+ */
+void chaz_RegularExpressions_run(void);
+
+#endif /* H_CHAZ_REGULAREXPRESSIONS */
+
+
+
+
+/***************************************************************************/
+
 #line 21 "src/Charmonizer/Probe/Strings.h"
 /* Charmonizer/Probe/Strings.h
  */
@@ -4659,6 +4679,7 @@ chaz_Headers_probe_posix(void) {
         "fcntl.h",
         "grp.h",
         "pwd.h",
+        "regex.h",
         "sys/stat.h",
         "sys/times.h",
         "sys/types.h",
@@ -5548,6 +5569,51 @@ chaz_Memory_probe_alloca(void) {
 
 /***************************************************************************/
 
+#line 17 "src/Charmonizer/Probe/RegularExpressions.c"
+/* #include "Charmonizer/Core/HeaderChecker.h" */
+/* #include "Charmonizer/Core/ConfWriter.h" */
+/* #include "Charmonizer/Probe/RegularExpressions.h" */
+
+void
+chaz_RegularExpressions_run(void) {
+    int has_regex_h     = chaz_HeadCheck_check_header("regex.h");
+    int has_pcre_h      = chaz_HeadCheck_check_header("pcre.h");
+    int has_pcreposix_h = chaz_HeadCheck_check_header("pcreposix.h");
+
+    chaz_ConfWriter_start_module("RegularExpressions");
+
+    /* PCRE headers. */
+    if (has_pcre_h) {
+        chaz_ConfWriter_add_def("HAS_PCRE_H", NULL);
+    }
+    if (has_pcreposix_h) {
+        chaz_ConfWriter_add_def("HAS_PCREPOSIX_H", NULL);
+    }
+
+    /* Check for OS X enhanced regexes. */
+    if (has_regex_h) {
+        const char *reg_enhanced_code =
+            CHAZ_QUOTE(  #include <regex.h>                             )
+            CHAZ_QUOTE(  int main(int argc, char **argv) {              )
+            CHAZ_QUOTE(      regex_t re;                                )
+            CHAZ_QUOTE(      if (regcomp(&re, "^", REG_ENHANCED)) {     )
+            CHAZ_QUOTE(          return 1;                              )
+            CHAZ_QUOTE(      }                                          )
+            CHAZ_QUOTE(      return 0;                                  )
+            CHAZ_QUOTE(  }                                              );
+
+        if (chaz_CC_test_compile(reg_enhanced_code)) {
+            chaz_ConfWriter_add_def("HAS_REG_ENHANCED", NULL);
+        }
+    }
+
+    chaz_ConfWriter_end_module();
+}
+
+
+
+/***************************************************************************/
+
 #line 17 "src/Charmonizer/Probe/Strings.c"
 /* #include "Charmonizer/Core/Compiler.h" */
 /* #include "Charmonizer/Core/ConfWriter.h" */

http://git-wip-us.apache.org/repos/asf/lucy/blob/47d829ec/common/charmonizer.c
----------------------------------------------------------------------
diff --git a/common/charmonizer.c b/common/charmonizer.c
index 491b6db..326307f 100644
--- a/common/charmonizer.c
+++ b/common/charmonizer.c
@@ -439,6 +439,7 @@ chaz_MakeFile_add_dir_to_cleanup(chaz_MakeFile *makefile, const char *dir);
  * @param makefile The makefile.
  * @param exe The name of the executable.
  * @param objects The list of object files.
+ * @param extra_link_flags Additional link flags.
  */
 chaz_MakeRule*
 chaz_MakeFile_add_exe(chaz_MakeFile *makefile, const char *exe,
@@ -450,6 +451,7 @@ chaz_MakeFile_add_exe(chaz_MakeFile *makefile, const char *exe,
  * @param makefile The makefile.
  * @param shared_obj The name of the shared object.
  * @param objects The list of object files.
+ * @param extra_link_flags Additional link flags.
  */
 chaz_MakeRule*
 chaz_MakeFile_add_shared_obj(chaz_MakeFile *makefile, const char *shared_obj,
@@ -1216,6 +1218,24 @@ void chaz_Memory_run(void);
 
 /***************************************************************************/
 
+#line 21 "src/Charmonizer/Probe/RegularExpressions.h"
+/* Charmonizer/Probe/RegularExpressions.h -- regular expressions.
+ */
+
+#ifndef H_CHAZ_REGULAREXPRESSIONS
+#define H_CHAZ_REGULAREXPRESSIONS
+
+/* Run the RegularExpressions module.
+ */
+void chaz_RegularExpressions_run(void);
+
+#endif /* H_CHAZ_REGULAREXPRESSIONS */
+
+
+
+
+/***************************************************************************/
+
 #line 21 "src/Charmonizer/Probe/Strings.h"
 /* Charmonizer/Probe/Strings.h
  */
@@ -4659,6 +4679,7 @@ chaz_Headers_probe_posix(void) {
         "fcntl.h",
         "grp.h",
         "pwd.h",
+        "regex.h",
         "sys/stat.h",
         "sys/times.h",
         "sys/types.h",
@@ -5548,6 +5569,51 @@ chaz_Memory_probe_alloca(void) {
 
 /***************************************************************************/
 
+#line 17 "src/Charmonizer/Probe/RegularExpressions.c"
+/* #include "Charmonizer/Core/HeaderChecker.h" */
+/* #include "Charmonizer/Core/ConfWriter.h" */
+/* #include "Charmonizer/Probe/RegularExpressions.h" */
+
+void
+chaz_RegularExpressions_run(void) {
+    int has_regex_h     = chaz_HeadCheck_check_header("regex.h");
+    int has_pcre_h      = chaz_HeadCheck_check_header("pcre.h");
+    int has_pcreposix_h = chaz_HeadCheck_check_header("pcreposix.h");
+
+    chaz_ConfWriter_start_module("RegularExpressions");
+
+    /* PCRE headers. */
+    if (has_pcre_h) {
+        chaz_ConfWriter_add_def("HAS_PCRE_H", NULL);
+    }
+    if (has_pcreposix_h) {
+        chaz_ConfWriter_add_def("HAS_PCREPOSIX_H", NULL);
+    }
+
+    /* Check for OS X enhanced regexes. */
+    if (has_regex_h) {
+        const char *reg_enhanced_code =
+            CHAZ_QUOTE(  #include <regex.h>                             )
+            CHAZ_QUOTE(  int main(int argc, char **argv) {              )
+            CHAZ_QUOTE(      regex_t re;                                )
+            CHAZ_QUOTE(      if (regcomp(&re, "^", REG_ENHANCED)) {     )
+            CHAZ_QUOTE(          return 1;                              )
+            CHAZ_QUOTE(      }                                          )
+            CHAZ_QUOTE(      return 0;                                  )
+            CHAZ_QUOTE(  }                                              );
+
+        if (chaz_CC_test_compile(reg_enhanced_code)) {
+            chaz_ConfWriter_add_def("HAS_REG_ENHANCED", NULL);
+        }
+    }
+
+    chaz_ConfWriter_end_module();
+}
+
+
+
+/***************************************************************************/
+
 #line 17 "src/Charmonizer/Probe/Strings.c"
 /* #include "Charmonizer/Core/Compiler.h" */
 /* #include "Charmonizer/Core/ConfWriter.h" */
@@ -6061,8 +6127,12 @@ S_write_makefile() {
     chaz_MakeRule_add_prereq(rule, json_parser_c);
     chaz_MakeRule_add_prereq(rule, "$(AUTOGEN_DIR)");
 
+    const char *link_flags = "";
+    if (chaz_HeadCheck_check_header("pcre.h")) {
+        link_flags = "-lpcre";
+    }
     chaz_MakeFile_add_shared_obj(makefile, "$(LUCY_SHOBJ)", "$(LUCY_OBJS)",
-                                 "");
+                                 link_flags);
 
     chaz_MakeFile_add_rule(makefile, "$(TEST_LUCY_OBJS)", "$(AUTOGEN_DIR)");
 
@@ -6114,6 +6184,7 @@ int main(int argc, const char **argv) {
     chaz_Floats_run();
     chaz_LargeFiles_run();
     chaz_Memory_run();
+    chaz_RegularExpressions_run();
     chaz_SymbolVisibility_run();
     chaz_UnusedVars_run();
     chaz_VariadicMacros_run();