Compile lemon without extra compiler flags

Avoids compilation problems on Windows.


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

Branch: refs/heads/master
Commit: 89f414069f570536fc45b1ab1b06166bbea9298f
Parents: c3a25ce
Author: Nick Wellnhofer <[email protected]>
Authored: Fri Jul 15 21:33:31 2016 +0200
Committer: Nick Wellnhofer <[email protected]>
Committed: Fri Jul 15 21:57:40 2016 +0200

----------------------------------------------------------------------
 compiler/common/charmonizer.c    | 18 ++++++++----------
 compiler/common/charmonizer.main | 11 ++++++++---
 runtime/common/charmonizer.c     |  7 -------
 3 files changed, 16 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/89f41406/compiler/common/charmonizer.c
----------------------------------------------------------------------
diff --git a/compiler/common/charmonizer.c b/compiler/common/charmonizer.c
index 0ae21a2..2d828f7 100644
--- a/compiler/common/charmonizer.c
+++ b/compiler/common/charmonizer.c
@@ -5080,13 +5080,6 @@ chaz_MakeBinary*
 chaz_MakeFile_add_lemon_exe(chaz_MakeFile *self, const char *dir) {
     chaz_MakeBinary *exe = chaz_MakeFile_add_exe(self, dir, "lemon");
     chaz_MakeBinary_add_src_file(exe, dir, "lemon.c");
-
-    if (chaz_CC_gcc_version_num()) {
-        chaz_CFlags *cflags = chaz_MakeBinary_get_compile_flags(exe);
-        chaz_CFlags_append(cflags, "-Wno-pedantic -Wno-sign-compare"
-                           " -Wno-unused-parameter");
-    }
-
     return exe;
 }
 
