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 2014/08/19 22:35:26 UTC

[1/9] git commit: Make recursive make more generic

Repository: lucy-charmonizer
Updated Branches:
  refs/heads/master 25ece0e28 -> f3ee582c1


Make recursive make more generic

Don't use GNU make or nmake features when calling make recursively. This
adds support for other make implementations like dmake.


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

Branch: refs/heads/master
Commit: f3ee582c10b47bb1db451f64b4578c81282e6f77
Parents: 21adc1f
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Tue Aug 19 21:58:23 2014 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Tue Aug 19 22:32:10 2014 +0200

----------------------------------------------------------------------
 src/Charmonizer/Core/Make.c | 48 +++++++++++++++-------------------------
 1 file changed, 18 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/f3ee582c/src/Charmonizer/Core/Make.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/Make.c b/src/Charmonizer/Core/Make.c
index ef385c7..a5bd648 100644
--- a/src/Charmonizer/Core/Make.c
+++ b/src/Charmonizer/Core/Make.c
@@ -46,12 +46,10 @@ struct chaz_MakeFile {
 /* Static vars. */
 static struct {
     char *make_command;
-    int   is_gnu_make;
-    int   is_nmake;
     int   shell_type;
 } chaz_Make = {
     NULL,
-    0, 0, 0
+    0
 };
 
 /* Detect make command.
@@ -89,20 +87,13 @@ chaz_Make_init(void) {
     make = chaz_Make.make_command;
 
     if (make) {
-        if (strcmp(make, "make") == 0
-            || strcmp(make, "gmake") == 0
-            || strcmp(make, "mingw32-make") == 0
-            || strcmp(make, "mingw64-make") == 0
-           ) {
-            /* TODO: Add a feature test for GNU make. */
-            chaz_Make.is_gnu_make = 1;
-            /* TODO: Feature test which shell GNU make uses on Windows. */
-            chaz_Make.shell_type = CHAZ_OS_POSIX;
-        }
-        else if (strcmp(make, "nmake") == 0) {
-            chaz_Make.is_nmake = 1;
+        if (strcmp(make, "nmake") == 0) {
             chaz_Make.shell_type = CHAZ_OS_CMD_EXE;
         }
+        else {
+            /* TODO: Feature test which shell make uses on Windows. */
+            chaz_Make.shell_type = CHAZ_OS_POSIX;
+        }
     }
 }
 
