summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-03-04 21:08:32 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2014-03-04 21:08:32 +0100
commitbce426f33b4619e49f8040b8f47a17d0772eb083 (patch)
tree6a6b6e1f34f13d045489abd14f4138feb56bb1cf /toolchain
parent76673934d3c65b7340089214d690aa996ced9239 (diff)
parent3466b70bbf4786274fe5c9028653264fb6239c4f (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/Makefile4
-rw-r--r--toolchain/binutils/Makefile2
-rw-r--r--toolchain/gcc/Makefile33
-rw-r--r--toolchain/gdb/Makefile4
-rw-r--r--toolchain/glibc/Makefile7
-rw-r--r--toolchain/glibc/Makefile.inc10
-rw-r--r--toolchain/glibc/patches/glibc-cross.patch33
-rw-r--r--toolchain/glibc/patches/sparc64.patch21
-rw-r--r--toolchain/musl/Makefile25
-rw-r--r--toolchain/uClibc/Makefile7
10 files changed, 60 insertions, 86 deletions
diff --git a/toolchain/Makefile b/toolchain/Makefile
index 933a919c7..db5f65fd5 100644
--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -56,8 +56,8 @@ endif
$(STAGING_HOST_DIR):
@mkdir -p $(STAGING_HOST_DIR)/lib
@mkdir -p $(STAGING_HOST_DIR)/include
- @mkdir -p $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)
- @ln -sf ../lib $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/lib
+ @mkdir -p $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)
+ @ln -sf ../lib $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/lib
%-download:
$(TRACE) toolchain/$(patsubst %-download,%,$@)/download
diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile
index 201f8538c..8ebbea53c 100644
--- a/toolchain/binutils/Makefile
+++ b/toolchain/binutils/Makefile
@@ -29,7 +29,7 @@ $(WRKBUILD)/.configured:
(cd $(WRKBUILD); \
$(WRKBUILD)/configure \
--prefix=$(STAGING_HOST_DIR) \
- --target=$(REAL_GNU_TARGET_NAME) \
+ --target=$(GNU_TARGET_NAME) \
--with-sysroot=$(STAGING_TARGET_DIR) \
--disable-multilib \
--disable-dependency-tracking \
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 4eba65b87..138e3a0d0 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -12,7 +12,7 @@ GCC_CONFOPTS= --prefix=$(STAGING_HOST_DIR) \
--with-bugurl="http://www.openadk.org/" \
--build=$(GNU_HOST_NAME) \
--host=$(GNU_HOST_NAME) \
- --target=$(REAL_GNU_TARGET_NAME) \
+ --target=$(GNU_TARGET_NAME) \
--with-gmp=$(STAGING_HOST_DIR) \
--with-mpfr=$(STAGING_HOST_DIR) \
--with-libelf=$(STAGING_HOST_DIR) \
@@ -100,6 +100,10 @@ ifeq ($(ADK_CPU_CORTEX_A9),y)
GCC_CONFOPTS+= --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=neon
endif
+ifeq ($(ADK_CPU_SPARC_V9),y)
+GCC_CONFOPTS+= --with-cpu=ultrasparc
+endif
+
ifneq ($(ADK_TARGET_MIPS_ABI),)
GCC_CONFOPTS+= --with-abi=${ADK_TARGET_MIPS_ABI}
endif
@@ -122,10 +126,10 @@ GCC_BUILD_DIR_FINAL:= $(WRKBUILD)-final
$(GCC_BUILD_DIR_MINIMAL)/.configured:
mkdir -p $(GCC_BUILD_DIR_MINIMAL)
# these symlinks are very important, do not remove
- rm -rf $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include
- ln -sf ${STAGING_TARGET_DIR}/usr/include $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include
- rm -rf ${STAGING_HOST_DIR}/$(REAL_GNU_TARGET_NAME)/lib
- ln -sf ${STAGING_TARGET_DIR}/lib $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/lib
+ rm -rf $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/sys-include
+ ln -sf ${STAGING_TARGET_DIR}/usr/include $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/sys-include
+ rm -rf ${STAGING_HOST_DIR}/$(GNU_TARGET_NAME)/lib
+ ln -sf ${STAGING_TARGET_DIR}/lib $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/lib
ifeq ($(ADK_LINUX_SH),y)
(cd ${STAGING_TARGET_DIR}/ && ln -sf . m4 && ln -sf . m4-nofpu)
endif
@@ -182,29 +186,20 @@ $(WRKBUILD)/.compiled: $(GCC_BUILD_DIR_FINAL)/.configured
$(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
PATH='$(TARGET_PATH)' $(MAKE) -C $(GCC_BUILD_DIR_FINAL) install
- # Set up the symlinks to enable lying about target name
- set -e; \
- cd $(STAGING_HOST_DIR); \
- ln -sf $(REAL_GNU_TARGET_NAME) $(GNU_TARGET_NAME); \
- cd bin; \
- for app in $(REAL_GNU_TARGET_NAME)-* ; do \
- ln -sf $${app} \
- $(GNU_TARGET_NAME)$${app##$(REAL_GNU_TARGET_NAME)}; \
- done;
# remove duplicate tools, convert hardlinks to symlinks
set -e; \
cd $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/bin; \
for app in ar as c++ g++ gcc ld ld.bfd nm objcopy objdump ranlib strip; do \
- ln -sf ../../bin/$(REAL_GNU_TARGET_NAME)-$${app} $${app}; \
+ ln -sf ../../bin/$(GNU_TARGET_NAME)-$${app} $${app}; \
done;
(cd $(STAGING_HOST_DIR)/bin && \
- ln -sf $(REAL_GNU_TARGET_NAME)-gcc $(REAL_GNU_TARGET_NAME)-gcc-${PKG_VERSION})
+ ln -sf $(GNU_TARGET_NAME)-gcc $(GNU_TARGET_NAME)-gcc-${PKG_VERSION})
# setup symlink, so that gcc/g++ find cc1plus
- (cd $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/ && \
+ (cd $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/ && \
ln -sf ../libexec .)
# setup symlink, so that gcc/g++ find stddef.h
- (cd $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/lib/ && \
- ln -sf ../../host_${CPU_ARCH}_${ADK_TARGET_SUFFIX}_${ADK_TARGET_LIBC}/lib/gcc .)
+ (cd $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/lib/ && \
+ ln -sf ../../host_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_SUFFIX}/lib/gcc .)
# fix linking g++ apps with libtool
@-test -d $(STAGING_TARGET_DIR)/lib32 && \
cd $(STAGING_TARGET_DIR)/lib32 && \
diff --git a/toolchain/gdb/Makefile b/toolchain/gdb/Makefile
index c56ed99f9..a66e3fe7d 100644
--- a/toolchain/gdb/Makefile
+++ b/toolchain/gdb/Makefile
@@ -18,7 +18,7 @@ $(WRKBUILD)/.configured:
--prefix=$(STAGING_HOST_DIR) \
--build=$(GNU_HOST_NAME) \
--host=$(GNU_HOST_NAME) \
- --target=$(REAL_GNU_TARGET_NAME) \
+ --target=$(GNU_TARGET_NAME) \
--disable-dependency-tracking \
--without-uiout \
--enable-gdbmi \
@@ -41,8 +41,6 @@ $(WRKBUILD)/.compiled:
$(WRKBUILD)/.installed:
install -c $(WRKBUILD)/gdb/gdb $(TARGET_CROSS)gdb
- cd $(STAGING_HOST_DIR)/bin && \
- ln -fs $(TARGET_CROSS)gdb $(GNU_TARGET_NAME)-gdb
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile
index 00bd67cbc..41987bada 100644
--- a/toolchain/glibc/Makefile
+++ b/toolchain/glibc/Makefile
@@ -73,8 +73,11 @@ $(WRKBUILD)/.fixup:
-find $(STAGING_TARGET_DIR) -type f -name \*_pic\* -delete
rm -rf $(STAGING_TARGET_DIR)/usr/share/locale $(STAGING_TARGET_DIR)/usr/share/i18n
rm -rf $(STAGING_TARGET_DIR)/usr/lib/gconv
- PATH="$(TARGET_PATH)" debug='' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
- debug='' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)/bin $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/
+ifeq ($(ADK_TOOLCHAIN),y)
+ # strip target libs and host tools for toolchain builds
+ PATH="$(TARGET_PATH)" debug='0' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
+ debug='0' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)/bin $(STAGING_HOST_DIR)/$(GNU_TARGET_NAME)/
+endif
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/glibc/Makefile.inc b/toolchain/glibc/Makefile.inc
index e28405643..3c1a3167d 100644
--- a/toolchain/glibc/Makefile.inc
+++ b/toolchain/glibc/Makefile.inc
@@ -7,7 +7,7 @@ PKG_RELEASE:= 1
PKG_MD5SUM:= 5374d29864b583622b62bfc6b8429418
PKG_SITES:= ${MASTER_SITE_GNU:=glibc/}
GLIBC_CONFOPTS:= --build=$(GNU_HOST_NAME) \
- --host=$(REAL_GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
--with-headers=$(STAGING_TARGET_DIR)/usr/include \
--disable-sanity-checks \
--disable-nls \
@@ -23,10 +23,10 @@ GLIBC_CONFOPTS:= --build=$(GNU_HOST_NAME) \
GLIBC_ENV:= PATH='${TARGET_PATH}' \
BUILD_CC=${CC_FOR_BUILD} \
CFLAGS="$(TARGET_CFLAGS_LIBC)" \
- CC=${REAL_GNU_TARGET_NAME}-gcc \
- CXX=${REAL_GNU_TARGET_NAME}-g++ \
- AR=${REAL_GNU_TARGET_NAME}-ar \
- RANLIB=${REAL_GNU_TARGET_NAME}-ranlib \
+ CC=${GNU_TARGET_NAME}-gcc \
+ CXX=${GNU_TARGET_NAME}-g++ \
+ AR=${GNU_TARGET_NAME}-ar \
+ RANLIB=${GNU_TARGET_NAME}-ranlib \
libc_cv_forced_unwind=yes \
libc_cv_cc_with_libunwind=yes \
libc_cv_c_cleanup=yes \
diff --git a/toolchain/glibc/patches/glibc-cross.patch b/toolchain/glibc/patches/glibc-cross.patch
index 4084fd20d..a1903179d 100644
--- a/toolchain/glibc/patches/glibc-cross.patch
+++ b/toolchain/glibc/patches/glibc-cross.patch
@@ -1,8 +1,8 @@
-diff -Nur glibc-2.18.orig/sunrpc/rpc/types.h glibc-2.18/sunrpc/rpc/types.h
---- glibc-2.18.orig/sunrpc/rpc/types.h 2013-08-11 00:52:55.000000000 +0200
-+++ glibc-2.18/sunrpc/rpc/types.h 2013-09-13 08:25:18.000000000 +0200
-@@ -69,19 +69,25 @@
- #include <sys/types.h>
+diff -Nur glibc-2.19.orig/sunrpc/rpc/types.h glibc-2.19/sunrpc/rpc/types.h
+--- glibc-2.19.orig/sunrpc/rpc/types.h 2014-02-07 10:04:38.000000000 +0100
++++ glibc-2.19/sunrpc/rpc/types.h 2014-03-03 13:42:42.000000000 +0100
+@@ -74,19 +74,24 @@
+ # define __daddr_t_defined
#endif
-#ifndef __u_char_defined
@@ -18,15 +18,14 @@ diff -Nur glibc-2.18.orig/sunrpc/rpc/types.h glibc-2.18/sunrpc/rpc/types.h
+typedef unsigned short u_short;
+typedef unsigned int u_int;
+typedef unsigned long u_long;
-+#if __WORDSIZE == 64
++#if __WORDSIZE == 64
++#ifndef __APPLE__
+typedef long int quad_t;
+typedef unsigned long int u_quad_t;
++#endif
+#elif defined __GLIBC_HAVE_LONG_LONG
+typedef long long int quad_t;
+typedef unsigned long long int u_quad_t;
-+#endif
-+#if defined(_CROSS_RPCGEN_)
-+typedef u_quad_t fsid_t;
#endif
-#ifndef __daddr_t_defined
-typedef __daddr_t daddr_t;
@@ -39,14 +38,14 @@ diff -Nur glibc-2.18.orig/sunrpc/rpc/types.h glibc-2.18/sunrpc/rpc/types.h
# define __daddr_t_defined
#endif
-diff -Nur glibc-2.18.orig/sunrpc/rpc_main.c glibc-2.18/sunrpc/rpc_main.c
---- glibc-2.18.orig/sunrpc/rpc_main.c 2013-08-11 00:52:55.000000000 +0200
-+++ glibc-2.18/sunrpc/rpc_main.c 2013-09-13 08:26:07.000000000 +0200
+diff -Nur glibc-2.19.orig/sunrpc/rpc_main.c glibc-2.19/sunrpc/rpc_main.c
+--- glibc-2.19.orig/sunrpc/rpc_main.c 2014-02-07 10:04:38.000000000 +0100
++++ glibc-2.19/sunrpc/rpc_main.c 2014-03-04 07:12:00.000000000 +0100
@@ -38,7 +38,11 @@
#include <stdio.h>
#include <string.h>
#include <unistd.h>
-+#ifdef _CROSS_RPCGEN_
++#ifdef __APPLE__
+#define gettext(X) (X)
+#else
#include <libintl.h>
@@ -70,14 +69,14 @@ diff -Nur glibc-2.18.orig/sunrpc/rpc_main.c glibc-2.18/sunrpc/rpc_main.c
}
else
-diff -Nur glibc-2.18.orig/sunrpc/rpc_scan.c glibc-2.18/sunrpc/rpc_scan.c
---- glibc-2.18.orig/sunrpc/rpc_scan.c 2013-08-11 00:52:55.000000000 +0200
-+++ glibc-2.18/sunrpc/rpc_scan.c 2013-09-13 08:25:18.000000000 +0200
+diff -Nur glibc-2.19.orig/sunrpc/rpc_scan.c glibc-2.19/sunrpc/rpc_scan.c
+--- glibc-2.19.orig/sunrpc/rpc_scan.c 2014-02-07 10:04:38.000000000 +0100
++++ glibc-2.19/sunrpc/rpc_scan.c 2014-03-04 07:11:29.000000000 +0100
@@ -37,7 +37,11 @@
#include <stdio.h>
#include <ctype.h>
#include <string.h>
-+#ifdef _CROSS_RPCGEN_
++#ifdef __APPLE__
+#define gettext(X) (X)
+#else
#include <libintl.h>
diff --git a/toolchain/glibc/patches/sparc64.patch b/toolchain/glibc/patches/sparc64.patch
deleted file mode 100644
index c8ff7ce9f..000000000
--- a/toolchain/glibc/patches/sparc64.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Nur glibc-2.12.1.orig/sysdeps/sparc/sparc64/Makefile glibc-2.12.1/sysdeps/sparc/sparc64/Makefile
---- glibc-2.12.1.orig/sysdeps/sparc/sparc64/Makefile 2010-07-27 13:34:39.000000000 +0200
-+++ glibc-2.12.1/sysdeps/sparc/sparc64/Makefile 2011-01-01 23:58:16.370676501 +0100
-@@ -1,3 +1,5 @@
-+sysdep-CFLAGS += -mcpu=v9 -Wa,-Av9a
-+
- ifeq ($(subdir),csu)
- sysdep_routines += hp-timing
- elide-routines.os += hp-timing
-@@ -10,3 +12,11 @@
- ifeq ($(subdir),string)
- sysdep_routines += align-cpy
- endif
-+
-+ASFLAGS-.o += -Wa,-Av9a
-+ASFLAGS-.os += -Wa,-Av9a
-+ASFLAGS-.op += -Wa,-Av9a
-+ASFLAGS-.og += -Wa,-Av9a
-+ASFLAGS-.ob += -Wa,-Av9a
-+ASFLAGS-.oS += -Wa,-Av9a
-+
diff --git a/toolchain/musl/Makefile b/toolchain/musl/Makefile
index b94c4e916..aa5e8845c 100644
--- a/toolchain/musl/Makefile
+++ b/toolchain/musl/Makefile
@@ -7,25 +7,19 @@ include Makefile.inc
include ${TOPDIR}/mk/buildhlp.mk
ifeq ($(CPU_ARCH),ppc)
-REAL_GNU_TARGET_NAME:= $(subst ppc,powerpc,$(REAL_GNU_TARGET_NAME))
+GNU_TARGET_NAME:= $(subst ppc,powerpc,$(GNU_TARGET_NAME))
endif
ifeq ($(CPU_ARCH),mips64el)
-REAL_GNU_TARGET_NAME:= $(subst mips64el,mips,$(REAL_GNU_TARGET_NAME))
+GNU_TARGET_NAME:= $(subst mips64el,mips,$(GNU_TARGET_NAME))
endif
ifeq ($(CPU_ARCH),mips64)
-REAL_GNU_TARGET_NAME:= $(subst mips64,mips,$(REAL_GNU_TARGET_NAME))
-endif
-ifeq ($(CPU_ARCH),microblazeel)
-REAL_GNU_TARGET_NAME:= $(subst microblazeel,microblaze,$(REAL_GNU_TARGET_NAME))
-endif
-ifeq ($(CPU_ARCH),sh4)
-REAL_GNU_TARGET_NAME:= $(subst sh4,sh,$(REAL_GNU_TARGET_NAME))
+GNU_TARGET_NAME:= $(subst mips64,mips,$(GNU_TARGET_NAME))
endif
$(WRKBUILD)/.headers:
(cd $(WRKBUILD); CC='$(TARGET_CC)' CROSS_COMPILE='$(TARGET_CROSS)' \
./configure --prefix=/usr \
- --target=$(REAL_GNU_TARGET_NAME) \
+ --target=$(GNU_TARGET_NAME) \
--disable-gcc-wrapper \
)
$(MAKE) -C $(WRKBUILD) DESTDIR=$(STAGING_TARGET_DIR) install-headers
@@ -37,7 +31,7 @@ $(WRKBUILD)/.compiled:
$(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) clean
(cd $(WRKBUILD); CC='$(TARGET_CC)' CROSS_COMPILE='$(TARGET_CROSS)' \
./configure --prefix=/usr \
- --target=$(REAL_GNU_TARGET_NAME) \
+ --target=$(GNU_TARGET_NAME) \
--disable-gcc-wrapper \
)
$(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) all
@@ -52,15 +46,18 @@ $(WRKBUILD)/.fixup:
$(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) clean
(cd $(WRKBUILD); CC='$(TARGET_CC)' CROSS_COMPILE='$(TARGET_CROSS)' \
./configure --prefix=/usr \
- --target=$(REAL_GNU_TARGET_NAME) \
+ --target=$(GNU_TARGET_NAME) \
--disable-gcc-wrapper \
)
$(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) all
$(MAKE) -C $(WRKBUILD) DESTDIR=$(STAGING_TARGET_DIR) install
# cleanup toolchain
-find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
- PATH="$(TARGET_PATH)" debug='' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
- debug='' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
+ifeq ($(ADK_TOOLCHAIN),y)
+ # strip target libs and host tools for toolchain builds
+ PATH="$(TARGET_PATH)" debug='0' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
+ debug='0' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
+endif
touch $@
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile
index 7e53b5d21..4ee9af510 100644
--- a/toolchain/uClibc/Makefile
+++ b/toolchain/uClibc/Makefile
@@ -120,8 +120,11 @@ endif
ln -s libc.so.0 $(STAGING_TARGET_DIR)/lib/libc.so
# cleanup toolchain
-find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
- PATH="$(TARGET_PATH)" debug='' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
- debug='' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
+ifeq ($(ADK_TOOLCHAIN),y)
+ # strip target libs and host tools for toolchain builds
+ PATH="$(TARGET_PATH)" debug='0' prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_TARGET_DIR)
+ debug='0' prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh $(STAGING_HOST_DIR)
+endif
touch $@
include ${TOPDIR}/mk/toolchain.mk