commit: c096c11de359ed69fda9dee31675f5f1536e79ea Author: David Seifert <soap <AT> gentoo <DOT> org> AuthorDate: Wed Oct 12 20:15:03 2016 +0000 Commit: David Seifert <soap <AT> gentoo <DOT> org> CommitDate: Sat Oct 22 09:27:09 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c096c11d
toolchain-funcs.eclass: Add tc-check-openmp() function Closes: https://github.com/gentoo/gentoo/pull/2547 Signed-off-by: David Seifert <soap <AT> gentoo.org> eclass/toolchain-funcs.eclass | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass index 5bac36b..63f0d6b 100644 --- a/eclass/toolchain-funcs.eclass +++ b/eclass/toolchain-funcs.eclass @@ -421,6 +421,27 @@ tc-has-openmp() { return ${ret} } +# @FUNCTION: tc-check-openmp +# @DESCRIPTION: +# Test for OpenMP support with the current compiler and error out with +# a clear error message, telling the user how to rectify the missing +# OpenMP support that has been requested by the ebuild. Using this function +# to test for OpenMP support should be preferred over tc-has-openmp and +# printing a custom message, as it presents a uniform interface to the user. +tc-check-openmp() { + if ! tc-has-openmp; then + eerror "Your current compiler does not support OpenMP!" + + if tc-is-gcc; then + eerror "Enable OpenMP support by building sys-devel/gcc with USE=\"openmp\"." + elif tc-is-clang; then + eerror "OpenMP support in sys-devel/clang is provided by sys-libs/libomp." + fi + + die "Active compiler does not have required support for OpenMP" + fi +} + # @FUNCTION: tc-has-tls # @USAGE: [-s|-c|-l] [toolchain prefix] # @DESCRIPTION:
