diff options
5 files changed, 101 insertions, 0 deletions
diff --git a/llvm-runtimes/clang-stdlib-config/clang-stdlib-config-20.ebuild b/llvm-runtimes/clang-stdlib-config/clang-stdlib-config-20.ebuild new file mode 100644 index 000000000000..5b6630587a07 --- /dev/null +++ b/llvm-runtimes/clang-stdlib-config/clang-stdlib-config-20.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Default C++ library configuration for clang" +HOMEPAGE="https://clang.llvm.org/" +S=${WORKDIR} + +LICENSE="public-domain" +SLOT="${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos" +IUSE="default-libcxx" + +RDEPEND=" + default-libcxx? ( >=llvm-runtimes/libcxx-${PV}[static-libs] ) + !default-libcxx? ( sys-devel/gcc ) +" + +src_install() { + insinto "/etc/clang/${SLOT}" + newins - gentoo-stdlib.cfg <<-EOF + # This file is initially generated by ${CATEGORY}/${PN}. + # It is used to control the default C++ standard library used by clang. + + --stdlib=$(usex default-libcxx libc++ libstdc++) + EOF +} diff --git a/llvm-runtimes/clang-stdlib-config/clang-stdlib-config-21.ebuild b/llvm-runtimes/clang-stdlib-config/clang-stdlib-config-21.ebuild new file mode 100644 index 000000000000..5b6630587a07 --- /dev/null +++ b/llvm-runtimes/clang-stdlib-config/clang-stdlib-config-21.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Default C++ library configuration for clang" +HOMEPAGE="https://clang.llvm.org/" +S=${WORKDIR} + +LICENSE="public-domain" +SLOT="${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos" +IUSE="default-libcxx" + +RDEPEND=" + default-libcxx? ( >=llvm-runtimes/libcxx-${PV}[static-libs] ) + !default-libcxx? ( sys-devel/gcc ) +" + +src_install() { + insinto "/etc/clang/${SLOT}" + newins - gentoo-stdlib.cfg <<-EOF + # This file is initially generated by ${CATEGORY}/${PN}. + # It is used to control the default C++ standard library used by clang. + + --stdlib=$(usex default-libcxx libc++ libstdc++) + EOF +} diff --git a/llvm-runtimes/clang-stdlib-config/clang-stdlib-config-22.ebuild b/llvm-runtimes/clang-stdlib-config/clang-stdlib-config-22.ebuild new file mode 100644 index 000000000000..e3092321b6e0 --- /dev/null +++ b/llvm-runtimes/clang-stdlib-config/clang-stdlib-config-22.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Default C++ library configuration for clang" +HOMEPAGE="https://clang.llvm.org/" +S=${WORKDIR} + +LICENSE="public-domain" +SLOT="${PV}" +IUSE="default-libcxx" + +RDEPEND=" + default-libcxx? ( >=llvm-runtimes/libcxx-${PV}[static-libs] ) + !default-libcxx? ( sys-devel/gcc ) +" + +src_install() { + insinto "/etc/clang/${SLOT}" + newins - gentoo-stdlib.cfg <<-EOF + # This file is initially generated by ${CATEGORY}/${PN}. + # It is used to control the default C++ standard library used by clang. + + --stdlib=$(usex default-libcxx libc++ libstdc++) + EOF +} diff --git a/llvm-runtimes/clang-stdlib-config/metadata.xml b/llvm-runtimes/clang-stdlib-config/metadata.xml new file mode 100644 index 000000000000..66f2a121f173 --- /dev/null +++ b/llvm-runtimes/clang-stdlib-config/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>vadorovsky@protonmail.com</email> + <name>Michal Rostecki</name> + </maintainer> + <maintainer type="project"> + <email>llvm@gentoo.org</email> + </maintainer> + <use> + <flag name="default-libcxx">Use libc++ instead of libstdc++ as the default stdlib for clang</flag> + </use> + <upstream> + <remote-id type="github">llvm/llvm-project</remote-id> + </upstream> +</pkgmetadata> diff --git a/metadata/stabilization-groups/llvm.group b/metadata/stabilization-groups/llvm.group index 0346dcc1e558..3c3d40690f73 100644 --- a/metadata/stabilization-groups/llvm.group +++ b/metadata/stabilization-groups/llvm.group @@ -27,6 +27,7 @@ llvm-runtimes/offload llvm-core/clang-linker-config llvm-runtimes/clang-rtlib-config llvm-runtimes/clang-unwindlib-config +llvm-runtimes/clang-stdlib-config llvm-core/clang-runtime llvm-core/libclc llvm-runtimes/libatomic-stub |
