diff options
-rw-r--r-- | core/mk/arch/arm/arm.mk | 10 | ||||
-rw-r--r-- | core/mk/arch/mips/mips.mk | 10 | ||||
-rw-r--r-- | core/toolchain/libcxxrt/libcxxrt.kconfig | 4 | ||||
-rw-r--r-- | core/toolchain/llvm/clang-llvm.kconfig | 12 | ||||
-rw-r--r-- | core/toolchain/llvm/libc++/libcxx.kconfig | 4 | ||||
-rw-r--r-- | core/toolchain/llvm/llvm/llvm.kconfig | 36 | ||||
-rw-r--r-- | core/toolchain/llvm/llvm/llvm.mk | 66 | ||||
-rw-r--r-- | core/toolchain/toolchain.mk | 6 |
8 files changed, 72 insertions, 76 deletions
diff --git a/core/mk/arch/arm/arm.mk b/core/mk/arch/arm/arm.mk index f3a3e48..b8d9e1f 100644 --- a/core/mk/arch/arm/arm.mk +++ b/core/mk/arch/arm/arm.mk @@ -1,6 +1,6 @@ ################################################################################ # Embtoolkit -# Copyright(C) 2009-2013 Abdoulaye Walsimou GAYE. +# Copyright(C) 2009-2014 Abdoulaye Walsimou GAYE. # # This program is free software; you can distribute it and/or modify it # under the terms of the GNU General Public License @@ -37,7 +37,7 @@ STRICT_GNU_TARGET := arm$(__embtk_arm_endian)-unknown-$(embtk_os)-$(__embtk_arm_ # GCC/LLVM configure options # GCC_WITH_CPU := --with-cpu=$(EMBTK_MCU_FLAG) -LLVM_WITH_CPU := --with-default-cpu=$(EMBTK_MCU_FLAG) +LLVM_HOST_WITH_CPU := --with-default-cpu=$(EMBTK_MCU_FLAG) # GCC extra configure options for arm GCC3_CONFIGURE_EXTRA_OPTIONS += $(strip $(if $(CONFIG_EMBTK_GCC_LANGUAGE_JAVA), \ @@ -46,8 +46,8 @@ GCC3_CONFIGURE_EXTRA_OPTIONS += $(strip $(if $(CONFIG_EMBTK_GCC_LANGUAGE_JAVA), # Hard or soft floating point for GCC/LLVM? GCC_WITH_FLOAT-$(CONFIG_EMBTK_SOFTFLOAT) := soft GCC_WITH_FLOAT-$(CONFIG_EMBTK_HARDFLOAT) := softfp -GCC_WITH_FLOAT := --with-float=$(GCC_WITH_FLOAT-y) -LLVM_WITH_FLOAT := --with-default-float=$(GCC_WITH_FLOAT-y) +GCC_WITH_FLOAT := --with-float=$(GCC_WITH_FLOAT-y) +LLVM_HOST_WITH_FLOAT := --with-default-float=$(GCC_WITH_FLOAT-y) GCC_WITH_FPU-$(CONFIG_EMBTK_ARCH_ARM_FPU_VFP) := vfp GCC_WITH_FPU-$(CONFIG_EMBTK_ARCH_ARM_FPU_VFPV3) := vfpv3 @@ -63,7 +63,7 @@ GCC_WITH_FPU-$(CONFIG_EMBTK_ARCH_ARM_FPU_NEON) := neon GCC_WITH_FPU-$(CONFIG_EMBTK_ARCH_ARM_FPU_NEON_FP16) := neon-fp16 GCC_WITH_FPU-$(CONFIG_EMBTK_ARCH_ARM_FPU_NEON_VFPV4) := neon-vfpv4 GCC_WITH_FPU := $(if $(GCC_WITH_FPU-y),--with-fpu=$(GCC_WITH_FPU-y)) -LLVM_WITH_FPU := $(if $(GCC_WITH_FPU-y),--with-default-fpu=$(GCC_WITH_FPU-y)) +LLVM_HOST_WITH_FPU := $(if $(GCC_WITH_FPU-y),--with-default-fpu=$(GCC_WITH_FPU-y)) # Hard or soft floating point? EMBTK_TARGET_FLOAT_CFLAGS := $(strip $(if $(CONFIG_EMBTK_SOFTFLOAT), \ diff --git a/core/mk/arch/mips/mips.mk b/core/mk/arch/mips/mips.mk index 6914579..a3653ac 100644 --- a/core/mk/arch/mips/mips.mk +++ b/core/mk/arch/mips/mips.mk @@ -94,12 +94,12 @@ GCC_WITH_ARCH := --with-arch=$(GNU_TARGET_ARCH) # Hard or soft floating point for GCC? ifeq ($(CONFIG_EMBTK_HARDFLOAT),y) GCC_WITH_FLOAT := --with-float=hard -LLVM_WITH_FLOAT := --with-default-float=hard +LLVM_HOST_WITH_FLOAT := --with-default-float=hard EMBTK_TARGET_FLOAT_CFLAGS := -mhard-float __xtools_env_float := hf else GCC_WITH_FLOAT := --with-float=soft -LLVM_WITH_FLOAT := --with-default-float=soft +LLVM_HOST_WITH_FLOAT := --with-default-float=soft EMBTK_TARGET_FLOAT_CFLAGS := -msoft-float __xtools_env_float := sf endif @@ -107,13 +107,13 @@ endif # ABI part ifeq ($(CONFIG_EMBTK_ARCH_MIPS_ABI_O32),y) GCC_WITH_ABI := --with-abi=32 -LLVM_WITH_ABI := --with-default-abi=o32 +LLVM_HOST_WITH_ABI := --with-default-abi=o32 EMBTK_TARGET_ABI := -mabi=32 __xtools_env_abi := o32 else ifeq ($(CONFIG_EMBTK_ARCH_MIPS_ABI_N32),y) GCC_WITH_ABI := --with-abi=n32 -LLVM_WITH_ABI := --with-default-abi=n32 +LLVM_HOST_WITH_ABI := --with-default-abi=n32 EMBTK_TARGET_ABI := -mabi=n32 __xtools_env_abi := n32 @@ -127,7 +127,7 @@ __xtools_env_abi := n32 else GCC_WITH_ABI := --with-abi=64 -LLVM_WITH_ABI := --with-default-abi=n64 +LLVM_HOST_WITH_ABI := --with-default-abi=n64 EMBTK_TARGET_ABI := -mabi=64 __xtools_env_abi := n64 endif diff --git a/core/toolchain/libcxxrt/libcxxrt.kconfig b/core/toolchain/libcxxrt/libcxxrt.kconfig index f6fa697..fceae6c 100644 --- a/core/toolchain/libcxxrt/libcxxrt.kconfig +++ b/core/toolchain/libcxxrt/libcxxrt.kconfig @@ -1,6 +1,6 @@ ################################################################################ # Embtoolkit -# Copyright(C) 2012 Abdoulaye Walsimou GAYE <awg@embtoolkit.org>. +# Copyright(C) 2012-2014 Abdoulaye Walsimou GAYE <awg@embtoolkit.org>. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ config EMBTK_HAVE_LIBCXXRT bool - depends on EMBTK_CXXLIB_LLVM_LIBCXX + depends on EMBTK_CXXLIB_LLVM_HOST_LIBCXX select EMBTK_LIBCXXRT_VERSION_4_0_10 default y diff --git a/core/toolchain/llvm/clang-llvm.kconfig b/core/toolchain/llvm/clang-llvm.kconfig index 74e1516..0ceb990 100644 --- a/core/toolchain/llvm/clang-llvm.kconfig +++ b/core/toolchain/llvm/clang-llvm.kconfig @@ -31,17 +31,17 @@ choice help Version of llvm you wish - config EMBTK_CLANG_HOST_LLVM_VERSION_3_3 + config EMBTK_CLANG_HOST_LLVM_HOST_VERSION_3_3 bool "clang/llvm-3.3" - select EMBTK_LLVM_VERSION_3_3 + select EMBTK_LLVM_HOST_VERSION_3_3 select EMBTK_CLANG_HOST_VERSION_3_3 - config EMBTK_CLANG_HOST_LLVM_VERSION_3_2 + config EMBTK_CLANG_HOST_LLVM_HOST_VERSION_3_2 bool "clang/llvm-3.2" - select EMBTK_LLVM_VERSION_3_2 + select EMBTK_LLVM_HOST_VERSION_3_2 select EMBTK_CLANG_HOST_VERSION_3_2 - config EMBTK_CLANG_HOST_LLVM_VERSION_GIT + config EMBTK_CLANG_HOST_LLVM_HOST_VERSION_GIT bool "Use clang/llvm git repository" - select EMBTK_LLVM_VERSION_GIT + select EMBTK_LLVM_HOST_VERSION_GIT select EMBTK_CLANG_HOST_VERSION_GIT help Answer Y here if you want to build your toolchain based on diff --git a/core/toolchain/llvm/libc++/libcxx.kconfig b/core/toolchain/llvm/libc++/libcxx.kconfig index 6264a1f..bde24a2 100644 --- a/core/toolchain/llvm/libc++/libcxx.kconfig +++ b/core/toolchain/llvm/libc++/libcxx.kconfig @@ -1,6 +1,6 @@ ################################################################################ # Embtoolkit -# Copyright(C) 2012 Abdoulaye Walsimou GAYE <awg@embtoolkit.org>. +# Copyright(C) 2012-2014 Abdoulaye Walsimou GAYE <awg@embtoolkit.org>. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ config EMBTK_HAVE_LIBCXX bool default y - depends on EMBTK_CXXLIB_LLVM_LIBCXX + depends on EMBTK_CXXLIB_LLVM_HOST_LIBCXX select KEMBTK_UCLIBC_UCLIBC_HAS_LOCALE if EMBTK_CLIB_UCLIBC select KEMBTK_UCLIBC_UCLIBC_HAS_XLOCALE if EMBTK_CLIB_UCLIBC diff --git a/core/toolchain/llvm/llvm/llvm.kconfig b/core/toolchain/llvm/llvm/llvm.kconfig index b443a32..bd08b86 100644 --- a/core/toolchain/llvm/llvm/llvm.kconfig +++ b/core/toolchain/llvm/llvm/llvm.kconfig @@ -1,6 +1,6 @@ ################################################################################ # Embtoolkit -# Copyright(C) 2012-2013 Abdoulaye Walsimou GAYE <awg@embtoolkit.org>. +# Copyright(C) 2012-2014 Abdoulaye Walsimou GAYE <awg@embtoolkit.org>. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -23,21 +23,21 @@ # \date October 2012 ################################################################################ -config EMBTK_HAVE_LLVM +config EMBTK_HOST_HAVE_LLVM bool default y # # llvm version # -config EMBTK_LLVM_VERSION_3_3 +config EMBTK_LLVM_HOST_VERSION_3_3 bool - select EMBTK_LLVM_NEED_PATCH -config EMBTK_LLVM_VERSION_3_2 + select EMBTK_LLVM_HOST_NEED_PATCH +config EMBTK_LLVM_HOST_VERSION_3_2 bool - select EMBTK_LLVM_NEED_PATCH + select EMBTK_LLVM_HOST_NEED_PATCH -config EMBTK_LLVM_VERSION_GIT +config EMBTK_LLVM_HOST_VERSION_GIT bool help Answer Y here if you want to build your toolchain based on @@ -46,34 +46,34 @@ config EMBTK_LLVM_VERSION_GIT # # GIT repository options # -config EMBTK_LLVM_GIT_BRANCH +config EMBTK_LLVM_HOST_GIT_BRANCH string "llvm branch to use" default "master" - depends on EMBTK_LLVM_VERSION_GIT + depends on EMBTK_LLVM_HOST_VERSION_GIT help The branch of the git repository to use, the default is master. -config EMBTK_LLVM_GIT_REVISION +config EMBTK_LLVM_HOST_GIT_REVISION string "llvm specific revision to use instead of the latest" - depends on EMBTK_LLVM_VERSION_GIT + depends on EMBTK_LLVM_HOST_VERSION_GIT help Chechout a specific revision instead of the latest. -config EMBTK_LLVM_REFSPEC +config EMBTK_LLVM_HOST_REFSPEC string default "toolchain" # # Versions strings for tarball packages. # -config EMBTK_LLVM_VERSION_STRING +config EMBTK_LLVM_HOST_VERSION_STRING string - default "3.3" if EMBTK_LLVM_VERSION_3_3 - default "3.2" if EMBTK_LLVM_VERSION_3_2 - default "git" if EMBTK_LLVM_VERSION_GIT + default "3.3" if EMBTK_LLVM_HOST_VERSION_3_3 + default "3.2" if EMBTK_LLVM_HOST_VERSION_3_2 + default "git" if EMBTK_LLVM_HOST_VERSION_GIT -config EMBTK_LLVM_NEED_PATCH +config EMBTK_LLVM_HOST_NEED_PATCH bool -config EMBTK_LLVM_NEED_AUTORECONF +config EMBTK_LLVM_HOST_NEED_AUTORECONF bool diff --git a/core/toolchain/llvm/llvm/llvm.mk b/core/toolchain/llvm/llvm/llvm.mk index 24fb2f7..42d6689 100644 --- a/core/toolchain/llvm/llvm/llvm.mk +++ b/core/toolchain/llvm/llvm/llvm.mk @@ -23,58 +23,54 @@ # \date October 2012 ################################################################################ -LLVM_NAME := llvm -LLVM_VERSION := $(call embtk_get_pkgversion,llvm) -LLVM_SITE := http://llvm.org/releases/$(LLVM_VERSION) -#LLVM_GIT_SITE := http://llvm.org/git/llvm.git -LLVM_GIT_SITE := git://www.embtoolkit.org/llvm.git -LLVM_PACKAGE := llvm-$(LLVM_VERSION).src.tar.gz -LLVM_SRC_DIR := $(embtk_toolsb)/llvm-$(LLVM_VERSION).src -LLVM_BUILD_DIR := $(embtk_toolsb)/llvm-build +LLVM_HOST_NAME := llvm +LLVM_HOST_VERSION := $(call embtk_get_pkgversion,llvm_host) +LLVM_HOST_SITE := http://llvm.org/releases/$(LLVM_HOST_VERSION) +#LLVM_HOST_GIT_SITE := http://llvm.org/git/llvm.git +LLVM_HOST_GIT_SITE := git://www.embtoolkit.org/llvm.git +LLVM_HOST_PACKAGE := llvm-$(LLVM_HOST_VERSION).src.tar.gz +LLVM_HOST_SRC_DIR := $(embtk_toolsb)/llvm-$(LLVM_HOST_VERSION).src +LLVM_HOST_BUILD_DIR := $(embtk_toolsb)/llvm-build -LLVM_DEPS := binutils_install clang_host_install +LLVM_HOST_DEPS := binutils_install clang_host_install -LLVM_WITH_HASHSTYLE := $(if $(CONFIG_EMBTK_CLIB_UCLIBC),--with-default-hash-style=sysv) +LLVM_HOST_WITH_HASHSTYLE := $(if $(CONFIG_EMBTK_CLIB_UCLIBC),--with-default-hash-style=sysv) -__embtk_binutils_inc := $(call __embtk_pkg_srcdir,binutils)/include +__embtk_binutils_inc := $(call __embtk_pkg_srcdir,binutils)/include -LLVM_CONFIGURE_OPTS := --target=$(STRICT_GNU_TARGET) -LLVM_CONFIGURE_OPTS += --enable-targets=$(LINUX_ARCH),x86 -LLVM_CONFIGURE_OPTS += $(LLVM_WITH_CPU) $(LLVM_WITH_ABI) -LLVM_CONFIGURE_OPTS += $(LLVM_WITH_FLOAT) $(LLVM_WITH_FPU) -LLVM_CONFIGURE_OPTS += $(LLVM_WITH_HASHSTYLE) -LLVM_CONFIGURE_OPTS += --with-default-sysroot=$(embtk_sysroot) -LLVM_CONFIGURE_OPTS += --enable-optimized --disable-jit --disable-zlib -LLVM_CONFIGURE_OPTS += --with-bug-report-url=$(EMBTK_BUGURL) -LLVM_CONFIGURE_OPTS += --with-binutils-include=$(__embtk_binutils_inc) +LLVM_HOST_CONFIGURE_OPTS := --target=$(STRICT_GNU_TARGET) +LLVM_HOST_CONFIGURE_OPTS += --enable-targets=$(LINUX_ARCH),x86 +LLVM_HOST_CONFIGURE_OPTS += $(LLVM_HOST_WITH_CPU) $(LLVM_HOST_WITH_ABI) +LLVM_HOST_CONFIGURE_OPTS += $(LLVM_HOST_WITH_FLOAT) $(LLVM_HOST_WITH_FPU) +LLVM_HOST_CONFIGURE_OPTS += $(LLVM_HOST_WITH_HASHSTYLE) +LLVM_HOST_CONFIGURE_OPTS += --with-default-sysroot=$(embtk_sysroot) +LLVM_HOST_CONFIGURE_OPTS += --enable-optimized --disable-jit --disable-zlib +LLVM_HOST_CONFIGURE_OPTS += --with-bug-report-url=$(EMBTK_BUGURL) +LLVM_HOST_CONFIGURE_OPTS += --with-binutils-include=$(__embtk_binutils_inc) -LLVM_MAKE_OPTS := NO_UNITTESTS=1 -LLVM_MAKE_OPTS += CLANG_VENDOR="EmbToolkit(v$(EMBTK_VERSION))" +LLVM_HOST_MAKE_OPTS := NO_UNITTESTS=1 +LLVM_HOST_MAKE_OPTS += CLANG_VENDOR="EmbToolkit(v$(EMBTK_VERSION))" -LLVM_PREFIX := $(embtk_tools) +LLVM_HOST_PREFIX := $(embtk_tools) __embtk_clang_arch := $(firstword $(subst -, ,$(STRICT_GNU_TARGET))) __embtk_clang_rversion = `ls $(embtk_tools)/lib/clang/` __embtk_clang_libdir = $(embtk_tools)/lib/clang/$(__embtk_clang_rversion)/lib/linux __embtk_clang_incdir = $(embtk_tools)/lib/clang/$(__embtk_clang_rversion)/include -define embtk_install_llvm - $(call __embtk_install_hostpkg,llvm) -endef - -define embtk_beforeinstall_llvm - [ -e $(call __embtk_pkg_srcdir,llvm)/tools/clang ] || \ +define embtk_beforeinstall_llvm_host + [ -e $(call __embtk_pkg_srcdir,llvm_host)/tools/clang ] || \ ln -sf $(call __embtk_pkg_srcdir,clang_host) \ - $(call __embtk_pkg_srcdir,llvm)/tools/clang + $(call __embtk_pkg_srcdir,llvm_host)/tools/clang mkdir -p $(embtk_tools)/bin/clang-scan-build - cp -R $(call __embtk_pkg_srcdir,llvm)/tools/clang/tools/scan-build/* \ + cp -R $(call __embtk_pkg_srcdir,llvm_host)/tools/clang/tools/scan-build/* \ $(embtk_tools)/bin/clang-scan-build mkdir -p $(embtk_tools)/bin/clang-scan-view - cp -R $(call __embtk_pkg_srcdir,llvm)/tools/clang/tools/scan-view/* \ + cp -R $(call __embtk_pkg_srcdir,llvm_host)/tools/clang/tools/scan-view/* \ $(embtk_tools)/bin/clang-scan-view endef -define embtk_postinstallonce_llvm +define embtk_postinstallonce_llvm_host mkdir -p $(embtk_tools)/lib/bfd-plugins cd $(embtk_tools)/lib/bfd-plugins; \ ln -sf ../libLTO.so libLTO.so; \ @@ -83,6 +79,6 @@ define embtk_postinstallonce_llvm mkdir -p $(embtk_tools)/lib/clang/$(__embtk_clang_rversion)/lib/linux endef -define embtk_cleanup_llvm - $(Q)rm -rf $(LLVM_BUILD_DIR) +define embtk_cleanup_llvm_host + $(Q)rm -rf $(LLVM_HOST_BUILD_DIR) endef diff --git a/core/toolchain/toolchain.mk b/core/toolchain/toolchain.mk index 5d91dbf..79b9728 100644 --- a/core/toolchain/toolchain.mk +++ b/core/toolchain/toolchain.mk @@ -99,8 +99,8 @@ include core/mk/gmake.mk # # Toolchain virtual package internals # -__xtools_compiler-$(CONFIG_EMBTK_LLVM_ONLY_TOOLCHAIN) := clangllvm-$(LLVM_VERSION) -__xtools_compiler-$(CONFIG_EMBTK_LLVM_DEFAULT_TOOLCHAIN) := clangllvm-$(LLVM_VERSION) +__xtools_compiler-$(CONFIG_EMBTK_LLVM_ONLY_TOOLCHAIN) := clangllvm-$(LLVM_HOST_VERSION) +__xtools_compiler-$(CONFIG_EMBTK_LLVM_DEFAULT_TOOLCHAIN) := clangllvm-$(LLVM_HOST_VERSION) __xtools_compiler-$(CONFIG_EMBTK_GCC_ONLY_TOOLCHAIN) := gcc-$(GCC_VERSION) __xtools_compiler-$(CONFIG_EMBTK_GCC_DEFAULT_TOOLCHAIN) := gcc-$(GCC_VERSION) __xtools_bins := $(__xtools_compiler-y)-$(embtk_clib)-$(embtk_clib_version) @@ -141,7 +141,7 @@ endif TOOLCHAIN_DEPS-y := linux_headers_install gmp_host_install TOOLCHAIN_DEPS-y += mpfr_host_install mpc_host_install binutils_install -TOOLCHAIN_DEPS-$(CONFIG_EMBTK_HAVE_LLVM) += llvm_install +TOOLCHAIN_DEPS-$(CONFIG_EMBTK_HOST_HAVE_LLVM) += llvm_host_install TOOLCHAIN_DEPS-y += gcc1_install TOOLCHAIN_DEPS-$(CONFIG_EMBTK_CLIB_UCLIBC) += $(embtk_clib)_headers_install gcc2_install TOOLCHAIN_DEPS-y += $(embtk_clib)_install |