eclass/flag-o-matic: Sync with Gentoo

It's from Gentoo commit 74d25eedd9c327fe91048b06ad81b86eb14d9cb7.
This commit is contained in:
Flatcar Buildbot 2025-07-07 07:10:24 +00:00
parent b1e2f56094
commit a3fb510ac9

View File

@ -636,6 +636,11 @@ _test-flag-PROG() {
cmdline_extra+=(-xc)
;;
hip)
in_ext='hip'
in_src='int main(void) { return 0; }'
cmdline_extra+=(-xhip -c)
;;
esac
local test_in=${T}/test-flag.${in_ext}
local test_out=${T}/test-flag.exe
@ -707,6 +712,12 @@ test-flag-FC() { _test-flag-PROG FC f95 "$@"; }
# Returns shell true if <flag> is supported by the C compiler and linker, else returns shell false.
test-flag-CCLD() { _test-flag-PROG CC c+ld "$@"; }
# @FUNCTION: test-flag-HIPCXX
# @USAGE: <flag>
# @DESCRIPTION:
# Returns shell true if <flag> is supported by the HIP compiler, else returns shell false.
test-flag-HIPCXX() { _test-flag-PROG HIPCXX hip "$@"; }
# @FUNCTION: test-flags-PROG
# @USAGE: <compiler> <flag> [more flags...]
# @INTERNAL
@ -788,6 +799,12 @@ test-flags-FC() { _test-flags-PROG FC "$@"; }
# Returns shell true if <flags> are supported by the C compiler and default linker, else returns shell false.
test-flags-CCLD() { _test-flags-PROG CCLD "$@"; }
# @FUNCTION: test-flags-HIPCXX
# @USAGE: <flags>
# @DESCRIPTION:
# Returns shell true if <flags> are supported by the HIP compiler and default linker, else returns shell false.
test-flags-HIPCXX() { _test-flags-PROG HIPCXX "$@"; }
# @FUNCTION: test-flags
# @USAGE: <flags>
# @DESCRIPTION:
@ -810,7 +827,7 @@ test_version_info() {
# @FUNCTION: strip-unsupported-flags
# @DESCRIPTION:
# Strip {C,CXX,F,FC}FLAGS of any flags not supported by the active toolchain.
# Strip {C,CXX,F,FC,HIP}FLAGS of any flags not supported by the active toolchain.
strip-unsupported-flags() {
[[ $# -ne 0 ]] && die "strip-unsupported-flags takes no arguments"
export CFLAGS=$(test-flags-CC ${CFLAGS})
@ -818,6 +835,7 @@ strip-unsupported-flags() {
export FFLAGS=$(test-flags-F77 ${FFLAGS})
export FCFLAGS=$(test-flags-FC ${FCFLAGS})
export LDFLAGS=$(test-flags-CCLD ${LDFLAGS})
export HIPFLAGS=$(test-flags-HIPCXX ${HIPFLAGS})
}
# @FUNCTION: get-flag
@ -1008,6 +1026,12 @@ test-compile() {
args+=(${FCFLAGS[@]} ${LDFLAGS[@]} -xf95)
libs+=(${LIBS[@]})
;;
hip)
compiler="$(tc-getHIPCXX)"
filename_in="${T}/test.hip"
filename_out="${T}/test.o"
args+=(${CFLAGS[@]} -xhip -c)
;;
*)
die "Unknown compiled language ${lang}"
;;