summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <walsimou@walsimou.com>2009-09-27 18:10:17 +0200
committerAbdoulaye Walsimou Gaye <walsimou@walsimou.com>2009-09-27 18:11:12 +0200
commit9795f7f3f4070735989189a8144b35141ea1e3b8 (patch)
tree8cac33bce8b7f61c04aaaa8c1d4c47f495d2a0c4
parentc6ffec5fd35d03c3e011ea344d2a8e602c6a36d9 (diff)
downloadembtoolkit-9795f7f3f4070735989189a8144b35141ea1e3b8.tar.gz
embtoolkit-9795f7f3f4070735989189a8144b35141ea1e3b8.tar.bz2
embtoolkit-9795f7f3f4070735989189a8144b35141ea1e3b8.tar.xz
Toolchain: MIPS: Add support build of uClibc toolchain
Signed-off-by: Abdoulaye Walsimou Gaye <walsimou@walsimou.com>
-rw-r--r--kconfig/uclibc-kconfigs/uclibc-mips.kconfig93
-rw-r--r--kconfig/uclibc-kconfigs/uclibc.kconfig6
-rw-r--r--mk/gcc.mk6
3 files changed, 104 insertions, 1 deletions
diff --git a/kconfig/uclibc-kconfigs/uclibc-mips.kconfig b/kconfig/uclibc-kconfigs/uclibc-mips.kconfig
new file mode 100644
index 0000000..f20fa97
--- /dev/null
+++ b/kconfig/uclibc-kconfigs/uclibc-mips.kconfig
@@ -0,0 +1,93 @@
+################################################################################
+# GAYE Abdoulaye Walsimou, <walsimou@walsimou.com>
+# Copyright(C) 2009 GAYE Abdoulaye Walsimou. All rights reserved.
+# For Copyrright from linux kernel's build/configure system, see their source
+# code
+#
+# This program is free software; you can distribute it and/or modify it
+# under the terms of the GNU General Public License
+# (Version 2 or later) published by the Free Software Foundation.
+#
+# This program is distributed in the hope it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+################################################################################
+#
+# \file uclibc-mips.kconfig
+# \brief uclibc-mips.kconfig of Embtoolkit, similar to
+# brief Configs/Config.mips.
+# \author GAYE Abdoulaye Walsimou, <walsimou@walsimou.com>
+# \date September 2009
+################################################################################
+
+config KEMBTK_UCLIBC_TARGET_ARCH
+ string
+ default "mips"
+
+config KEMBTK_UCLIBC_FORCE_OPTIONS_FOR_ARCH
+ bool
+ default y
+ select KEMBTK_UCLIBC_ARCH_ANY_ENDIAN
+
+config KEMBTK_UCLIBC_ARCH_CFLAGS
+ string
+ default "-mno-split-addresses"
+
+config KEMBTK_UCLIBC_CONFIG_MIPS_O32_ABI
+ bool
+ default y if EMBTK_ARCH_MIPS_ABI_O32
+ default n
+
+config KEMBTK_UCLIBC_CONFIG_MIPS_N32_ABI
+ bool
+ default y if EMBTK_ARCH_MIPS_ABI_N32
+ default n
+
+config KEMBTK_UCLIBC_CONFIG_MIPS_N64_ABI
+ bool
+ default y if EMBTK_ARCH_MIPS_ABI_N64
+ default n
+
+config KEMBTK_UCLIBC_CONFIG_MIPS_ISA_1
+ bool
+ default y if EMBTK_ARCH_MIPS_MIPS1_LITTLE || EMBTK_ARCH_MIPS_MIPS1_BIG
+ default n
+
+config KEMBTK_UCLIBC_CONFIG_MIPS_ISA_2
+ bool
+ default y if EMBTK_ARCH_MIPS_MIPS2_LITTLE || EMBTK_ARCH_MIPS_MIPS2_BIG
+ default n
+
+config KEMBTK_UCLIBC_CONFIG_MIPS_ISA_3
+ bool
+ default y if EMBTK_ARCH_MIPS_MIPS3_LITTLE || EMBTK_ARCH_MIPS_MIPS3_BIG
+ default n
+
+config KEMBTK_UCLIBC_CONFIG_MIPS_ISA_4
+ bool
+ default y if EMBTK_ARCH_MIPS_MIPS4_LITTLE || EMBTK_ARCH_MIPS_MIPS4_BIG
+ default n
+
+config KEMBTK_UCLIBC_CONFIG_MIPS_ISA_MIPS32
+ bool
+ default y if EMBTK_ARCH_MIPS_MIPS32_LITTLE || EMBTK_ARCH_MIPS_MIPS32_BIG
+ default n
+
+config KEMBTK_UCLIBC_CONFIG_MIPS_ISA_MIPS32R2
+ bool
+ default y if EMBTK_ARCH_MIPS_MIPS32R2_LITTLE \
+ || EMBTK_ARCH_MIPS_MIPS32R2_BIG
+ default n
+
+config KEMBTK_UCLIBC_CONFIG_MIPS_ISA_MIPS64
+ bool
+ default y if EMBTK_ARCH_MIPS_MIPS64_LITTLE \
+ || EMBTK_ARCH_MIPS_MIPS64_BIG || EMBTK_ARCH_MIPS_MIPS64R2_LITTLE \
+ || EMBTK_ARCH_MIPS_MIPS64R2_BIG
+ default n
+
diff --git a/kconfig/uclibc-kconfigs/uclibc.kconfig b/kconfig/uclibc-kconfigs/uclibc.kconfig
index 631c403..00010eb 100644
--- a/kconfig/uclibc-kconfigs/uclibc.kconfig
+++ b/kconfig/uclibc-kconfigs/uclibc.kconfig
@@ -25,7 +25,7 @@
################################################################################
comment "##############################"
-comment "uClibc C library configuration"
+comment "# uClibc C library configuration"
comment "##############################"
choice
@@ -154,6 +154,10 @@ if KEMBTK_UCLIBC_TARGET_arm
source kconfig/uclibc-kconfigs/uclibc-arm.kconfig
endif
+if KEMBTK_UCLIBC_TARGET_mips
+source kconfig/uclibc-kconfigs/uclibc-mips.kconfig
+endif
+
config KEMBTK_UCLIBC_TARGET_SUBARCH
string
default ""
diff --git a/mk/gcc.mk b/mk/gcc.mk
index 91d59d4..a9b4e99 100644
--- a/mk/gcc.mk
+++ b/mk/gcc.mk
@@ -130,6 +130,12 @@ else ifeq ($(CONFIG_EMBTK_64BITS_FS),y)
else ifeq ($(CONFIG_EMBTK_64BITS_FS_COMPAT32),y)
cp -d $(TOOLS)/$(STRICT_GNU_TARGET)/lib32/*.so* $(SYSROOT)/lib32/
endif
+ifeq ($(CONFIG_EMBTK_TARGET_ARCH_64BITS),y)
+ifeq ($(CONFIG_EMBTK_CLIB_UCLIBC),y)
+ $(Q)cd $(SYSROOT)/lib/; \
+ ln -s ld-uClibc.so.0 ld64-uClibc.so.0
+endif
+endif
@touch $@
$(GCC3_BUILD_DIR)/.configured: