diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2021-12-23 22:07:48 +0100 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2022-01-02 12:18:55 +0100 |
commit | 88a020c8438369bdfc9e8d44fe9a0a0689588f19 (patch) | |
tree | a3b68c38a8ad01ee35e528be5062a96c0d7253ed | |
parent | app-text/openpaperwork-gtk: add missing libhandy dep (diff) | |
download | gentoo-88a020c8438369bdfc9e8d44fe9a0a0689588f19.tar.gz gentoo-88a020c8438369bdfc9e8d44fe9a0a0689588f19.tar.bz2 gentoo-88a020c8438369bdfc9e8d44fe9a0a0689588f19.zip |
profiles: consolidate arch/riscv files
Now this is the big and ugly one. Since the 17.0 profiles are gone now, we can
simplify...
* All information from riscv/rv32imac and riscv/rv64gc is moved into their
subdirs; these two are not valid profile dirs anymore.
* A new subdir riscv/rv64gc/lp64d-multilib is created as replacement.
* We do not by default pull in multilib and disable it then everywhere anymore.
Instead we only pull in multilib in the riscv/rv64gc/lp64d-multilib dir.
* The make.defaults in riscv specifies the two-level libdirs used ONLY
for multilib secondary ABI (i.e. in practice never except when experimenting).
The libdir for the primary, default ABI MUST be overridden in the specific
profile to a single-level path.
* This makes the need for the 1level directory go away.
* We use for the default ABI "lib64" (64bit) or "lib" (32bit) to keep the
structure of other arches, as also stated in the specs as fallback.
Note that the 2-level libdirs for 32bit remain lib32/*; using lib/* here
does not work.
* default/linux/riscv now pulls in arch/riscv,
default/linux/riscv/20.0/rv64gc and default/linux/riscv/20.0/rv32imac
build on that but add no further arch dir.
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
36 files changed, 64 insertions, 93 deletions
diff --git a/profiles/arch/riscv/1level/make.defaults b/profiles/arch/riscv/1level/make.defaults deleted file mode 100644 index 2a8d8bdc9bb3..000000000000 --- a/profiles/arch/riscv/1level/make.defaults +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -LIBDIR_lp64d="lib64" -LIBDIR_lp64="lib64" -LIBDIR_ilp32d="lib" -LIBDIR_ilp32="lib" diff --git a/profiles/arch/riscv/1level/package.mask b/profiles/arch/riscv/1level/package.mask deleted file mode 100644 index eb4368881cc3..000000000000 --- a/profiles/arch/riscv/1level/package.mask +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Doesnt work properly with the one-level libdirs -<sys-apps/baselayout-2.7-r3 diff --git a/profiles/arch/riscv/1level/package.unmask b/profiles/arch/riscv/1level/package.unmask deleted file mode 100644 index 61bf895f5679..000000000000 --- a/profiles/arch/riscv/1level/package.unmask +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Does work properly with the one-level libdirs -<dev-lang/python-3.7 diff --git a/profiles/arch/riscv/make.defaults b/profiles/arch/riscv/make.defaults index 3a7d4ac18e7f..6006d582a10a 100644 --- a/profiles/arch/riscv/make.defaults +++ b/profiles/arch/riscv/make.defaults @@ -15,6 +15,15 @@ FCFLAGS="${CFLAGS}" SYMLINK_LIB="no" +# Note about LIBDIR_*: +# 1) To keep in step with other arches and distributions we use "lib" for 32bit +# and "lib64" for 64bit for the *default* ABI. +# NOT the two level dirs from the specification, and NOT lib32 as specified +# as 32bit fallback. +# 2) The LIBDIRs provided *here* are the ones for secondary ABI in the multilib +# case. +# The LIBDIR for the *primary* ABI MUST be overridden in an inheriting profile. + # Flags for lp64d LIBDIR_lp64d="lib64/lp64d" CFLAGS_lp64d="-mabi=lp64d" @@ -42,7 +51,8 @@ CHOST_ilp32="riscv32-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: +# The following stuff MUST be defined in subdirs: # ABI # DEFAULT_ABI # MULTILIB_ABIS +# LIBDIR_* for DEFAULT_ABI diff --git a/profiles/arch/riscv/package.mask b/profiles/arch/riscv/package.mask index 43580b7b49a0..3b8aa5520537 100644 --- a/profiles/arch/riscv/package.mask +++ b/profiles/arch/riscv/package.mask @@ -1,5 +1,5 @@ -# Copyright 2019 Gentoo Authors +# Copyright 2019-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Doesnt work properly with the two-level libdirs -<dev-lang/python-3.7 +# Doesnt work properly with the one-level libdirs +<sys-apps/baselayout-2.7-r3 diff --git a/profiles/arch/riscv/rv32imac/eapi b/profiles/arch/riscv/rv32imac/eapi deleted file mode 100644 index 7ed6ff82de6b..000000000000 --- a/profiles/arch/riscv/rv32imac/eapi +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/profiles/arch/riscv/rv32imac/ilp32/make.defaults b/profiles/arch/riscv/rv32imac/ilp32/make.defaults index 1065af43c9a8..702bf0db5663 100644 --- a/profiles/arch/riscv/rv32imac/ilp32/make.defaults +++ b/profiles/arch/riscv/rv32imac/ilp32/make.defaults @@ -1,9 +1,17 @@ -# Copyright 2019 Gentoo Authors +# Copyright 2019-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # RISC-V rv32imac/ilp32 no-multilib profile -# We have only one ABI +CHOST="riscv32-unknown-linux-gnu" + MULTILIB_ABIS="ilp32" DEFAULT_ABI="ilp32" ABI="ilp32" + +LIBDIR_ilp32="lib" + +CFLAGS="-O2 -pipe -march=rv32imac -mabi=ilp32" +CXXFLAGS="${CFLAGS}" +FFLAGS="${CFLAGS}" +FCFLAGS="${CFLAGS}" diff --git a/profiles/arch/riscv/rv32imac/package.mask b/profiles/arch/riscv/rv32imac/ilp32/package.mask index fae8be793357..fae8be793357 100644 --- a/profiles/arch/riscv/rv32imac/package.mask +++ b/profiles/arch/riscv/rv32imac/ilp32/package.mask diff --git a/profiles/arch/riscv/rv32imac/ilp32/package.use.force b/profiles/arch/riscv/rv32imac/ilp32/package.use.force deleted file mode 100644 index aacc29b1d56e..000000000000 --- a/profiles/arch/riscv/rv32imac/ilp32/package.use.force +++ /dev/null @@ -1,3 +0,0 @@ -# Copyright 2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - diff --git a/profiles/arch/riscv/rv32imac/ilp32/use.force b/profiles/arch/riscv/rv32imac/ilp32/use.force deleted file mode 100644 index 82bb958a577a..000000000000 --- a/profiles/arch/riscv/rv32imac/ilp32/use.force +++ /dev/null @@ -1,2 +0,0 @@ -# Copyright 2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 diff --git a/profiles/arch/riscv/rv32imac/ilp32/use.mask b/profiles/arch/riscv/rv32imac/ilp32/use.mask index 991c792750ad..9779cbad81b5 100644 --- a/profiles/arch/riscv/rv32imac/ilp32/use.mask +++ b/profiles/arch/riscv/rv32imac/ilp32/use.mask @@ -1,5 +1,5 @@ -# Copyright 2019 Gentoo Authors +# Copyright 2019-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Mask multilib, since we do not want to use it. -multilib +# sys-libs/libseccomp has not been ported to rv32 yet +seccomp diff --git a/profiles/arch/riscv/rv32imac/ilp32d/make.defaults b/profiles/arch/riscv/rv32imac/ilp32d/make.defaults index d19b0ba49931..d21fdce62781 100644 --- a/profiles/arch/riscv/rv32imac/ilp32d/make.defaults +++ b/profiles/arch/riscv/rv32imac/ilp32d/make.defaults @@ -1,12 +1,17 @@ -# Copyright 2019 Gentoo Authors +# Copyright 2019-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # RISC-V rv32imac/ilp32d no-multilib profile +CHOST="riscv32-unknown-linux-gnu" + +MULTILIB_ABIS="ilp32d" +DEFAULT_ABI="ilp32d" +ABI="ilp32d" + +LIBDIR_ilp32d="lib" + CFLAGS="-O2 -pipe -march=rv32imafdc -mabi=ilp32d" CXXFLAGS="${CFLAGS}" FFLAGS="${CFLAGS}" FCFLAGS="${CFLAGS}" - -# We have only one ABI -MULTILIB_ABIS="ilp32d" diff --git a/profiles/arch/riscv/rv32imac/use.mask b/profiles/arch/riscv/rv32imac/ilp32d/package.mask index 9779cbad81b5..fae8be793357 100644 --- a/profiles/arch/riscv/rv32imac/use.mask +++ b/profiles/arch/riscv/rv32imac/ilp32d/package.mask @@ -1,5 +1,5 @@ -# Copyright 2019-2020 Gentoo Authors +# Copyright 2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # sys-libs/libseccomp has not been ported to rv32 yet -seccomp +sys-libs/libseccomp diff --git a/profiles/arch/riscv/rv32imac/ilp32d/package.use.force b/profiles/arch/riscv/rv32imac/ilp32d/package.use.force deleted file mode 100644 index 9de5ab734497..000000000000 --- a/profiles/arch/riscv/rv32imac/ilp32d/package.use.force +++ /dev/null @@ -1,2 +0,0 @@ -# Copyright 2019-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 diff --git a/profiles/arch/riscv/rv32imac/ilp32d/use.mask b/profiles/arch/riscv/rv32imac/ilp32d/use.mask index d8172baa5f5f..9779cbad81b5 100644 --- a/profiles/arch/riscv/rv32imac/ilp32d/use.mask +++ b/profiles/arch/riscv/rv32imac/ilp32d/use.mask @@ -1,5 +1,5 @@ # Copyright 2019-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Mask multilib, since we do not want to use it. -multilib +# sys-libs/libseccomp has not been ported to rv32 yet +seccomp diff --git a/profiles/arch/riscv/rv32imac/parent b/profiles/arch/riscv/rv32imac/parent deleted file mode 100644 index 6ee1b9eff10c..000000000000 --- a/profiles/arch/riscv/rv32imac/parent +++ /dev/null @@ -1,2 +0,0 @@ -.. -../../../features/multilib diff --git a/profiles/arch/riscv/rv32imac/use.force b/profiles/arch/riscv/rv32imac/use.force deleted file mode 100644 index 9de5ab734497..000000000000 --- a/profiles/arch/riscv/rv32imac/use.force +++ /dev/null @@ -1,2 +0,0 @@ -# Copyright 2019-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 diff --git a/profiles/arch/riscv/rv64gc/eapi b/profiles/arch/riscv/rv64gc/eapi deleted file mode 100644 index 7ed6ff82de6b..000000000000 --- a/profiles/arch/riscv/rv64gc/eapi +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/profiles/arch/riscv/rv64gc/lp64/make.defaults b/profiles/arch/riscv/rv64gc/lp64/make.defaults index 4aeb573215d2..e811f8eb643a 100644 --- a/profiles/arch/riscv/rv64gc/lp64/make.defaults +++ b/profiles/arch/riscv/rv64gc/lp64/make.defaults @@ -3,12 +3,15 @@ # RISC-V rv64gc/lp64 no-multilib profile -CFLAGS="-O2 -pipe" -CXXFLAGS="${CFLAGS}" -FFLAGS="${CFLAGS}" -FCFLAGS="${CFLAGS}" +CHOST="riscv64-unknown-linux-gnu" -# We have only one ABI MULTILIB_ABIS="lp64" DEFAULT_ABI="lp64" ABI="lp64" + +LIBDIR_lp64="lib64" + +CFLAGS="-O2 -pipe -march=rv64imac -mabi=lp64" +CXXFLAGS="${CFLAGS}" +FFLAGS="${CFLAGS}" +FCFLAGS="${CFLAGS}" diff --git a/profiles/arch/riscv/rv64gc/lp64/package.use.force b/profiles/arch/riscv/rv64gc/lp64/package.use.force deleted file mode 100644 index 9de5ab734497..000000000000 --- a/profiles/arch/riscv/rv64gc/lp64/package.use.force +++ /dev/null @@ -1,2 +0,0 @@ -# Copyright 2019-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 diff --git a/profiles/arch/riscv/rv64gc/lp64/use.force b/profiles/arch/riscv/rv64gc/lp64/use.force deleted file mode 100644 index 9de5ab734497..000000000000 --- a/profiles/arch/riscv/rv64gc/lp64/use.force +++ /dev/null @@ -1,2 +0,0 @@ -# Copyright 2019-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 diff --git a/profiles/arch/riscv/rv64gc/lp64/use.mask b/profiles/arch/riscv/rv64gc/lp64/use.mask deleted file mode 100644 index d8172baa5f5f..000000000000 --- a/profiles/arch/riscv/rv64gc/lp64/use.mask +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2019-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Mask multilib, since we do not want to use it. -multilib diff --git a/profiles/arch/riscv/1level/eapi b/profiles/arch/riscv/rv64gc/lp64d-multilib/eapi index 7ed6ff82de6b..7ed6ff82de6b 100644 --- a/profiles/arch/riscv/1level/eapi +++ b/profiles/arch/riscv/rv64gc/lp64d-multilib/eapi diff --git a/profiles/arch/riscv/rv64gc/make.defaults b/profiles/arch/riscv/rv64gc/lp64d-multilib/make.defaults index e35f63c8d1e1..3546d506abb7 100644 --- a/profiles/arch/riscv/rv64gc/make.defaults +++ b/profiles/arch/riscv/rv64gc/lp64d-multilib/make.defaults @@ -3,7 +3,7 @@ # RISC-V profile for rv64gc multilib # -# This immediate profile is ONLY useful for internal purposes; it can generate +# This profile is ONLY useful for internal purposes; it can generate # stages just fine, but the only "hardware" that can run them is qemu-user ... CHOST="riscv64-unknown-linux-gnu" @@ -12,3 +12,6 @@ CHOST="riscv64-unknown-linux-gnu" MULTILIB_ABIS="lp64d lp64 ilp32d ilp32" DEFAULT_ABI="lp64d" ABI="lp64d" + +# One-level dir for the default abi +LIBDIR_lp64d="lib64" diff --git a/profiles/arch/riscv/rv64gc/lp64d-multilib/parent b/profiles/arch/riscv/rv64gc/lp64d-multilib/parent new file mode 100644 index 000000000000..d6e19b529616 --- /dev/null +++ b/profiles/arch/riscv/rv64gc/lp64d-multilib/parent @@ -0,0 +1 @@ +../../../../features/multilib diff --git a/profiles/arch/riscv/rv64gc/lp64d/make.defaults b/profiles/arch/riscv/rv64gc/lp64d/make.defaults index f595f6ac4437..80a9bdad63ee 100644 --- a/profiles/arch/riscv/rv64gc/lp64d/make.defaults +++ b/profiles/arch/riscv/rv64gc/lp64d/make.defaults @@ -1,12 +1,17 @@ -# Copyright 2019 Gentoo Authors +# Copyright 2019-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # RISC-V rv64gc/lp64d no-multilib profile +CHOST="riscv64-unknown-linux-gnu" + +MULTILIB_ABIS="lp64d" +DEFAULT_ABI="lp64d" +ABI="lp64d" + +LIBDIR_lp64d="lib64" + CFLAGS="-O2 -pipe -march=rv64gc -mabi=lp64d" CXXFLAGS="${CFLAGS}" FFLAGS="${CFLAGS}" FCFLAGS="${CFLAGS}" - -# We have only one ABI -MULTILIB_ABIS="lp64d" diff --git a/profiles/arch/riscv/rv64gc/lp64d/package.use.force b/profiles/arch/riscv/rv64gc/lp64d/package.use.force deleted file mode 100644 index 9de5ab734497..000000000000 --- a/profiles/arch/riscv/rv64gc/lp64d/package.use.force +++ /dev/null @@ -1,2 +0,0 @@ -# Copyright 2019-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 diff --git a/profiles/arch/riscv/rv64gc/lp64d/use.mask b/profiles/arch/riscv/rv64gc/lp64d/use.mask deleted file mode 100644 index 991c792750ad..000000000000 --- a/profiles/arch/riscv/rv64gc/lp64d/use.mask +++ /dev/null @@ -1,5 +0,0 @@ -# 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 diff --git a/profiles/arch/riscv/rv64gc/parent b/profiles/arch/riscv/rv64gc/parent deleted file mode 100644 index 6ee1b9eff10c..000000000000 --- a/profiles/arch/riscv/rv64gc/parent +++ /dev/null @@ -1,2 +0,0 @@ -.. -../../../features/multilib diff --git a/profiles/arch/riscv/rv64gc/use.force b/profiles/arch/riscv/rv64gc/use.force deleted file mode 100644 index 9de5ab734497..000000000000 --- a/profiles/arch/riscv/rv64gc/use.force +++ /dev/null @@ -1,2 +0,0 @@ -# Copyright 2019-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 diff --git a/profiles/arch/riscv/rv64gc/use.mask b/profiles/arch/riscv/rv64gc/use.mask deleted file mode 100644 index 9de5ab734497..000000000000 --- a/profiles/arch/riscv/rv64gc/use.mask +++ /dev/null @@ -1,2 +0,0 @@ -# Copyright 2019-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 diff --git a/profiles/default/linux/riscv/20.0/rv32imac/parent b/profiles/default/linux/riscv/20.0/rv32imac/parent index 4e6e3225bf31..b8f5b5cbc9d2 100644 --- a/profiles/default/linux/riscv/20.0/rv32imac/parent +++ b/profiles/default/linux/riscv/20.0/rv32imac/parent @@ -1,4 +1,2 @@ ../.. -../../../../../arch/riscv/rv32imac ../../../../../releases/17.0 -../../../../../arch/riscv/1level diff --git a/profiles/default/linux/riscv/20.0/rv64gc/multilib/make.defaults b/profiles/default/linux/riscv/20.0/rv64gc/multilib/make.defaults deleted file mode 100644 index 42e660f1a345..000000000000 --- a/profiles/default/linux/riscv/20.0/rv64gc/multilib/make.defaults +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright 2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# we need to reset the two-level libdirs here, otherwise the one-level -# paths lead to collisions... note that the default abi libdir remains -# "lib64" - -LIBDIR_lp64="lib64/lp64" -LIBDIR_ilp32d="lib32/ilp32d" -LIBDIR_ilp32="lib32/ilp32" diff --git a/profiles/default/linux/riscv/20.0/rv64gc/multilib/parent b/profiles/default/linux/riscv/20.0/rv64gc/multilib/parent index f3229c5b9876..eef8b55d0efc 100644 --- a/profiles/default/linux/riscv/20.0/rv64gc/multilib/parent +++ b/profiles/default/linux/riscv/20.0/rv64gc/multilib/parent @@ -1 +1,2 @@ .. +../../../../../../arch/riscv/rv64gc/lp64d-multilib diff --git a/profiles/default/linux/riscv/20.0/rv64gc/parent b/profiles/default/linux/riscv/20.0/rv64gc/parent index 0f380a1962bb..b8f5b5cbc9d2 100644 --- a/profiles/default/linux/riscv/20.0/rv64gc/parent +++ b/profiles/default/linux/riscv/20.0/rv64gc/parent @@ -1,4 +1,2 @@ ../.. -../../../../../arch/riscv/rv64gc ../../../../../releases/17.0 -../../../../../arch/riscv/1level diff --git a/profiles/default/linux/riscv/parent b/profiles/default/linux/riscv/parent index 9f9d2cbed246..1f65d976126f 100644 --- a/profiles/default/linux/riscv/parent +++ b/profiles/default/linux/riscv/parent @@ -1,2 +1,3 @@ ../../../base .. +../../../arch/riscv |