Add chaz_CC_add_include_dir

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

Branch: refs/heads/c-bindings-cfc
Commit: 5622ba319c4a90f24ccc2cdc8ac0a0e49fa461c6
Parents: cf67dd8
Author: Nick Wellnhofer <[email protected]>
Authored: Sun Feb 10 21:54:09 2013 +0100
Committer: Nick Wellnhofer <[email protected]>
Committed: Sun Feb 10 21:54:09 2013 +0100

----------------------------------------------------------------------
 charmonizer/src/Charmonizer/Core/Compiler.c |    9 +++++++++
 charmonizer/src/Charmonizer/Core/Compiler.h |    5 +++++
 clownfish/compiler/common/charmonizer.main  |    7 ++++---
 3 files changed, 18 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/5622ba31/charmonizer/src/Charmonizer/Core/Compiler.c
----------------------------------------------------------------------
diff --git a/charmonizer/src/Charmonizer/Core/Compiler.c 
b/charmonizer/src/Charmonizer/Core/Compiler.c
index 440afdf..28342ab 100644
--- a/charmonizer/src/Charmonizer/Core/Compiler.c
+++ b/charmonizer/src/Charmonizer/Core/Compiler.c
@@ -342,6 +342,15 @@ chaz_CC_add_extra_cflags(const char *flags) {
     }
 }
 
+void
+chaz_CC_add_include_dir(const char *dir) {
+    size_t size = strlen(chaz_CC.include_flag) + strlen(dir) + 1;
+    char *flag = (char*)malloc(size);
+    sprintf(flag, "%s%s", chaz_CC.include_flag, dir);
+    chaz_CC_add_extra_cflags(flag);
+    free(flag);
+}
+
 const char*
 chaz_CC_get_cc(void) {
     return chaz_CC.cc_command;

http://git-wip-us.apache.org/repos/asf/lucy/blob/5622ba31/charmonizer/src/Charmonizer/Core/Compiler.h
----------------------------------------------------------------------
diff --git a/charmonizer/src/Charmonizer/Core/Compiler.h 
b/charmonizer/src/Charmonizer/Core/Compiler.h
index 2f03178..318ff62 100644
--- a/charmonizer/src/Charmonizer/Core/Compiler.h
+++ b/charmonizer/src/Charmonizer/Core/Compiler.h
@@ -74,6 +74,11 @@ chaz_CC_set_warnings_as_errors(const int flag);
 void
 chaz_CC_add_extra_cflags(const char *);
 
+/* Add include dir to extra cflags.
+ */
+void
+chaz_CC_add_include_dir(const char *dir);
+
 /* Accessor for the compiler executable's string representation.
  */
 const char*

http://git-wip-us.apache.org/repos/asf/lucy/blob/5622ba31/clownfish/compiler/common/charmonizer.main
----------------------------------------------------------------------
diff --git a/clownfish/compiler/common/charmonizer.main 
b/clownfish/compiler/common/charmonizer.main
index 27ef71e..2dfb267 100644
--- a/clownfish/compiler/common/charmonizer.main
+++ b/clownfish/compiler/common/charmonizer.main
@@ -135,12 +135,13 @@ S_write_makefile() {
     chaz_MakeFile_add_var(makefile, "LEMON_EXE",
                           "$(LEMON_DIR)" DIR_SEP "lemon$(EXE_EXT)");
 
+    chaz_CC_add_include_dir(".");
+    chaz_CC_add_include_dir("$(INCLUDE_DIR)");
+    chaz_CC_add_include_dir("$(SRC_DIR)");
+
     var = chaz_MakeFile_add_var(makefile, "CFLAGS", NULL);
     chaz_MakeVar_append(var, chaz_CC_get_cflags());
     chaz_MakeVar_append(var, chaz_CC_get_extra_cflags());
-    chaz_MakeVar_append(var, "-I.");
-    chaz_MakeVar_append(var, "-I$(INCLUDE_DIR)");
-    chaz_MakeVar_append(var, "-I$(SRC_DIR)");
 
     sfc.common_objs   = chaz_MakeFile_add_var(makefile, "COMMON_OBJS", NULL);
     sfc.test_cfc_objs = chaz_MakeFile_add_var(makefile, "TEST_CFC_OBJS", NULL);

Reply via email to