eclass/llvm: Sync with Gentoo

It's from Gentoo commit c59b3081a81aafa79fe1b0283eeee6e21122b56f.
This commit is contained in:
Flatcar Buildbot 2023-01-02 07:56:24 +00:00 committed by Krzesimir Nowak
parent 11672706d2
commit f1e24691c7

View File

@ -6,7 +6,7 @@
# Michał Górny <mgorny@gentoo.org> # Michał Górny <mgorny@gentoo.org>
# @AUTHOR: # @AUTHOR:
# Michał Górny <mgorny@gentoo.org> # Michał Górny <mgorny@gentoo.org>
# @SUPPORTED_EAPIS: 6 7 8 # @SUPPORTED_EAPIS: 7 8
# @BLURB: Utility functions to build against slotted LLVM # @BLURB: Utility functions to build against slotted LLVM
# @DESCRIPTION: # @DESCRIPTION:
# The llvm.eclass provides utility functions that can be used to build # The llvm.eclass provides utility functions that can be used to build
@ -56,20 +56,13 @@
# } # }
# @CODE # @CODE
case "${EAPI:-0}" in case ${EAPI} in
0|1|2|3|4|5) 7|8) ;;
die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
;;
6|7|8)
;;
*)
die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
;;
esac esac
EXPORT_FUNCTIONS pkg_setup
if [[ ! ${_LLVM_ECLASS} ]]; then if [[ ! ${_LLVM_ECLASS} ]]; then
_LLVM_ECLASS=1
# make sure that the versions installing straight into /usr/bin # make sure that the versions installing straight into /usr/bin
# are uninstalled # are uninstalled
@ -95,7 +88,7 @@ declare -g -r _LLVM_KNOWN_SLOTS=( {16..8} )
# #
# If -b is specified, the checks are performed relative to BROOT, # If -b is specified, the checks are performed relative to BROOT,
# and BROOT-path is returned. This is appropriate when your package # and BROOT-path is returned. This is appropriate when your package
# calls llvm-config executable. -b is supported since EAPI 7. # calls llvm-config executable.
# #
# If -d is specified, the checks are performed relative to ESYSROOT, # If -d is specified, the checks are performed relative to ESYSROOT,
# and ESYSROOT-path is returned. This is appropriate when your package # and ESYSROOT-path is returned. This is appropriate when your package
@ -126,17 +119,6 @@ get_llvm_slot() {
shift shift
done done
if [[ ${EAPI} == 6 ]]; then
case ${hv_switch} in
-b)
die "${FUNCNAME} -b is not supported in EAPI ${EAPI}"
;;
-d)
hv_switch=
;;
esac
fi
local max_slot=${1} local max_slot=${1}
local slot local slot
for slot in "${_LLVM_KNOWN_SLOTS[@]}"; do for slot in "${_LLVM_KNOWN_SLOTS[@]}"; do
@ -179,17 +161,8 @@ get_llvm_slot() {
get_llvm_prefix() { get_llvm_prefix() {
debug-print-function ${FUNCNAME} "${@}" debug-print-function ${FUNCNAME} "${@}"
local prefix=${EPREFIX} local prefix=${ESYSROOT}
if [[ ${EAPI} != 6 ]]; then [[ ${1} == -b ]] && prefix=${BROOT}
case ${1} in
-b)
prefix=${BROOT}
;;
*)
prefix=${ESYSROOT}
;;
esac
fi
echo "${prefix}/usr/lib/llvm/$(get_llvm_slot "${@}")" echo "${prefix}/usr/lib/llvm/$(get_llvm_slot "${@}")"
} }
@ -277,8 +250,7 @@ llvm_pkg_setup() {
llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB
llvm_fix_tool_path READELF STRINGS STRIP llvm_fix_tool_path READELF STRINGS STRIP
local prefix=${EPREFIX} local prefix=${ESYSROOT}
[[ ${EAPI} != 6 ]] && prefix=${ESYSROOT}
local llvm_path=${prefix}/usr/lib/llvm/${LLVM_SLOT}/bin local llvm_path=${prefix}/usr/lib/llvm/${LLVM_SLOT}/bin
local IFS=: local IFS=:
local split_path=( ${PATH} ) local split_path=( ${PATH} )
@ -305,5 +277,6 @@ llvm_pkg_setup() {
fi fi
} }
_LLVM_ECLASS=1
fi fi
EXPORT_FUNCTIONS pkg_setup