From: Andreas K. Hüttel Date: Wed, 1 May 2019 19:46:23 +0000 (+0200) Subject: profiles: Add arch/riscv directory and subdirectories X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=ce55dceabc5387634829f8b124626246725b6c1c;p=gentoo.git profiles: Add arch/riscv directory and subdirectories Signed-off-by: Andreas K. Hüttel --- diff --git a/profiles/arch/riscv/eapi b/profiles/arch/riscv/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/arch/riscv/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/arch/riscv/make.defaults b/profiles/arch/riscv/make.defaults new file mode 100644 index 000000000000..bae66d7316cc --- /dev/null +++ b/profiles/arch/riscv/make.defaults @@ -0,0 +1,25 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Main RISC-V profile directory. + +# This is not a complete profile. Use the subdirectories! + +ARCH="riscv" +ACCEPT_KEYWORDS="riscv ~riscv" + +CHOST="riscv64-unknown-linux-gnu" + +# Since many people will want to test this in qemu... +FEATURES="-pid-sandbox -network-sandbox -ipc-sandbox" + +# The following stuff is, e.g., defined in subdirs: +# CFLAGS +# CXXFLAGS +# FFLAGS +# FCFLAGS +# ABI +# DEFAULT_ABI +# MULTILIB_ABIS +# CHOST_riscv +# LIBDIR_riscv diff --git a/profiles/arch/riscv/package.accept_keywords b/profiles/arch/riscv/package.accept_keywords new file mode 100644 index 000000000000..ba134491c30e --- /dev/null +++ b/profiles/arch/riscv/package.accept_keywords @@ -0,0 +1,10 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Even if someone makes Portage accept other keywords, here +# we need specific versions / patches for riscv! +sys-devel/gcc -amd64 -~amd64 +sys-libs/glibc -amd64 -~amd64 + +# For the stages and qemu, we need static qemu *from* ~amd64 +app-emulation/qemu-riscv64-bin ~amd64 diff --git a/profiles/arch/riscv/package.use.mask b/profiles/arch/riscv/package.use.mask new file mode 100644 index 000000000000..4d9a2d4184b9 --- /dev/null +++ b/profiles/arch/riscv/package.use.mask @@ -0,0 +1,7 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# This doesn't work for (any) riscv yet. +dev-libs/libpcre2 jit +dev-libs/libpcre jit +dev-vcs/git pcre-jit diff --git a/profiles/arch/riscv/packages.build b/profiles/arch/riscv/packages.build new file mode 100644 index 000000000000..c85897cb6cac --- /dev/null +++ b/profiles/arch/riscv/packages.build @@ -0,0 +1,7 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# For now we add the x86-64 qemu-riscv64 static binary to all +# stages. This makes life somewhat simpler when working without +# real hardware. +app-emulation/qemu-riscv64-bin diff --git a/profiles/arch/riscv/parent b/profiles/arch/riscv/parent new file mode 100644 index 000000000000..eb001c6e8ab8 --- /dev/null +++ b/profiles/arch/riscv/parent @@ -0,0 +1 @@ +../base diff --git a/profiles/arch/riscv/rv64gc/eapi b/profiles/arch/riscv/rv64gc/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/arch/riscv/rv64gc/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/arch/riscv/rv64gc/lp64/eapi b/profiles/arch/riscv/rv64gc/lp64/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/arch/riscv/rv64gc/lp64/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/arch/riscv/rv64gc/lp64/make.defaults b/profiles/arch/riscv/rv64gc/lp64/make.defaults new file mode 100644 index 000000000000..8c6534c6999a --- /dev/null +++ b/profiles/arch/riscv/rv64gc/lp64/make.defaults @@ -0,0 +1,15 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# RISC-V rv64gc/lp64 no-multilib profile + +CFLAGS="-O2 -pipe -march=rv64gc -mabi=lp64" +CXXFLAGS="${CFLAGS}" +FFLAGS="${CFLAGS}" +FCFLAGS="${CFLAGS}" + +# We have only one ABI +MULTILIB_ABIS="lp64" + +# We hide the useflags for the ABIs +USE_EXPAND_HIDDEN="ABI_RISCV" diff --git a/profiles/arch/riscv/rv64gc/lp64/package.use.force b/profiles/arch/riscv/rv64gc/lp64/package.use.force new file mode 100644 index 000000000000..e25bb13182b5 --- /dev/null +++ b/profiles/arch/riscv/rv64gc/lp64/package.use.force @@ -0,0 +1,5 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Undo multilib forcing. +sys-apps/sandbox -abi_riscv_lp64d diff --git a/profiles/arch/riscv/rv64gc/lp64/use.mask b/profiles/arch/riscv/rv64gc/lp64/use.mask new file mode 100644 index 000000000000..9f26ae637a8a --- /dev/null +++ b/profiles/arch/riscv/rv64gc/lp64/use.mask @@ -0,0 +1,8 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Mask multilib, since we do not want to use it. +multilib + +# Mask the other multilib flags back for non-multilib profile. +abi_riscv_lp64d diff --git a/profiles/arch/riscv/rv64gc/lp64d/eapi b/profiles/arch/riscv/rv64gc/lp64d/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/arch/riscv/rv64gc/lp64d/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/arch/riscv/rv64gc/lp64d/make.defaults b/profiles/arch/riscv/rv64gc/lp64d/make.defaults new file mode 100644 index 000000000000..85372ab59289 --- /dev/null +++ b/profiles/arch/riscv/rv64gc/lp64d/make.defaults @@ -0,0 +1,15 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# RISC-V rv64gc/lp64d no-multilib profile + +CFLAGS="-O2 -pipe -march=rv64gc -mabi=lp64d" +CXXFLAGS="${CFLAGS}" +FFLAGS="${CFLAGS}" +FCFLAGS="${CFLAGS}" + +# We have only one ABI +MULTILIB_ABIS="lp64d" + +# We hide the useflags for the ABIs +USE_EXPAND_HIDDEN="ABI_RISCV" diff --git a/profiles/arch/riscv/rv64gc/lp64d/package.use.force b/profiles/arch/riscv/rv64gc/lp64d/package.use.force new file mode 100644 index 000000000000..73fe93666cc9 --- /dev/null +++ b/profiles/arch/riscv/rv64gc/lp64d/package.use.force @@ -0,0 +1,5 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Undo multilib forcing. +sys-apps/sandbox -abi_riscv_lp64 diff --git a/profiles/arch/riscv/rv64gc/lp64d/use.mask b/profiles/arch/riscv/rv64gc/lp64d/use.mask new file mode 100644 index 000000000000..fd1d1445c965 --- /dev/null +++ b/profiles/arch/riscv/rv64gc/lp64d/use.mask @@ -0,0 +1,8 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Mask multilib, since we do not want to use it. +multilib + +# Mask the other multilib flags back for non-multilib profile. +abi_riscv_lp64 diff --git a/profiles/arch/riscv/rv64gc/make.defaults b/profiles/arch/riscv/rv64gc/make.defaults new file mode 100644 index 000000000000..a98e8e97dd6e --- /dev/null +++ b/profiles/arch/riscv/rv64gc/make.defaults @@ -0,0 +1,40 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# RISC-V profile for rv64gc multilib + +CFLAGS="-O2 -pipe -march=rv64gc" +CXXFLAGS="${CFLAGS}" +FFLAGS="${CFLAGS}" +FCFLAGS="${CFLAGS}" + +# Multilib ABIs +MULTILIB_ABIS="lp64d lp64" +DEFAULT_ABI="lp64d" +ABI="lp64d" + +# Library directories +LIBDIR_lp64d="lib64/lp64d" +LIBDIR_lp64="lib64/lp64" +SYMLINK_LIB="no" + +# Flags for lp64d +CFLAGS_lp64d="-mabi=lp64d" +# LDFLAGS_lp64d + +# Flags for lp64 +CFLAGS_lp64="-mabi=lp64" +# LDFLAGS_lp64 + +# Enable lp64d by default +ABI_RISCV="lp64d" + +# Unhide the riscv/rv64gc-specific USE_EXPANDs +USE_EXPAND_HIDDEN="-ABI_RISCV" + +# Implicitly enable lp64d in ebuilds without multilib support +IUSE_IMPLICIT="abi_riscv_lp64d" + +# Enable Python 3.7 since we can't use earlier versions +PYTHON_TARGETS="python3_7" +PYTHON_SINGLE_TARGET="python3_7" diff --git a/profiles/arch/riscv/rv64gc/package.mask b/profiles/arch/riscv/rv64gc/package.mask new file mode 100644 index 000000000000..43580b7b49a0 --- /dev/null +++ b/profiles/arch/riscv/rv64gc/package.mask @@ -0,0 +1,5 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Doesnt work properly with the two-level libdirs +