@@ -645,34 +636,31 @@ chaz_MakeRule_add_make_command(chaz_MakeRule *rule, const char *dir,
                                const char *target) {
     char *command;
 
-    if (chaz_Make.is_gnu_make) {
+    if (chaz_Make.shell_type == CHAZ_OS_POSIX) {
         if (!target) {
-            command = chaz_Util_join(" ", "$(MAKE)", "-C", dir, NULL);
+            command = chaz_Util_join("", "(cd ", dir, " && $(MAKE))", NULL);
         }
         else {
-            command = chaz_Util_join(" ", "$(MAKE)", "-C", dir, target, NULL);
+            command = chaz_Util_join("", "(cd ", dir, " && $(MAKE) ", target,
+                                     ")", NULL);
         }
         chaz_MakeRule_add_command(rule, command);
         free(command);
     }
-    else if (chaz_Make.is_nmake) {
-        command = chaz_Util_join(" ", "cd", dir, NULL);
-        chaz_MakeRule_add_command(rule, command);
-        free(command);
-
+    else if (chaz_Make.shell_type == CHAZ_OS_CMD_EXE) {
         if (!target) {
-            chaz_MakeRule_add_command(rule, "$(MAKE) /nologo");
+            command = chaz_Util_join(" ", "pushd", dir, "&& $(MAKE) && popd",
+                                     NULL);
         }
         else {
-            command = chaz_Util_join(" ", "$(MAKE) /nologo", target, NULL);
-            chaz_MakeRule_add_command(rule, command);
-            free(command);
+            command = chaz_Util_join(" ", "pushd", dir, "&& $(MAKE)", target,
+                                     "&& popd", NULL);
         }
-
-        chaz_MakeRule_add_command(rule, "cd $(MAKEDIR)");
+        chaz_MakeRule_add_command(rule, command);
+        free(command);
     }
     else {
-        chaz_Util_die("Couldn't find a supported 'make' utility.");
+        chaz_Util_die("Unsupported shell type: %d", chaz_Make.shell_type);
     }
 }
 


[9/9] git commit: Strict aliasing flags for Sun C

Posted by nw...@apache.org.
Strict aliasing flags for Sun C


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

Branch: refs/heads/master
Commit: 97e10475a8a0946de0d56ef9edc9c2f649367b50
Parents: 6250d50
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Tue Aug 19 17:23:11 2014 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Tue Aug 19 22:32:10 2014 +0200

----------------------------------------------------------------------
 src/Charmonizer/Core/CFlags.c | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/97e10475/src/Charmonizer/Core/CFlags.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/CFlags.c b/src/Charmonizer/Core/CFlags.c
index cffecc3..6bd628f 100644
--- a/src/Charmonizer/Core/CFlags.c
+++ b/src/Charmonizer/Core/CFlags.c
@@ -171,6 +171,9 @@ chaz_CFlags_disable_strict_aliasing(chaz_CFlags *flags) {
     else if (flags->style == CHAZ_CFLAGS_STYLE_GNU) {
         chaz_CFlags_append(flags, "-fno-strict-aliasing");
     }
+    else if (flags->style == CHAZ_CFLAGS_STYLE_SUN_C) {
+        chaz_CFlags_append(flags, "-xalias_level=any");
+    }
     else {
         chaz_Util_die("Don't know how to disable strict aliasing with '%s'",
                       chaz_CC_get_cc());


[7/9] git commit: Optimization flags for Sun C

Posted by nw...@apache.org.
Optimization flags for Sun C


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

Branch: refs/heads/master
Commit: 6250d500812a7d97d29754b847feca9ee9e15309
Parents: 78e9417
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Tue Aug 19 17:13:35 2014 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Tue Aug 19 22:32:10 2014 +0200

----------------------------------------------------------------------
 src/Charmonizer/Core/CFlags.c | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/6250d500/src/Charmonizer/Core/CFlags.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/CFlags.c b/src/Charmonizer/Core/CFlags.c
index 8627fca..cffecc3 100644
--- a/src/Charmonizer/Core/CFlags.c
+++ b/src/Charmonizer/Core/CFlags.c
@@ -146,6 +146,9 @@ chaz_CFlags_enable_optimization(chaz_CFlags *flags) {
     else if (flags->style == CHAZ_CFLAGS_STYLE_GNU) {
         string = "-O2";
     }
+    else if (flags->style == CHAZ_CFLAGS_STYLE_SUN_C) {
+        string = "-xO4";
+    }
     else {
         /* POSIX */
         string = "-O 1";


[5/9] git commit: Symbol visibility for Sun C

Posted by nw...@apache.org.
Symbol visibility for Sun C


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

Branch: refs/heads/master
Commit: 78e9417aaa2836cfbd37dfc65c92fe8ee81dc9fa
Parents: 8136d84
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Tue Aug 19 17:10:27 2014 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Tue Aug 19 22:32:10 2014 +0200

----------------------------------------------------------------------
 src/Charmonizer/Core/CFlags.c            | 13 ++++++++++---
 src/Charmonizer/Probe/SymbolVisibility.c | 12 ++++++++++++
 2 files changed, 22 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/78e9417a/src/Charmonizer/Core/CFlags.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/CFlags.c b/src/Charmonizer/Core/CFlags.c
index a0542d7..8627fca 100644
--- a/src/Charmonizer/Core/CFlags.c
+++ b/src/Charmonizer/Core/CFlags.c
@@ -224,9 +224,16 @@ chaz_CFlags_compile_shared_library(chaz_CFlags *flags) {
 
 void
 chaz_CFlags_hide_symbols(chaz_CFlags *flags) {
-    if (flags->style == CHAZ_CFLAGS_STYLE_GNU
-        && strcmp(chaz_OS_shared_lib_ext(), ".dll") != 0) {
-        chaz_CFlags_append(flags, "-fvisibility=hidden");
+    if (flags->style == CHAZ_CFLAGS_STYLE_GNU) {
+        if (strcmp(chaz_OS_shared_lib_ext(), ".dll") != 0) {
+            chaz_CFlags_append(flags, "-fvisibility=hidden");
+        }
+    }
+    else if (flags->style == CHAZ_CFLAGS_STYLE_SUN_C) {
+        if (chaz_CC_sun_c_version_num() >= 0x550) {
+            /* Sun Studio 8. */
+            chaz_CFlags_append(flags, "-xldscope=hidden");
+        }
     }
 }
 

http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/78e9417a/src/Charmonizer/Probe/SymbolVisibility.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Probe/SymbolVisibility.c b/src/Charmonizer/Probe/SymbolVisibility.c
index e97f49a..73fdaf4 100644
--- a/src/Charmonizer/Probe/SymbolVisibility.c
+++ b/src/Charmonizer/Probe/SymbolVisibility.c
@@ -39,6 +39,18 @@ chaz_SymbolVisibility_run(void) {
     chaz_ConfWriter_start_module("SymbolVisibility");
     chaz_CFlags_set_warnings_as_errors(temp_cflags);
 
+    /* Sun C. */
+    if (!can_control_visibility) {
+        char export_sun[] = "__global";
+        sprintf(code_buf, chaz_SymbolVisibility_symbol_exporting_code,
+                export_sun);
+        if (chaz_CC_test_compile(code_buf)) {
+            can_control_visibility = true;
+            chaz_ConfWriter_add_def("EXPORT", export_sun);
+            chaz_ConfWriter_add_def("IMPORT", export_sun);
+        }
+    }
+
     /* Windows. */
     if (!can_control_visibility) {
         char export_win[] = "__declspec(dllexport)";


[3/9] git commit: Warnings as errors flags for Sun C

Posted by nw...@apache.org.
Warnings as errors flags for Sun C


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

Branch: refs/heads/master
Commit: 8136d846a9d0a3ef61e5c04630f6a4ce7215a5ca
Parents: e8d79b6
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Tue Aug 19 19:54:40 2014 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Tue Aug 19 22:32:10 2014 +0200

----------------------------------------------------------------------
 src/Charmonizer/Core/CFlags.c | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/8136d846/src/Charmonizer/Core/CFlags.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/CFlags.c b/src/Charmonizer/Core/CFlags.c
index 4c18c6f..a0542d7 100644
--- a/src/Charmonizer/Core/CFlags.c
+++ b/src/Charmonizer/Core/CFlags.c
@@ -183,6 +183,9 @@ chaz_CFlags_set_warnings_as_errors(chaz_CFlags *flags) {
     else if (flags->style == CHAZ_CFLAGS_STYLE_GNU) {
         string = "-Werror";
     }
+    else if (flags->style == CHAZ_CFLAGS_STYLE_SUN_C) {
+        string = "-errwarn=%all";
+    }
     else {
         chaz_Util_die("Don't know how to set warnings as errors with '%s'",
                       chaz_CC_get_cc());


[6/9] git commit: Flags style for Sun C compiler

Posted by nw...@apache.org.
Flags style for Sun C compiler


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

Branch: refs/heads/master
Commit: e8d79b60b97180e01b408f23854b9f19096e0323
Parents: 377b5a0
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Tue Aug 19 17:05:10 2014 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Tue Aug 19 22:32:10 2014 +0200

----------------------------------------------------------------------
 src/Charmonizer/Core/CFlags.h   | 1 +
 src/Charmonizer/Core/Compiler.c | 3 +++
 2 files changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/e8d79b60/src/Charmonizer/Core/CFlags.h
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/CFlags.h b/src/Charmonizer/Core/CFlags.h
index 8cd14d9..84eb997 100644
--- a/src/Charmonizer/Core/CFlags.h
+++ b/src/Charmonizer/Core/CFlags.h
@@ -29,6 +29,7 @@ extern "C" {
 #define CHAZ_CFLAGS_STYLE_POSIX  1
 #define CHAZ_CFLAGS_STYLE_GNU    2
 #define CHAZ_CFLAGS_STYLE_MSVC   3
+#define CHAZ_CFLAGS_STYLE_SUN_C  4
 
 typedef struct chaz_CFlags chaz_CFlags;
 

http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/e8d79b60/src/Charmonizer/Core/Compiler.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/Compiler.c b/src/Charmonizer/Core/Compiler.c
index 5ecfc2b..dbe36e7 100644
--- a/src/Charmonizer/Core/Compiler.c
+++ b/src/Charmonizer/Core/Compiler.c
@@ -97,6 +97,9 @@ chaz_CC_init(const char *compiler_command, const char *compiler_flags) {
     else if (chaz_CC.intval__MSC_VER) {
         chaz_CC.cflags_style = CHAZ_CFLAGS_STYLE_MSVC;
     }
+    else if (chaz_CC.intval___SUNPRO_C) {
+        chaz_CC.cflags_style = CHAZ_CFLAGS_STYLE_SUN_C;
+    }
     else {
         chaz_CC.cflags_style = CHAZ_CFLAGS_STYLE_POSIX;
     }


[2/9] git commit: Shared library flags for Sun C

Posted by nw...@apache.org.
Shared library flags for Sun C


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

Branch: refs/heads/master
Commit: 5b8f2b8cca8c6d467c9f7ca1a161e5cc1dcce88c
Parents: 97e1047
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Tue Aug 19 17:39:40 2014 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Tue Aug 19 22:32:10 2014 +0200

----------------------------------------------------------------------
 src/Charmonizer/Core/CFlags.c | 40 +++++++++++++++++++++++++-------------
 1 file changed, 26 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/5b8f2b8c/src/Charmonizer/Core/CFlags.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/CFlags.c b/src/Charmonizer/Core/CFlags.c
index 6bd628f..8d5e490 100644
--- a/src/Charmonizer/Core/CFlags.c
+++ b/src/Charmonizer/Core/CFlags.c
@@ -222,6 +222,9 @@ chaz_CFlags_compile_shared_library(chaz_CFlags *flags) {
             return;
         }
     }
+    else if (flags->style == CHAZ_CFLAGS_STYLE_SUN_C) {
+        string = "-KPIC";
+    }
     else {
         return;
     }
@@ -257,6 +260,9 @@ chaz_CFlags_link_shared_library(chaz_CFlags *flags) {
             string = "-shared";
         }
     }
+    else if (flags->style == CHAZ_CFLAGS_STYLE_SUN_C) {
+        string = "-G";
+    }
     else {
         chaz_Util_die("Don't know how to link a shared library with '%s'",
                       chaz_CC_get_cc());
@@ -267,25 +273,31 @@ chaz_CFlags_link_shared_library(chaz_CFlags *flags) {
 void
 chaz_CFlags_set_shared_library_version(chaz_CFlags *flags,
                                        chaz_SharedLib *lib) {
-    const char *shlib_ext = chaz_OS_shared_lib_ext();
-    char       *string;
-
-    if (flags->style != CHAZ_CFLAGS_STYLE_GNU
-        || strcmp(shlib_ext, ".dll") == 0) {
-        return;
-    }
+    if (flags->style == CHAZ_CFLAGS_STYLE_GNU) {
+        const char *shlib_ext = chaz_OS_shared_lib_ext();
 
-    if (strcmp(chaz_OS_shared_lib_ext(), ".dylib") == 0) {
-        const char *version = chaz_SharedLib_get_version(lib);
-        string = chaz_Util_join(" ", "-current_version", version, NULL);
+        if (strcmp(shlib_ext, ".dylib") == 0) {
+            const char *version = chaz_SharedLib_get_version(lib);
+            char *string
+                = chaz_Util_join(" ", "-current_version", version, NULL);
+            chaz_CFlags_append(flags, string);
+            free(string);
+        }
+        else if (strcmp(shlib_ext, ".so") == 0) {
+            char *soname = chaz_SharedLib_major_version_filename(lib);
+            char *string = chaz_Util_join("", "-Wl,-soname,", soname, NULL);
+            chaz_CFlags_append(flags, string);
+            free(string);
+            free(soname);
+        }
     }
-    else {
+    else if (flags->style == CHAZ_CFLAGS_STYLE_SUN_C) {
         char *soname = chaz_SharedLib_major_version_filename(lib);
-        string = chaz_Util_join("", "-Wl,-soname,", soname, NULL);
+        char *string = chaz_Util_join(" ", "-h", soname, NULL);
+        chaz_CFlags_append(flags, string);
+        free(string);
         free(soname);
     }
-    chaz_CFlags_append(flags, string);
-    free(string);
 }
 
 void


[4/9] git commit: Detect Sun C compiler

Posted by nw...@apache.org.
Detect Sun C compiler


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

Branch: refs/heads/master
Commit: 377b5a0056d28ead2c053950f835b319e46e272c
Parents: 25ece0e
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Tue Aug 19 16:55:27 2014 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Tue Aug 19 22:32:10 2014 +0200

----------------------------------------------------------------------
 src/Charmonizer/Core/Compiler.c | 13 ++++++++++---
 src/Charmonizer/Core/Compiler.h |  3 +++
 2 files changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/377b5a00/src/Charmonizer/Core/Compiler.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/Compiler.c b/src/Charmonizer/Core/Compiler.c
index 2ad4be8..5ecfc2b 100644
--- a/src/Charmonizer/Core/Compiler.c
+++ b/src/Charmonizer/Core/Compiler.c
@@ -44,12 +44,13 @@ static struct {
     int       intval___GNUC_PATCHLEVEL__;
     int       intval__MSC_VER;
     int       intval___clang__;
+    int       intval___SUNPRO_C;
     chaz_CFlags *extra_cflags;
     chaz_CFlags *temp_cflags;
 } chaz_CC = {
     NULL, NULL, NULL,
     "", "",
-    0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0,
     NULL, NULL
 };
 
@@ -144,8 +145,9 @@ chaz_CC_detect_known_compilers(void) {
                 chaz_CC.intval___GNUC_MINOR__,
                 chaz_CC.intval___GNUC_PATCHLEVEL__);
     }
-    chaz_CC.intval__MSC_VER  = chaz_CC_detect_macro("_MSC_VER");
-    chaz_CC.intval___clang__ = chaz_CC_detect_macro("__clang__");
+    chaz_CC.intval__MSC_VER   = chaz_CC_detect_macro("_MSC_VER");
+    chaz_CC.intval___clang__  = chaz_CC_detect_macro("__clang__");
+    chaz_CC.intval___SUNPRO_C = chaz_CC_detect_macro("__SUNPRO_C");
 }
 
 void
@@ -356,6 +358,11 @@ chaz_CC_msvc_version_num(void) {
     return chaz_CC.intval__MSC_VER;
 }
 
+int
+chaz_CC_sun_c_version_num(void) {
+    return chaz_CC.intval___SUNPRO_C;
+}
+
 const char*
 chaz_CC_link_command() {
     if (chaz_CC.intval__MSC_VER) {

http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/377b5a00/src/Charmonizer/Core/Compiler.h
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/Compiler.h b/src/Charmonizer/Core/Compiler.h
index 51ec01b..e33cf81 100644
--- a/src/Charmonizer/Core/Compiler.h
+++ b/src/Charmonizer/Core/Compiler.h
@@ -105,6 +105,9 @@ chaz_CC_gcc_version(void);
 int
 chaz_CC_msvc_version_num(void);
 
+int
+chaz_CC_sun_c_version_num(void);
+
 const char*
 chaz_CC_link_command(void);
 


[8/9] git commit: Debugging flags for Sun C

Posted by nw...@apache.org.
Debugging flags for Sun C


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

Branch: refs/heads/master
Commit: 21adc1f9679f7497df88b5d88f204ce6499b297d
Parents: 5b8f2b8
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Tue Aug 19 17:42:20 2014 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Tue Aug 19 22:32:10 2014 +0200

----------------------------------------------------------------------
 src/Charmonizer/Core/CFlags.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/21adc1f9/src/Charmonizer/Core/CFlags.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/CFlags.c b/src/Charmonizer/Core/CFlags.c
index 8d5e490..e0f92f2 100644
--- a/src/Charmonizer/Core/CFlags.c
+++ b/src/Charmonizer/Core/CFlags.c
@@ -158,7 +158,8 @@ chaz_CFlags_enable_optimization(chaz_CFlags *flags) {
 
 void
 chaz_CFlags_enable_debugging(chaz_CFlags *flags) {
-    if (flags->style == CHAZ_CFLAGS_STYLE_GNU) {
+    if (flags->style == CHAZ_CFLAGS_STYLE_GNU
+        || flags->style == CHAZ_CFLAGS_STYLE_SUN_C) {
         chaz_CFlags_append(flags, "-g");
     }
 }