summaryrefslogtreecommitdiff
path: root/core/mk/pkg-macros/vars.mk
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2014-07-05 12:55:56 +0200
committerAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2014-07-05 12:55:56 +0200
commit5e90d2b982a3255a4198c27a1f747a19b88ecece (patch)
treee5c3b0dbbe670dbcacbf6ff1aabc166e7b7db0b9 /core/mk/pkg-macros/vars.mk
parent48b8feb469cc9c530ebf24e56fc4638bcee2dfb0 (diff)
downloadembtoolkit-5e90d2b982a3255a4198c27a1f747a19b88ecece.tar.gz
embtoolkit-5e90d2b982a3255a4198c27a1f747a19b88ecece.tar.bz2
embtoolkit-5e90d2b982a3255a4198c27a1f747a19b88ecece.tar.xz
Build system: internal macros: improve compilers version string parsing
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
Diffstat (limited to 'core/mk/pkg-macros/vars.mk')
-rw-r--r--core/mk/pkg-macros/vars.mk16
1 files changed, 11 insertions, 5 deletions
diff --git a/core/mk/pkg-macros/vars.mk b/core/mk/pkg-macros/vars.mk
index c3d9877..58d1971 100644
--- a/core/mk/pkg-macros/vars.mk
+++ b/core/mk/pkg-macros/vars.mk
@@ -31,12 +31,18 @@ embtk_ftp/packages-mirror := $(embtk_ftp)/packages-mirror
embtk_toolchain_use_llvm-y := $(or $(CONFIG_EMBTK_LLVM_ONLY_TOOLCHAIN),$(CONFIG_EMBTK_LLVM_DEFAULT_TOOLCHAIN))
embtk_toolchain_has_llvm-y := $(or $(CONFIG_EMBTK_GCC_AND_LLVM_TOOLCHAIN),$(embtk_toolchain_use_llvm-y))
-__embtk_hostcc-v := $(shell outv=$$($(HOSTCC) -v 2>&1); echo $$outv)
-embtk_hostcc_clang-y := $(if $(findstring clang,$(__embtk_hostcc-v)),y)
+#
+# Compilers helper macros/variables
+#
+__embtk_clang-version = "$(shell $(1) --version 2>/dev/null | sed -e '2,$$d' -e 's/\(.*\) \((.*)\) \((.*)\)/\1/')"
+__embtk_clang-git-version = "$(shell $(1) --version 2>/dev/null | sed -e '2,$$d' -e 's/\(.*\) \((.*)\) \((.*)\) \((.*)\)/\1 \4/')"
+__embtk_gcc-version = "$(shell $(1) --version 2>/dev/null | sed -e '2,$$d' -e 's/\(.*\)-gcc[[:space:]]\(.*\)/gcc \2/')"
+
+__embtk_hostcc-version := $(shell $(HOSTCC) --version 2>/dev/null | sed -e '2,$$d')
+embtk_hostcc_clang-y := $(if $(findstring clang,$(__embtk_hostcc-version)),y)
-__embtk_targetclang-v = llvm+clang-$(call __embtk_pkg_version,clang_host)
-__embtk_targetgcc-v = gcc-$(call __embtk_pkg_version,gcc)
-embtk_targetcc_name-v = $(if $(embtk_toolchain_use_llvm-y),$(__embtk_targetclang-v),$(__embtk_targetgcc-v))
+__embtk_targetclang-v = $(if $(call __embtk_pkg_usegit,clang),$(call __embtk_clang-git-version,$(TARGETCLANG)),$(call __embtk_clang-version,$(TARGETCLANG)))
+embtk_targetcc_name-v = $(if $(embtk_toolchain_use_llvm-y),$(__embtk_targetclang-v),$(call __embtk_gcc-version,$(TARGETGCC)))
embtk_host_uname := $(shell uname -s -r -p)