@@ -8743,6 +8736,7 @@ S_write_makefile(struct chaz_CLI *cli) {
 
     chaz_CFlags *extra_cflags = chaz_CC_get_extra_cflags();
     chaz_CFlags *makefile_cflags;
+    chaz_CFlags *compile_flags;
     chaz_CFlags *link_flags;
 
     printf("Creating Makefile...\n");
@@ -8769,7 +8763,7 @@ S_write_makefile(struct chaz_CLI *cli) {
         chaz_CFlags_enable_code_coverage(makefile_cflags);
     }
 
-    var = chaz_MakeFile_add_var(makefile, "CFLAGS", NULL);
+    var = chaz_MakeFile_add_var(makefile, "CFC_CFLAGS", NULL);
     chaz_MakeVar_append(var, chaz_CFlags_get_string(extra_cflags));
     chaz_MakeVar_append(var, chaz_CFlags_get_string(makefile_cflags));
     chaz_MakeVar_append(var, chaz_CC_get_cflags());
@@ -8779,8 +8773,6 @@ S_write_makefile(struct chaz_CLI *cli) {
     /* Binaries. */
 
     if (strcmp(host, "c") == 0) {
-        chaz_CFlags *link_flags;
-
         chaz_MakeFile_add_rule(makefile, "all", "$(CFC_EXE)");
 
         exe = chaz_MakeFile_add_exe(makefile, NULL, "cfc");
@@ -8788,16 +8780,22 @@ S_write_makefile(struct chaz_CLI *cli) {
         chaz_MakeBinary_add_prereq(exe, "$(CFC_STATIC_LIB)");
         link_flags = chaz_MakeBinary_get_link_flags(exe);
         chaz_CFlags_append(link_flags, "$(CFC_STATIC_LIB)");
+        compile_flags = chaz_MakeBinary_get_compile_flags(exe);
+        chaz_CFlags_append(compile_flags, "$(CFC_CFLAGS)");
 
         test_exe = chaz_MakeFile_add_exe(makefile, "t", "test_cfc");
         chaz_MakeBinary_add_src_file(test_exe, "t", "test_cfc.c");
         chaz_MakeBinary_add_prereq(test_exe, "$(CFC_STATIC_LIB)");
         link_flags = chaz_MakeBinary_get_link_flags(test_exe);
         chaz_CFlags_append(link_flags, "$(CFC_STATIC_LIB)");
+        compile_flags = chaz_MakeBinary_get_compile_flags(test_exe);
+        chaz_CFlags_append(compile_flags, "$(CFC_CFLAGS)");
     }
 
     lib = chaz_MakeFile_add_static_lib(makefile, NULL, "cfc");
     chaz_MakeFile_add_rule(makefile, "static", "$(CFC_STATIC_LIB)");
+    compile_flags = chaz_MakeBinary_get_compile_flags(lib);
+    chaz_CFlags_append(compile_flags, "$(CFC_CFLAGS)");
 
     /*
      * The dependency is actually on CFCParseHeader.h, but make doesn't cope

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/89f41406/compiler/common/charmonizer.main
----------------------------------------------------------------------
diff --git a/compiler/common/charmonizer.main b/compiler/common/charmonizer.main
index eaf9a29..ce4ec07 100644
--- a/compiler/common/charmonizer.main
+++ b/compiler/common/charmonizer.main
@@ -157,6 +157,7 @@ S_write_makefile(struct chaz_CLI *cli) {
 
     chaz_CFlags *extra_cflags = chaz_CC_get_extra_cflags();
     chaz_CFlags *makefile_cflags;
+    chaz_CFlags *compile_flags;
     chaz_CFlags *link_flags;
 
     printf("Creating Makefile...\n");
@@ -183,7 +184,7 @@ S_write_makefile(struct chaz_CLI *cli) {
         chaz_CFlags_enable_code_coverage(makefile_cflags);
     }
 
-    var = chaz_MakeFile_add_var(makefile, "CFLAGS", NULL);
+    var = chaz_MakeFile_add_var(makefile, "CFC_CFLAGS", NULL);
     chaz_MakeVar_append(var, chaz_CFlags_get_string(extra_cflags));
     chaz_MakeVar_append(var, chaz_CFlags_get_string(makefile_cflags));
     chaz_MakeVar_append(var, chaz_CC_get_cflags());
@@ -193,8 +194,6 @@ S_write_makefile(struct chaz_CLI *cli) {
     /* Binaries. */
 
     if (strcmp(host, "c") == 0) {
-        chaz_CFlags *link_flags;
-
         chaz_MakeFile_add_rule(makefile, "all", "$(CFC_EXE)");
 
         exe = chaz_MakeFile_add_exe(makefile, NULL, "cfc");
@@ -202,16 +201,22 @@ S_write_makefile(struct chaz_CLI *cli) {
         chaz_MakeBinary_add_prereq(exe, "$(CFC_STATIC_LIB)");
         link_flags = chaz_MakeBinary_get_link_flags(exe);
         chaz_CFlags_append(link_flags, "$(CFC_STATIC_LIB)");
+        compile_flags = chaz_MakeBinary_get_compile_flags(exe);
+        chaz_CFlags_append(compile_flags, "$(CFC_CFLAGS)");
 
         test_exe = chaz_MakeFile_add_exe(makefile, "t", "test_cfc");
         chaz_MakeBinary_add_src_file(test_exe, "t", "test_cfc.c");
         chaz_MakeBinary_add_prereq(test_exe, "$(CFC_STATIC_LIB)");
         link_flags = chaz_MakeBinary_get_link_flags(test_exe);
         chaz_CFlags_append(link_flags, "$(CFC_STATIC_LIB)");
+        compile_flags = chaz_MakeBinary_get_compile_flags(test_exe);
+        chaz_CFlags_append(compile_flags, "$(CFC_CFLAGS)");
     }
 
     lib = chaz_MakeFile_add_static_lib(makefile, NULL, "cfc");
     chaz_MakeFile_add_rule(makefile, "static", "$(CFC_STATIC_LIB)");
+    compile_flags = chaz_MakeBinary_get_compile_flags(lib);
+    chaz_CFlags_append(compile_flags, "$(CFC_CFLAGS)");
 
     /*
      * The dependency is actually on CFCParseHeader.h, but make doesn't cope

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/89f41406/runtime/common/charmonizer.c
----------------------------------------------------------------------
diff --git a/runtime/common/charmonizer.c b/runtime/common/charmonizer.c
index 48a9b30..9b3e99e 100644
--- a/runtime/common/charmonizer.c
+++ b/runtime/common/charmonizer.c
@@ -5080,13 +5080,6 @@ chaz_MakeBinary*
 chaz_MakeFile_add_lemon_exe(chaz_MakeFile *self, const char *dir) {
     chaz_MakeBinary *exe = chaz_MakeFile_add_exe(self, dir, "lemon");
     chaz_MakeBinary_add_src_file(exe, dir, "lemon.c");
-
-    if (chaz_CC_gcc_version_num()) {
-        chaz_CFlags *cflags = chaz_MakeBinary_get_compile_flags(exe);
-        chaz_CFlags_append(cflags, "-Wno-pedantic -Wno-sign-compare"
-                           " -Wno-unused-parameter");
-    }
-
     return exe;
 }
 

Reply via email to