Lines 14-22
Link Here
|
14 |
|
14 |
|
15 |
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" |
15 |
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" |
16 |
SLOT="0" |
16 |
SLOT="0" |
17 |
KEYWORDS="amd64 arm arm64 x86" |
17 |
KEYWORDS="amd64 arm arm64 x86 ~x64-macos" |
18 |
IUSE="elibc_glibc elibc_musl +libcxxabi +libunwind +static-libs test" |
18 |
IUSE="elibc_Darwin elibc_glibc elibc_musl +libcxxabi +libunwind +static-libs test bootstrap" |
19 |
REQUIRED_USE="libunwind? ( libcxxabi )" |
19 |
REQUIRED_USE="libunwind? ( libcxxabi ) |
|
|
20 |
elibc_Darwin? ( libcxxabi )" |
20 |
RESTRICT="!test? ( test )" |
21 |
RESTRICT="!test? ( test )" |
21 |
|
22 |
|
22 |
RDEPEND=" |
23 |
RDEPEND=" |
Lines 41-47
Link Here
|
41 |
} |
42 |
} |
42 |
|
43 |
|
43 |
pkg_setup() { |
44 |
pkg_setup() { |
44 |
llvm_pkg_setup |
45 |
use bootstrap || llvm_pkg_setup |
45 |
use test && python-any-r1_pkg_setup |
46 |
use test && python-any-r1_pkg_setup |
46 |
|
47 |
|
47 |
if ! use libcxxabi && ! tc-is-gcc ; then |
48 |
if ! use libcxxabi && ! tc-is-gcc ; then |
Lines 58-63
Link Here
|
58 |
eapply "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch" |
59 |
eapply "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch" |
59 |
|
60 |
|
60 |
llvm.org_src_prepare |
61 |
llvm.org_src_prepare |
|
|
62 |
|
63 |
# eprefixify static path references to libc++abi for symbol re-export to |
64 |
# avoid linking against it twice in both /usr/lib and ${EPREFIX}/usr/lib |
65 |
local lcpa=/usr/lib/libc++abi.dylib |
66 |
sed -i -e "s,${lcpa},${EPREFIX}${lcpa},g" lib/CMakeLists.txt |
61 |
} |
67 |
} |
62 |
|
68 |
|
63 |
test_compiler() { |
69 |
test_compiler() { |
Lines 100-105
Link Here
|
100 |
fi |
106 |
fi |
101 |
fi |
107 |
fi |
102 |
fi |
108 |
fi |
|
|
109 |
# Darwin has libunwind in its system |
110 |
[[ ${CHOST} == *-darwin* ]] && want_gcc_s=OFF |
103 |
|
111 |
|
104 |
# bootstrap: cmake is unhappy if compiler can't link to stdlib |
112 |
# bootstrap: cmake is unhappy if compiler can't link to stdlib |
105 |
local nolib_flags=( -nodefaultlibs -lc ) |
113 |
local nolib_flags=( -nodefaultlibs -lc ) |
Lines 188-195
Link Here
|
188 |
|
196 |
|
189 |
multilib_src_install() { |
197 |
multilib_src_install() { |
190 |
cmake_src_install |
198 |
cmake_src_install |
191 |
gen_shared_ldscript |
199 |
if [[ ${CHOST} != *-darwin* ]] ; then |
192 |
use static-libs && gen_static_ldscript |
200 |
gen_shared_ldscript |
|
|
201 |
use static-libs && gen_static_ldscript |
202 |
fi |
193 |
} |
203 |
} |
194 |
|
204 |
|
195 |
pkg_postinst() { |
205 |
pkg_postinst() { |