summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/gcc.mk7
-rw-r--r--mk/mips-arch.mk24
2 files changed, 28 insertions, 3 deletions
diff --git a/mk/gcc.mk b/mk/gcc.mk
index 2b7e470..16b90fa 100644
--- a/mk/gcc.mk
+++ b/mk/gcc.mk
@@ -74,7 +74,8 @@ $(GCC1_BUILD_DIR)/.configured:
--host=$(HOST_ARCH) --build=$(HOST_BUILD) \
--without-headers --with-newlib --disable-shared --disable-threads \
--disable-libssp --disable-libgomp --disable-libmudflap --disable-nls \
- --enable-languages=c --with-gmp=$(GMP_HOST_DIR) --with-mpfr=$(MPFR_HOST_DIR)
+ --enable-languages=c --with-gmp=$(GMP_HOST_DIR) --with-mpfr=$(MPFR_HOST_DIR) \
+ $(GCC_MULTILIB) $(GCC_WITH_ABI)
@touch $@
#GCC second stage
@@ -94,7 +95,7 @@ $(GCC2_BUILD_DIR)/.configured:
--disable-libssp --disable-libgomp --disable-libmudflap \
--enable-languages=c --with-gmp=$(GMP_HOST_DIR) \
--with-mpfr=$(MPFR_HOST_DIR) \
- $(GCC_MULTILIB)
+ $(GCC_MULTILIB) $(GCC_WITH_ABI)
@touch $@
#GCC last stage
@@ -116,6 +117,6 @@ $(GCC3_BUILD_DIR)/.configured:
--disable-libssp --disable-libgomp --disable-libmudflap \
--enable-threads --enable-shared --enable-languages=c,c++ \
--with-gmp=$(GMP_HOST_DIR) --with-mpfr=$(MPFR_HOST_DIR) \
- $(GCC_MULTILIB)
+ $(GCC_MULTILIB) $(GCC_WITH_ABI)
@touch $@
diff --git a/mk/mips-arch.mk b/mk/mips-arch.mk
index 4ed4de1..0bbbb2c 100644
--- a/mk/mips-arch.mk
+++ b/mk/mips-arch.mk
@@ -114,3 +114,27 @@ GNU_TARGET_ARCH := mips64r2
endif
endif
+
+#GCC configure options
+
+ifeq ($(CONFIG_EMBTK_ARCH_MIPS_ABI_O32),y)
+GCC_WITH_ABI := --with-abi=32
+export GCC_WITH_ABI
+
+else ifeq ($(CONFIG_EMBTK_ARCH_MIPS_ABI_N32),y)
+GCC_WITH_ABI := --with-abi=n32
+export GCC_WITH_ABI
+
+else ifeq ($(CONFIG_EMBTK_ARCH_MIPS_ABI_EABI),y)
+GCC_WITH_ABI := --with-abi=eabi
+export GCC_WITH_ABI
+
+else ifeq ($(CONFIG_EMBTK_ARCH_MIPS_ABI_O64),y)
+GCC_WITH_ABI := --with-abi=o64
+export GCC_WITH_ABI
+
+else
+GCC_WITH_ABI := --with-abi=64
+export GCC_WITH_ABI
+endif
+