summaryrefslogtreecommitdiff
path: root/mk/gcc.mk
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <walsimou@walsimou.com>2009-07-12 18:43:58 +0200
committerAbdoulaye Walsimou Gaye <walsimou@walsimou.com>2009-07-12 18:43:58 +0200
commit0c5493a99558c4b5b4b7a0da20daaf47977cbdf2 (patch)
tree43af2d316ce83a629f2c38ea29fcf59e644a9a85 /mk/gcc.mk
parent7b7c3d5f7c6779a80d0720ec771d530757d238cb (diff)
downloadembtoolkit-0c5493a99558c4b5b4b7a0da20daaf47977cbdf2.tar.gz
embtoolkit-0c5493a99558c4b5b4b7a0da20daaf47977cbdf2.tar.bz2
embtoolkit-0c5493a99558c4b5b4b7a0da20daaf47977cbdf2.tar.xz
Toolchain: Add support for c++, objective-c, objective-c++, fortran
Signed-off-by: Abdoulaye Walsimou Gaye <walsimou@walsimou.com>
Diffstat (limited to 'mk/gcc.mk')
-rw-r--r--mk/gcc.mk40
1 files changed, 34 insertions, 6 deletions
diff --git a/mk/gcc.mk b/mk/gcc.mk
index 8914033..4404577 100644
--- a/mk/gcc.mk
+++ b/mk/gcc.mk
@@ -29,6 +29,34 @@ GCC1_BUILD_DIR := $(TOOLS_BUILD)/gcc1
GCC2_BUILD_DIR := $(TOOLS_BUILD)/gcc2
GCC3_BUILD_DIR := $(TOOLS_BUILD)/gcc3
+GCC_LANGUAGES =c
+
+ifeq ($(CONFIG_EMBTK_GCC_LANGUAGE_CPP),y)
+GCC_LANGUAGES +=,c++
+endif
+
+ifeq ($(CONFIG_EMBTK_GCC_LANGUAGE_JAVA),y)
+GCC_LANGUAGES +=,java
+GCC3_CONFIGURE_EXTRA_OPTIONS += --enable-java-home
+endif
+
+ifeq ($(CONFIG_EMBTK_GCC_LANGUAGE_OBJECTIVEC),y)
+GCC_LANGUAGES +=,objc
+endif
+
+ifeq ($(CONFIG_EMBTK_GCC_LANGUAGE_OBJECTIVECPP),y)
+GCC_LANGUAGES +=,obj-c++
+endif
+
+ifeq ($(CONFIG_EMBTK_GCC_LANGUAGE_FORTRAN),y)
+GCC_LANGUAGES +=,fortran
+endif
+
+ifeq ($(CONFIG_EMBTK_GCC_LANGUAGE_ADA),y)
+GCC_LANGUAGES +=,ada
+endif
+GCC_LANGUAGES :=$(patsubst "",,$(GCC_LANGUAGES))
+
gcc1_install: $(GCC1_BUILD_DIR)/.built
gcc2_install: $(GCC2_BUILD_DIR)/.built
@@ -97,11 +125,9 @@ $(GCC3_BUILD_DIR)/.installed: $(GCC3_BUILD_DIR)/.configured
PATH=$(PATH):$(TOOLS)/bin/ $(MAKE) -C $(GCC3_BUILD_DIR) && \
PATH=$(PATH):$(TOOLS)/bin/ $(MAKE) -C $(GCC3_BUILD_DIR) install
ifeq ($(CONFIG_EMBTK_TARGET_ARCH_64BITS),y)
- cp -d $(TOOLS)/$(STRICT_GNU_TARGET)/lib64/libgcc_s.so* $(SYSROOT)/lib64
- cp -d $(TOOLS)/$(STRICT_GNU_TARGET)/lib64/libstdc++.so* $(SYSROOT)/lib64
+ cp -d $(TOOLS)/$(STRICT_GNU_TARGET)/lib64/*.so* $(SYSROOT)/lib64
else
- cp -d $(TOOLS)/$(STRICT_GNU_TARGET)/lib/libgcc_s.so* $(SYSROOT)/lib
- cp -d $(TOOLS)/$(STRICT_GNU_TARGET)/lib/libstdc++.so* $(SYSROOT)/lib
+ cp -d $(TOOLS)/$(STRICT_GNU_TARGET)/lib/*.so* $(SYSROOT)/lib
@touch $@
endif
@@ -115,7 +141,9 @@ $(GCC3_BUILD_DIR)/.configured:
$(GCC_WITH_FLOAT) $(GCC_MULTILIB) $(GCC_WITH_ABI) \
--host=$(HOST_ARCH) --build=$(HOST_BUILD) --enable-__cxa_atexit \
--disable-libssp --disable-libgomp --disable-libmudflap --disable-nls \
- --enable-threads --enable-shared --enable-languages=c,c++ \
- --with-gmp=$(GMP_HOST_DIR) --with-mpfr=$(MPFR_HOST_DIR)
+ --enable-threads --enable-shared \
+ --with-gmp=$(GMP_HOST_DIR) --with-mpfr=$(MPFR_HOST_DIR) \
+ --enable-languages=`echo $(GCC_LANGUAGES) | sed 's/ //g'` \
+ $(GCC3_CONFIGURE_EXTRA_OPTIONS)
@touch $@