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 2016/07/06 15:39:12 UTC
[2/2] lucy-charmonizer git commit: Support for rpath linker flag
Support for rpath linker flag
Project: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/commit/6ea06d33
Tree: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/tree/6ea06d33
Diff: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/diff/6ea06d33
Branch: refs/heads/master
Commit: 6ea06d3395ee7fde85b934da5015b6aee06a9987
Parents: 78d051f
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Wed Jul 6 15:49:21 2016 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Wed Jul 6 17:02:50 2016 +0200
----------------------------------------------------------------------
src/Charmonizer/Core/CFlags.c | 21 +++++++++++++++++++++
src/Charmonizer/Core/CFlags.h | 3 +++
2 files changed, 24 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/6ea06d33/src/Charmonizer/Core/CFlags.c
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/CFlags.c b/src/Charmonizer/Core/CFlags.c
index a1f4684..ea07dc1 100644
--- a/src/Charmonizer/Core/CFlags.c
+++ b/src/Charmonizer/Core/CFlags.c
@@ -349,6 +349,27 @@ chaz_CFlags_add_external_lib(chaz_CFlags *flags, const char *library) {
}
void
+chaz_CFlags_add_rpath(chaz_CFlags *flags, const char *path) {
+ char *string;
+
+ if (chaz_CC_binary_format() != CHAZ_CC_BINFMT_ELF) { return; }
+
+ if (flags->style == CHAZ_CFLAGS_STYLE_GNU) {
+ string = chaz_Util_join("", "-Wl,-rpath,", path, NULL);
+ }
+ else if (flags->style == CHAZ_CFLAGS_STYLE_SUN_C) {
+ string = chaz_Util_join(" ", "-R", path, NULL);
+ }
+ else {
+ chaz_Util_die("Don't know how to set rpath with '%s'",
+ chaz_CC_get_cc());
+ }
+
+ chaz_CFlags_append(flags, string);
+ free(string);
+}
+
+void
chaz_CFlags_enable_code_coverage(chaz_CFlags *flags) {
if (flags->style == CHAZ_CFLAGS_STYLE_GNU) {
chaz_CFlags_append(flags, "--coverage");
http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/6ea06d33/src/Charmonizer/Core/CFlags.h
----------------------------------------------------------------------
diff --git a/src/Charmonizer/Core/CFlags.h b/src/Charmonizer/Core/CFlags.h
index ec699df..d88abbf 100644
--- a/src/Charmonizer/Core/CFlags.h
+++ b/src/Charmonizer/Core/CFlags.h
@@ -93,6 +93,9 @@ void
chaz_CFlags_add_external_lib(chaz_CFlags *flags, const char *library);
void
+chaz_CFlags_add_rpath(chaz_CFlags *flags, const char *path);
+
+void
chaz_CFlags_enable_code_coverage(chaz_CFlags *flags);
#ifdef __cplusplus