summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2014-09-16 15:31:31 +0200
committerAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2014-09-16 15:32:23 +0200
commita0c5a351297a85ccc32f7f1353a86b91e3f561f2 (patch)
tree8a04712a90e4d345f1af4baf2d73bd2d84cb23c7
parent86ec951196ead247b97d53cd9b5e9ea470bd152d (diff)
downloadembtoolkit-a0c5a351297a85ccc32f7f1353a86b91e3f561f2.tar.gz
embtoolkit-a0c5a351297a85ccc32f7f1353a86b91e3f561f2.tar.bz2
embtoolkit-a0c5a351297a85ccc32f7f1353a86b91e3f561f2.tar.xz
Tolchain: gcc: completely define virtual packages in its kconfig file
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
-rw-r--r--core/toolchain/compiler-options.kconfig9
-rw-r--r--core/toolchain/gcc/gcc.kconfig76
-rw-r--r--core/toolchain/gcc/gcc.mk17
3 files changed, 88 insertions, 14 deletions
diff --git a/core/toolchain/compiler-options.kconfig b/core/toolchain/compiler-options.kconfig
index 39d2cac..e270ec5 100644
--- a/core/toolchain/compiler-options.kconfig
+++ b/core/toolchain/compiler-options.kconfig
@@ -25,6 +25,9 @@
config EMBTK_GCC_LANGUAGE_CPP
bool "Support C++"
+ select EMBTK_GCC1_LANGUAGE_CPP
+ select EMBTK_GCC2_LANGUAGE_CPP
+ select EMBTK_GCC3_LANGUAGE_CPP
select KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS if EMBTK_CLIB_UCLIBC
select KEMBTK_UCLIBC_UCLIBC_SUSV3_LEGACY if EMBTK_CLIB_UCLIBC
select KEMBTK_UCLIBC_UCLIBC_CTOR_DTOR if EMBTK_CLIB_UCLIBC
@@ -68,12 +71,18 @@ source "core/toolchain/libcxxrt/libcxxrt.kconfig"
config EMBTK_GCC_LANGUAGE_OBJECTIVEC
bool "Support Objective-C"
depends on !EMBTK_CLIB_UCLIBC
+ select EMBTK_GCC1_LANGUAGE_OBJECTIVEC
+ select EMBTK_GCC2_LANGUAGE_OBJECTIVEC
+ select EMBTK_GCC3_LANGUAGE_OBJECTIVEC
help
Your toolchain will be able to build Objective-C source code
config EMBTK_GCC_LANGUAGE_OBJECTIVECPP
bool "Support Objective-C++"
depends on !EMBTK_CLIB_UCLIBC
+ select EMBTK_GCC1_LANGUAGE_OBJECTIVECPP
+ select EMBTK_GCC2_LANGUAGE_OBJECTIVECPP
+ select EMBTK_GCC3_LANGUAGE_OBJECTIVECPP
help
Your toolchain will be able to build Objective-C source code
diff --git a/core/toolchain/gcc/gcc.kconfig b/core/toolchain/gcc/gcc.kconfig
index 72470eb..1efaf12 100644
--- a/core/toolchain/gcc/gcc.kconfig
+++ b/core/toolchain/gcc/gcc.kconfig
@@ -137,16 +137,92 @@ config EMBTK_GCC_NEED_AUTORECONF
select EMBTK_GCC2_NEED_AUTORECONF
select EMBTK_GCC3_NEED_AUTORECONF
+
+#
+# GCC1 virtual packages
+#
+config EMBTK_GCC1_LANGUAGE_CPP
+ bool
+config EMBTK_GCC1_LANGUAGE_OBJECTIVEC
+ bool
+config EMBTK_GCC1_LANGUAGE_OBJECTIVECPP
+ bool
+config EMBTK_GCC1_LANGUAGE_FORTRAN
+ bool
+config EMBTK_GCC1_GIT_BRANCH
+ string
+ default EMBTK_GCC_GIT_BRANCH
+ depends on EMBTK_GCC_VERSION_GIT
+config EMBTK_GCC1_GIT_REVISION
+ string
+ depends on EMBTK_GCC_VERSION_GIT
+ default EMBTK_GCC_GIT_REVISION
+config EMBTK_GCC1_REFSPEC
+ string
+ default EMBTK_GCC_REFSPEC
+config EMBTK_GCC1_VERSION_STRING
+ string
+ default EMBTK_GCC_VERSION_STRING
config EMBTK_GCC1_NEED_PATCH
bool
config EMBTK_GCC1_NEED_AUTORECONF
bool
+#
+# GCC2 virtual packages
+#
+config EMBTK_GCC2_LANGUAGE_CPP
+ bool
+config EMBTK_GCC2_LANGUAGE_OBJECTIVEC
+ bool
+config EMBTK_GCC2_LANGUAGE_OBJECTIVECPP
+ bool
+config EMBTK_GCC2_LANGUAGE_FORTRAN
+ bool
+config EMBTK_GCC2_GIT_BRANCH
+ string
+ default EMBTK_GCC_GIT_BRANCH
+ depends on EMBTK_GCC_VERSION_GIT
+config EMBTK_GCC2_GIT_REVISION
+ string
+ depends on EMBTK_GCC_VERSION_GIT
+ default EMBTK_GCC_GIT_REVISION
+config EMBTK_GCC2_REFSPEC
+ string
+ default EMBTK_GCC_REFSPEC
+config EMBTK_GCC2_VERSION_STRING
+ string
+ default EMBTK_GCC_VERSION_STRING
config EMBTK_GCC2_NEED_PATCH
bool
config EMBTK_GCC2_NEED_AUTORECONF
bool
+#
+# GCC3 virtual packages
+#
+config EMBTK_GCC3_LANGUAGE_CPP
+ bool
+config EMBTK_GCC3_LANGUAGE_OBJECTIVEC
+ bool
+config EMBTK_GCC3_LANGUAGE_OBJECTIVECPP
+ bool
+config EMBTK_GCC3_LANGUAGE_FORTRAN
+ bool
+config EMBTK_GCC3_GIT_BRANCH
+ string
+ default EMBTK_GCC_GIT_BRANCH
+ depends on EMBTK_GCC_VERSION_GIT
+config EMBTK_GCC3_GIT_REVISION
+ string
+ depends on EMBTK_GCC_VERSION_GIT
+ default EMBTK_GCC_GIT_REVISION
+config EMBTK_GCC3_REFSPEC
+ string
+ default EMBTK_GCC_REFSPEC
+config EMBTK_GCC3_VERSION_STRING
+ string
+ default EMBTK_GCC_VERSION_STRING
config EMBTK_GCC3_NEED_PATCH
bool
config EMBTK_GCC3_NEED_AUTORECONF
diff --git a/core/toolchain/gcc/gcc.mk b/core/toolchain/gcc/gcc.mk
index b96fb1b..98cc466 100644
--- a/core/toolchain/gcc/gcc.mk
+++ b/core/toolchain/gcc/gcc.mk
@@ -34,8 +34,7 @@ GCC1_SITE := $(GCC_SITE)
GCC1_GIT_SITE := $(GCC_GIT_SITE)
GCC1_PACKAGE := $(GCC_PACKAGE)
GCC1_SRC_DIR := $(GCC_SRC_DIR)
-GCC1_BUILD_DIR := $(embtk_toolsb)/gcc1-build
-GCC1_KCONFIGS_NAME := GCC
+GCC1_BUILD_DIR := $(embtk_toolsb)/gcc1-$(GCC_VERSION)-build
GCC1_KEEP_SRC_DIR := y
GCC1_DEPS := $(GCC_DEPS)
@@ -50,9 +49,6 @@ GCC1_CONFIGURE_OPTS += --disable-shared
GCC1_CONFIGURE_OPTS += --disable-threads
GCC1_CONFIGURE_OPTS += --disable-libatomic
-CONFIG_EMBTK_GCC1_VERSION_GIT := $(CONFIG_EMBTK_GCC_VERSION_GIT)
-CONFIG_EMBTK_GCC1_REFSPEC := $(CONFIG_EMBTK_GCC_REFSPEC)
-
define embtk_install_gcc1
$(call embtk_makeinstall_hostpkg,gcc1,autotooled)
endef
@@ -66,8 +62,7 @@ GCC2_SITE := $(GCC_SITE)
GCC2_GIT_SITE := $(GCC_GIT_SITE)
GCC2_PACKAGE := $(GCC_PACKAGE)
GCC2_SRC_DIR := $(GCC_SRC_DIR)
-GCC2_BUILD_DIR := $(embtk_toolsb)/gcc2-build
-GCC2_KCONFIGS_NAME := GCC
+GCC2_BUILD_DIR := $(embtk_toolsb)/gcc2-$(GCC_VERSION)-build
GCC2_KEEP_SRC_DIR := y
GCC2_DEPS := $(GCC_DEPS)
@@ -81,9 +76,6 @@ GCC2_CONFIGURE_OPTS += --disable-libatomic
GCC2_CONFIGURE_OPTS += --disable-symvers
GCC2_CONFIGURE_OPTS += $(GCC_CXA_ATEXIT-y)
-CONFIG_EMBTK_GCC2_VERSION_GIT := $(CONFIG_EMBTK_GCC_VERSION_GIT)
-CONFIG_EMBTK_GCC2_REFSPEC := $(CONFIG_EMBTK_GCC_REFSPEC)
-
define embtk_install_gcc2
$(call embtk_makeinstall_hostpkg,gcc2,autotooled)
endef
@@ -102,7 +94,7 @@ GCC3_SITE := $(GCC_SITE)
GCC3_GIT_SITE := $(GCC_GIT_SITE)
GCC3_PACKAGE := $(GCC_PACKAGE)
GCC3_SRC_DIR := $(GCC_SRC_DIR)
-GCC3_BUILD_DIR := $(embtk_toolsb)/gcc3-build
+GCC3_BUILD_DIR := $(embtk_toolsb)/gcc3-$(GCC_VERSION)-build
GCC3_KCONFIGS_NAME := GCC
# extra gcc3 configure options
@@ -134,9 +126,6 @@ GCC3_CONFIGURE_OPTS += --enable-shared
GCC3_CONFIGURE_OPTS += $(GCC_CXA_ATEXIT-y)
GCC3_CONFIGURE_OPTS += $(GCC3_CONFIGURE_EXTRA_OPTIONS)
-CONFIG_EMBTK_GCC3_VERSION_GIT := $(CONFIG_EMBTK_GCC_VERSION_GIT)
-CONFIG_EMBTK_GCC3_REFSPEC := $(CONFIG_EMBTK_GCC_REFSPEC)
-
define embtk_install_gcc3
$(call embtk_makeinstall_hostpkg,gcc3,autotooled)
endef