1 |
commit: 234e8985ace9589ec251d7020648b9c10e4c2d25 |
2 |
Author: Michał Górny <mgorny <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Mar 28 21:22:50 2016 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Mar 28 21:31:31 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=234e8985 |
7 |
|
8 |
sys-devel/llvm: Update patches for the live ebuild |
9 |
|
10 |
sys-devel/llvm/files/llvm-3.9-llvm-config.patch | 72 +++++++++++++++---------- |
11 |
sys-devel/llvm/llvm-9999.ebuild | 6 ++- |
12 |
2 files changed, 48 insertions(+), 30 deletions(-) |
13 |
|
14 |
diff --git a/sys-devel/llvm/files/llvm-3.9-llvm-config.patch b/sys-devel/llvm/files/llvm-3.9-llvm-config.patch |
15 |
index dc63b70..d4363ad 100644 |
16 |
--- a/sys-devel/llvm/files/llvm-3.9-llvm-config.patch |
17 |
+++ b/sys-devel/llvm/files/llvm-3.9-llvm-config.patch |
18 |
@@ -1,37 +1,51 @@ |
19 |
-diff -Naur llvm-9999.orig/tools/llvm-config/CMakeLists.txt llvm-9999/tools/llvm-config/CMakeLists.txt |
20 |
---- llvm-9999.orig/tools/llvm-config/CMakeLists.txt 2016-01-25 14:47:55.447301061 +0100 |
21 |
-+++ llvm-9999/tools/llvm-config/CMakeLists.txt 2016-01-25 14:54:03.897257098 +0100 |
22 |
-@@ -22,8 +22,12 @@ |
23 |
- set(LLVM_SRC_ROOT ${LLVM_MAIN_SRC_DIR}) |
24 |
- set(LLVM_OBJ_ROOT ${LLVM_BINARY_DIR}) |
25 |
- set(LLVM_CPPFLAGS "${CMAKE_CPP_FLAGS} ${CMAKE_CPP_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}") |
26 |
+From af798c5a6e4b2c6c98cce89b5d6fc8d33f9345cf Mon Sep 17 00:00:00 2001 |
27 |
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@g.o> |
28 |
+Date: Wed, 2 Dec 2015 16:04:56 +0100 |
29 |
+Subject: [PATCH 1/2] llvm-config: Clean up exported values, update for shared |
30 |
+ linking |
31 |
+ |
32 |
+Gentoo-specific fixup for llvm-config, including: |
33 |
+- wiping build-specific CFLAGS, CXXFLAGS, |
34 |
+- updating library suffixes for shared libs, |
35 |
+- wiping --system-libs for shared linking, |
36 |
+- banning --obj-root and --src-root due to no sources installed, |
37 |
+- making --build-mode return "Release" rather than "Gentoo". |
38 |
+ |
39 |
+Thanks to Steven Newbury for the initial patch. |
40 |
+ |
41 |
+Bug: https://bugs.gentoo.org/565358 |
42 |
+Bug: https://bugs.gentoo.org/501684 |
43 |
+--- |
44 |
+ tools/llvm-config/CMakeLists.txt | 11 ++++++++--- |
45 |
+ tools/llvm-config/llvm-config.cpp | 20 +++++++++++++++----- |
46 |
+ 2 files changed, 23 insertions(+), 8 deletions(-) |
47 |
+ |
48 |
+diff --git a/tools/llvm-config/CMakeLists.txt b/tools/llvm-config/CMakeLists.txt |
49 |
+index 32d0f4c..6e99832 100644 |
50 |
+--- a/tools/llvm-config/CMakeLists.txt |
51 |
++++ b/tools/llvm-config/CMakeLists.txt |
52 |
+@@ -29,2 +29,6 @@ set(LLVM_CPPFLAGS "${CMAKE_CPP_FLAGS} ${CMAKE_CPP_FLAGS_${uppercase_CMAKE_BUILD_ |
53 |
+-set(LLVM_CFLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}") |
54 |
+-set(LLVM_CXXFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${COMPILE_FLAGS} ${LLVM_DEFINITIONS}") |
55 |
+# Just use CMAKE_CPP_FLAGS for CFLAGS and CXXFLAGS, otherwise compiler |
56 |
+# specific flags will be set when we don't know what compiler will be used |
57 |
+# with external project utilising llvm-config. C++ Standard is required. |
58 |
+# TODO: figure out if we can remove -std=c++11 and move it to revdeps. |
59 |
- set(LLVM_CFLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}") |
60 |
--set(LLVM_CXXFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${COMPILE_FLAGS} ${LLVM_DEFINITIONS}") |
61 |
++set(LLVM_CFLAGS "${CMAKE_CPP_FLAGS} ${CMAKE_C_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}") |
62 |
+set(LLVM_CXXFLAGS "${CMAKE_CPP_FLAGS} -std=c++11 ${CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}") |
63 |
- set(LLVM_BUILD_SYSTEM cmake) |
64 |
- set(LLVM_HAS_RTTI ${LLVM_CONFIG_HAS_RTTI}) |
65 |
- set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX}") |
66 |
-@@ -31,7 +35,8 @@ |
67 |
- # Use the C++ link flags, since they should be a superset of C link flags. |
68 |
- set(LLVM_LDFLAGS "${CMAKE_CXX_LINK_FLAGS}") |
69 |
- set(LLVM_BUILDMODE ${CMAKE_BUILD_TYPE}) |
70 |
+@@ -39 +43,2 @@ set(LLVM_BUILDMODE ${CMAKE_BUILD_TYPE}) |
71 |
-set(LLVM_SYSTEM_LIBS ${SYSTEM_LIBS}) |
72 |
+# We don't do static libs, so we don't need to supply any system-libs |
73 |
+set(LLVM_SYSTEM_LIBS "") |
74 |
- if(BUILD_SHARED_LIBS) |
75 |
- set(LLVM_ENABLE_SHARED ON) |
76 |
- else() |
77 |
-diff -Naur llvm-9999.orig/tools/llvm-config/llvm-config.cpp llvm-9999/tools/llvm-config/llvm-config.cpp |
78 |
---- llvm-9999.orig/tools/llvm-config/llvm-config.cpp 2016-01-25 14:47:55.447301061 +0100 |
79 |
-+++ llvm-9999/tools/llvm-config/llvm-config.cpp 2016-01-25 14:57:05.286236312 +0100 |
80 |
-@@ -532,10 +532,19 @@ |
81 |
- OS << LLVM_HAS_RTTI << '\n'; |
82 |
- } else if (Arg == "--shared-mode") { |
83 |
- PrintSharedMode = true; |
84 |
+diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp |
85 |
+index 94d426b..fb1bdfa 100644 |
86 |
+--- a/tools/llvm-config/llvm-config.cpp |
87 |
++++ b/tools/llvm-config/llvm-config.cpp |
88 |
+@@ -525 +525,2 @@ int main(int argc, char **argv) { |
89 |
+- OS << build_mode << '\n'; |
90 |
++ // force Release since we force non-standard Gentoo build mode |
91 |
++ OS << "Release" << '\n'; |
92 |
+@@ -540,4 +541,13 @@ int main(int argc, char **argv) { |
93 |
- } else if (Arg == "--obj-root") { |
94 |
- OS << ActivePrefix << '\n'; |
95 |
- } else if (Arg == "--src-root") { |
96 |
@@ -49,6 +63,6 @@ diff -Naur llvm-9999.orig/tools/llvm-config/llvm-config.cpp llvm-9999/tools/llvm |
97 |
+ << Arg << " not available\n"; |
98 |
+ exit(1); |
99 |
+ } |
100 |
- } else if (Arg == "--link-shared") { |
101 |
- LinkMode = LinkModeShared; |
102 |
- } else if (Arg == "--link-static") { |
103 |
+-- |
104 |
+2.7.4 |
105 |
+ |
106 |
|
107 |
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild |
108 |
index 14c5da5..80eef1b 100644 |
109 |
--- a/sys-devel/llvm/llvm-9999.ebuild |
110 |
+++ b/sys-devel/llvm/llvm-9999.ebuild |
111 |
@@ -165,6 +165,10 @@ src_prepare() { |
112 |
# https://bugs.gentoo.org/show_bug.cgi?id=565358 |
113 |
eapply "${FILESDIR}"/llvm-3.9-llvm-config.patch |
114 |
|
115 |
+ # Restore SOVERSIONs for shared libraries |
116 |
+ # https://bugs.gentoo.org/show_bug.cgi?id=578392 |
117 |
+ eapply "${FILESDIR}"/llvm-3.8-soversion.patch |
118 |
+ |
119 |
# disable use of SDK on OSX, bug #568758 |
120 |
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die |
121 |
|
122 |
@@ -223,7 +227,7 @@ multilib_src_configure() { |
123 |
local mycmakeargs=( |
124 |
-DLLVM_LIBDIR_SUFFIX=${libdir#lib} |
125 |
|
126 |
- -DLLVM_LINK_LLVM_DYLIB=ON |
127 |
+ -DBUILD_SHARED_LIBS=ON |
128 |
-DLLVM_ENABLE_TIMESTAMPS=OFF |
129 |
-DLLVM_TARGETS_TO_BUILD="${targets}" |
130 |
-DLLVM_BUILD_TESTS=$(usex test) |