mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-03 21:01:15 +02:00
eclass/llvm: Sync with Gentoo
It's from Gentoo commit c59b3081a81aafa79fe1b0283eeee6e21122b56f.
This commit is contained in:
parent
11672706d2
commit
f1e24691c7
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user