1 |
From ec0be3d1a808ea0c5bdd081a4bb935f86bf78d44 Mon Sep 17 00:00:00 2001 |
2 |
From: Austin English <wizardedit@g.o> |
3 |
Date: Mon, 27 Jun 2016 16:58:07 -0500 |
4 |
Subject: [PATCH 2/2] eclass/toolchain-funcs: add clang version functions |
5 |
|
6 |
Signed-off-by: Austin English <wizardedit@g.o> |
7 |
--- |
8 |
eclass/toolchain-funcs.eclass | 33 +++++++++++++++++++++++++++++++++ |
9 |
1 file changed, 33 insertions(+) |
10 |
|
11 |
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass |
12 |
index fb8b2f9..9bb5232 100644 |
13 |
--- a/eclass/toolchain-funcs.eclass |
14 |
+++ b/eclass/toolchain-funcs.eclass |
15 |
@@ -642,6 +642,39 @@ gcc-micro-version() { |
16 |
_gcc_fullversion '$3' "$@" |
17 |
} |
18 |
|
19 |
+# Internal func. Based on _gcc_fullversion() above. |
20 |
+_clang_fullversion() { |
21 |
+ local ver="$1"; shift |
22 |
+ set -- $($(tc-getCPP "$@") -E -P - <<<"__clang_major__ __clang_minor__ |
23 |
__clang_patchlevel__") |
24 |
+ eval echo "$ver" |
25 |
+} |
26 |
+ |
27 |
+# @FUNCTION: clang-fullversion |
28 |
+# @RETURN: compiler version (major.minor.micro: [3.4.6]) |
29 |
+clang-fullversion() { |
30 |
+ _clang_fullversion '$1.$2.$3' "$@" |
31 |
+} |
32 |
+# @FUNCTION: clang-version |
33 |
+# @RETURN: compiler version (major.minor: [3.4].6) |
34 |
+clang-version() { |
35 |
+ _clang_fullversion '$1.$2' "$@" |
36 |
+} |
37 |
+# @FUNCTION: clang-major-version |
38 |
+# @RETURN: major compiler version (major: [3].4.6) |
39 |
+clang-major-version() { |
40 |
+ _clang_fullversion '$1' "$@" |
41 |
+} |
42 |
+# @FUNCTION: clang-minor-version |
43 |
+# @RETURN: minor compiler version (minor: 3.[4].6) |
44 |
+clang-minor-version() { |
45 |
+ _clang_fullversion '$2' "$@" |
46 |
+} |
47 |
+# @FUNCTION: clang-micro-version |
48 |
+# @RETURN: micro compiler version (micro: 3.4.[6]) |
49 |
+clang-micro-version() { |
50 |
+ _clang_fullversion '$3' "$@" |
51 |
+} |
52 |
+ |
53 |
# Returns the installation directory - internal toolchain |
54 |
# function for use by _gcc-specs-exists (for flag-o-matic). |
55 |
_gcc-install-dir() { |
56 |
-- |
57 |
2.7.3 |