diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2014-03-04 21:08:32 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2014-03-04 21:08:32 +0100 |
commit | bce426f33b4619e49f8040b8f47a17d0772eb083 (patch) | |
tree | 6a6b6e1f34f13d045489abd14f4138feb56bb1cf /toolchain | |
parent | 76673934d3c65b7340089214d690aa996ced9239 (diff) | |
parent | 3466b70bbf4786274fe5c9028653264fb6239c4f (diff) |
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'toolchain')
-rw-r--r-- | toolchain/Makefile | 4 | ||||
-rw-r--r-- | toolchain/binutils/Makefile | 2 | ||||
-rw-r--r-- | toolchain/gcc/Makefile | 33 | ||||
-rw-r--r-- | toolchain/gdb/Makefile | 4 | ||||
-rw-r--r-- | toolchain/glibc/Makefile | 7 | ||||
-rw-r--r-- | toolchain/glibc/Makefile.inc | 10 | ||||
-rw-r--r-- | toolchain/glibc/patches/glibc-cross.patch | 33 | ||||
-rw-r--r-- | toolchain/glibc/patches/sparc64.patch | 21 | ||||
-rw-r--r-- | toolchain/musl/Makefile | 25 | ||||
-rw-r--r-- | toolchain/uClibc/Makefile | 7 |
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 |