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 20:11:30 UTC
[1/8] git commit: Detect Sun C compiler
Repository: lucy-charmonizer
Updated Branches:
refs/heads/solaris_fixes [created] 76c2a9d8a
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/34d147d6
Tree: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/tree/34d147d6
Diff: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/diff/34d147d6
Branch: refs/heads/solaris_fixes
Commit: 34d147d64cd097057f18b7e312ae1d866ff9a9d6
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 16:55:27 2014 +0200
----------------------------------------------------------------------
src/Charmonizer/Core/Compiler.c | 11 +++++++++--
src/Charmonizer/Core/Compiler.h | 3 +++
2 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/34d147d6/src/Charmonizer/Core/Compiler.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/Compiler.c b/src/Charmonizer/Core/Compiler.c
index 2ad4be8..ba74189 100644
--- a/src/Charmonizer/Core/Compiler.c
+++ b/src/Charmonizer/Core/Compiler.c
@@ -44,6 +44,7 @@ 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 = {
@@ -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/34d147d6/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);
[5/8] 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/82cb0cba
Tree: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/tree/82cb0cba
Diff: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/diff/82cb0cba
Branch: refs/heads/solaris_fixes
Commit: 82cb0cbab12b82f217cf46bb6355be20272d010a
Parents: e5df698
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 20:02:11 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/82cb0cba/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/82cb0cba/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)";
[8/8] 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/76c2a9d8
Tree: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/tree/76c2a9d8
Diff: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/diff/76c2a9d8
Branch: refs/heads/solaris_fixes
Commit: 76c2a9d8a9b14df4091470d6a05f5cae5f6ed34b
Parents: aa0cee0
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 20:02:12 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/76c2a9d8/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");
}
}
[4/8] 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/ae817361
Tree: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/tree/ae817361
Diff: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/diff/ae817361
Branch: refs/heads/solaris_fixes
Commit: ae81736126d43f4c34c389e3cda065302cbac906
Parents: ae2c05a
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 20:02:11 2014 +0200
----------------------------------------------------------------------
src/Charmonizer/Core/CFlags.c | 3 +++
1 file changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/ae817361/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/8] 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/aa0cee06
Tree: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/tree/aa0cee06
Diff: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/diff/aa0cee06
Branch: refs/heads/solaris_fixes
Commit: aa0cee06bf9036a91d6c7ae25f38481c72f3fe0f
Parents: ae81736
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 20:02:12 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/aa0cee06/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
[3/8] 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/e5df6987
Tree: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/tree/e5df6987
Diff: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/diff/e5df6987
Branch: refs/heads/solaris_fixes
Commit: e5df69873f3921b2df721da5d6547cbf43415b02
Parents: 2a839ea
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 20:00:52 2014 +0200
----------------------------------------------------------------------
src/Charmonizer/Core/CFlags.c | 3 +++
1 file changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/e5df6987/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/8] 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/ae2c05a5
Tree: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/tree/ae2c05a5
Diff: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/diff/ae2c05a5
Branch: refs/heads/solaris_fixes
Commit: ae2c05a5ce82fe3fb2a2add290e8fc8f605c2aaf
Parents: 82cb0cb
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 20:02:11 2014 +0200
----------------------------------------------------------------------
src/Charmonizer/Core/CFlags.c | 3 +++
1 file changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/ae2c05a5/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";
[2/8] 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/2a839ead
Tree: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/tree/2a839ead
Diff: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/diff/2a839ead
Branch: refs/heads/solaris_fixes
Commit: 2a839ead5df7a9161a049f115050ba58443f68c7
Parents: 34d147d
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 17:05: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/2a839ead/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/2a839ead/src/Charmonizer/Core/Compiler.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/Compiler.c b/src/Charmonizer/Core/Compiler.c
index ba74189..45d092f 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;
}