| Age | Commit message (Collapse) | Author |
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Result of running the command:
grep --include="*.ebuild" -r . -e 'KEYWORDS=.*[" ]sparc' -l | xargs ekeyword ~sparc
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
|
|
Initial installation or upgrade of libcxx happens before the main
slotted clang configuration file is created by llvm-core/clang-runtime.
Bulding libcxx requires only the linker (`-fuse-ld`) and rtlib
(`--rtlib`) configuration to be present. To fix the initial builds, we
can use the partiaon configuration provided by:
* llvm-core/clang-linker-config
* llvm-runtimes/clang-rtlib-config
* llvm-runtimes/clang-unwindlib-config
Signed-off-by: Michal Rostecki <vadorovsky@protonmail.com>
Closes: https://bugs.gentoo.org/951445
Part-of: https://github.com/gentoo/gentoo/pull/42663
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Part-of: https://github.com/gentoo/gentoo/pull/42663
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Sam James <sam@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
|
|
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
|
|
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
https://github.com/llvm/llvm-project/blob/llvmorg-21.1.0-rc3/libcxx/docs/UserDocumentation.rst#gdb-pretty-printers-for-libc
describes the procedure to set up GDB printers for STL data structures
from libc++.
Since LLVM 21 these pretty printers work quite well, including MI-mode
(enabling visualization in IDEs like vscode).
In a way, similar to python, libgobject, libstdc++ and so on, file like
/usr/share/gdb/auto-load/usr/lib64/libc++.so.1.0-gdb.py enables
autoloading for pretty printers.
Closes: https://bugs.gentoo.org/961530
Signed-off-by: Sv. Lockal <lockalsash@gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/43455
Closes: https://github.com/gentoo/gentoo/pull/43455
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|