summaryrefslogtreecommitdiff
path: root/llvm-runtimes/libcxx/libcxx-19.1.7.ebuild
AgeCommit message (Collapse)Author
2025-09-02*/*: destable sparcArthur Zamarin
Result of running the command: grep --include="*.ebuild" -r . -e 'KEYWORDS=.*[" ]sparc' -l | xargs ekeyword ~sparc Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
2025-08-06llvm-runtimes/libcxx: Set CTARGET to CHOST if the package is not crossMichal Rostecki
The multilib eclass doesn't set the CTARGET. Therefore, using CTARGET was breaking the multilib builds. At the same time, using CTARGET is necessary for crossdev to work. The long term solution should be fixing multilib eclass, but for now, make sure that CTARGET is correct inside the ebuild. Bug: https://bugs.gentoo.org/961153 Signed-off-by: Michal Rostecki <vadorovsky@protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/43361 Closes: https://github.com/gentoo/gentoo/pull/43361 Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-08-06llvm-runtimes/libcxx: Support build with cross emerge wrapperMichal Rostecki
When cross emerge wrapper is used, using `llvm_prepend_path` without any options, results in prepending the following path: ``` ${ESYSROOT}/usr/lib/llvm/${slot}/bin ``` For example: ``` /usr/aarch64-unknown-linux-musl/usr/lib/llvm/19/bin ``` The problem is that cross emerge wrapper uses a cross clang wrapper as a compiler, e.g. `aarch64-unknown-linux-musl-clang`. However, the file with such name can be usually found in two places: * `/usr/lib/llvm/19/bin/aarch64-unknown-linux-musl-clang`, which is a clang wrapper that calls the host clang with appropriate configuration. We want to call that file. * `/usr/aarch64-unknown-linux-musl/usr/lib/llvm/19/bin/aarch64-unknown-linux-musl-clang`, which is an actual aarch64 compiler binary. We cannot execute it on x86_64, or other incompatible host. However, the path added by `llvm_prepend_path` causes resolution of `aarch64-unknown-linux-musl-clang` to the second path, therefore causing errors like: ``` /usr/aarch64-unknown-linux-musl/usr/lib/llvm/19/bin/clang: cannot execute binary file: Exec format error ``` Solve that by: * Using `LLVM_ROOT` CMake parameter to point the build to LLVM library artifacts. * Using `llvm_prepend_path` with `-b` argument if we need clang, which is the case when either `clang` or `test` USE flags are enabled. Signed-off-by: Michal Rostecki <vadorovsky@protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/39280 Signed-off-by: Michał Górny <mgorny@gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/39280 Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-08-06llvm-runtimes/libcxx: Support crosspkg buildMichal Rostecki
Inherit the `crossdev` eclass, use clang for the current `CTARGET` and install libcxx into a cross sysroot, if package belongs to any crossdev category. That allows to bootstrap libcxx with crossdev by installing `cross_*/libcxx`. Extend the compiler test with the case when the (cross) toolchain has a runtime, but doesn't have stdlib yet (because it's about to be built). In such case, a build with default arguments fails, but a build with `-nostdlib` succeeds. libc++ doesn't need stdlib to build, so that's fine. Signed-off-by: Michal Rostecki <vadorovsky@protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/39280 Signed-off-by: Michał Górny <mgorny@gentoo.org> Part-of: https://github.com/gentoo/gentoo/pull/39280 Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-04-12llvm-runtimes/libcxx: Stabilize 19.1.7 sparc, #946879Arthur Zamarin
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
2025-03-23llvm-runtimes/libcxx: Stabilize 19.1.7 arm, #946879Arthur Zamarin
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
2025-03-17llvm-utils.eclass: Add `llvm_cmake_use_musl` helperMichal Rostecki
Checking only for `elibc_musl` USE flag is not sufficient when building a musl cross environment on a glibc host. In such case, the host profile always enforces `-elibc_musl` and effectively breaks the build of LLVM toolchain (llvm-libunwind and libcxx*). To cover that case, provide the helper which echos `ON` under two ciricumstances: * `CTARGET` is `*-musl*`. * `elibc_musl` USE flag is set. Signed-off-by: Michal Rostecki <vadorovsky@protonmail.com> Signed-off-by: Michał Górny <mgorny@gentoo.org>
2025-02-07llvm-runtimes/libcxx: Stabilize 19.1.7 arm64, #946879Arthur Zamarin
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
2025-02-07llvm-runtimes/libcxx: Stabilize 19.1.7 amd64, #946879Arthur Zamarin
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
2025-02-07llvm-runtimes/libcxx: Stabilize 19.1.7 x86, #946879Arthur Zamarin
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
2025-01-15llvm-runtimes/libcxx: Add 19.1.7Michał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>