summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2016-06-22 21:54:44 +0200
committerMichał Górny <mgorny@gentoo.org>2016-06-26 17:34:47 +0200
commit6984a5b149a215dd96a9759d3d1f251354faf38f (patch)
treed838cbd9ce566773b95a357ee00a2d0d73c5a992 /eclass
parenttoolchain-funcs.eclass: Add tc-get-compiler-type() (diff)
downloadgentoo-6984a5b149a215dd96a9759d3d1f251354faf38f.tar.gz
gentoo-6984a5b149a215dd96a9759d3d1f251354faf38f.tar.bz2
gentoo-6984a5b149a215dd96a9759d3d1f251354faf38f.zip
toolchain-funcs.eclass: Add helpful tc-is-{gcc,clang} wrappers
Diffstat (limited to 'eclass')
-rwxr-xr-xeclass/tests/toolchain-funcs.sh28
-rw-r--r--eclass/toolchain-funcs.eclass12
2 files changed, 40 insertions, 0 deletions
diff --git a/eclass/tests/toolchain-funcs.sh b/eclass/tests/toolchain-funcs.sh
index 6f3799679a00..e6a15389c913 100755
--- a/eclass/tests/toolchain-funcs.sh
+++ b/eclass/tests/toolchain-funcs.sh
@@ -120,6 +120,20 @@ export CC=gcc
)
tend $?
+tbegin "tc-is-gcc (gcc)"
+(
+export CC=gcc
+tc-is-gcc
+)
+tend $?
+
+tbegin "! tc-is-clang (gcc)"
+(
+export CC=gcc
+! tc-is-clang
+)
+tend $?
+
if type -P clang &>/dev/null; then
tbegin "tc-get-compiler-type (clang)"
(
@@ -127,6 +141,20 @@ if type -P clang &>/dev/null; then
[[ $(tc-get-compiler-type) == clang ]]
)
tend $?
+
+ tbegin "! tc-is-gcc (clang)"
+ (
+ export CC=clang
+ ! tc-is-gcc
+ )
+ tend $?
+
+ tbegin "tc-is-clang (clang)"
+ (
+ export CC=clang
+ tc-is-clang
+ )
+ tend $?
fi
if type -P pathcc &>/dev/null; then
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index a29784cd14a4..d3abfb528936 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -607,6 +607,18 @@ tc-get-compiler-type() {
esac
}
+# @FUNCTION: tc-is-gcc
+# @RETURN: Shell true if the current compiler is GCC, false otherwise.
+tc-is-gcc() {
+ [[ $(tc-get-compiler-type) == gcc ]]
+}
+
+# @FUNCTION: tc-is-clang
+# @RETURN: Shell true if the current compiler is clang, false otherwise.
+tc-is-clang() {
+ [[ $(tc-get-compiler-type) == clang ]]
+}
+
# Internal func. The first argument is the version info to expand.
# Query the preprocessor to improve compatibility across different
# compilers rather than maintaining a --version flag matrix. #335943