From a3fb510ac9d70de059a99ccb35b247962f5bc18e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 7 Jul 2025 07:10:24 +0000 Subject: [PATCH] eclass/flag-o-matic: Sync with Gentoo It's from Gentoo commit 74d25eedd9c327fe91048b06ad81b86eb14d9cb7. --- .../portage-stable/eclass/flag-o-matic.eclass | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass b/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass index f22854c646..1c9abe1280 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass @@ -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 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: +# @DESCRIPTION: +# Returns shell true if is supported by the HIP compiler, else returns shell false. +test-flag-HIPCXX() { _test-flag-PROG HIPCXX hip "$@"; } + # @FUNCTION: test-flags-PROG # @USAGE: [more flags...] # @INTERNAL @@ -788,6 +799,12 @@ test-flags-FC() { _test-flags-PROG FC "$@"; } # Returns shell true if 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: +# @DESCRIPTION: +# Returns shell true if are supported by the HIP compiler and default linker, else returns shell false. +test-flags-HIPCXX() { _test-flags-PROG HIPCXX "$@"; } + # @FUNCTION: test-flags # @USAGE: # @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}" ;;