From c096c11de359ed69fda9dee31675f5f1536e79ea Mon Sep 17 00:00:00 2001 From: David Seifert Date: Wed, 12 Oct 2016 22:15:03 +0200 Subject: [PATCH] toolchain-funcs.eclass: Add tc-check-openmp() function Closes: https://github.com/gentoo/gentoo/pull/2547 Signed-off-by: David Seifert --- eclass/toolchain-funcs.eclass | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass index 5bac36b6737c..63f0d6b20912 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: -- 2.26.2