diff options
author | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2014-07-05 12:55:56 +0200 |
---|---|---|
committer | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2014-07-05 12:55:56 +0200 |
commit | 5e90d2b982a3255a4198c27a1f747a19b88ecece (patch) | |
tree | e5c3b0dbbe670dbcacbf6ff1aabc166e7b7db0b9 /core/mk/pkg-macros/vars.mk | |
parent | 48b8feb469cc9c530ebf24e56fc4638bcee2dfb0 (diff) | |
download | embtoolkit-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.mk | 16 |
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) |