From dd3d652af7ca6ff66409e9c2510fbe6810d42c13 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Mon, 20 Dec 2010 11:09:33 +0000 Subject: Now with added binutils svn path=/toolchains/; revision=11109 --- m68k-unknown-amigaos/Makefile | 50 ++++++++++++++++------ m68k-unknown-amigaos/recipes/patches/config.gcc.p | 17 -------- .../recipes/patches/gcc/config.gcc.p | 17 ++++++++ .../recipes/patches/gcc/config.host.p | 12 ++++++ 4 files changed, 65 insertions(+), 31 deletions(-) delete mode 100644 m68k-unknown-amigaos/recipes/patches/config.gcc.p create mode 100644 m68k-unknown-amigaos/recipes/patches/gcc/config.gcc.p create mode 100644 m68k-unknown-amigaos/recipes/patches/gcc/config.host.p (limited to 'm68k-unknown-amigaos') diff --git a/m68k-unknown-amigaos/Makefile b/m68k-unknown-amigaos/Makefile index 68b91a0..a5d1042 100644 --- a/m68k-unknown-amigaos/Makefile +++ b/m68k-unknown-amigaos/Makefile @@ -2,6 +2,11 @@ UPSTREAM_VERSION := 4.5.1 UPSTREAM_TARBALL := gcc-$(UPSTREAM_VERSION).tar.bz2 UPSTREAM_URI := http://ftp.gnu.org/gnu/gcc/gcc-$(UPSTREAM_VERSION)/$(UPSTREAM_TARBALL) +UPSTREAM_BINUTILS_VERSION := 2.14 +# Not a tarball; so sue me +UPSTREAM_BINUTILS_TARBALL := binutils-$(UPSTREAM_BINUTILS_VERSION) +UPSTREAM_BINUTILS_URI := https://adtools.svn.sourceforge.net/svnroot/adtools/tags/before-merge-with-binutils-2.18/binutils + UPSTREAM_GMP_VERSION := 4.3.2 UPSTREAM_GMP_TARBALL := gmp-$(UPSTREAM_GMP_VERSION).tar.bz2 UPSTREAM_GMP_URI := http://ftp.gnu.org/gnu/gmp/$(UPSTREAM_GMP_TARBALL) @@ -26,27 +31,27 @@ PREFIX ?= /usr/local/netsurf/cross/amiga68k/ TARGET_NAME := m68k-unknown-amigaos .PHONY: all install -all: $(BUILDSTEPS)/make.d +all: $(BUILDSTEPS)/toolchain.d install: $(BUILDSTEPS)/install.d -$(BUILDSTEPS)/install.d: $(BUILDSTEPS)/make.d +$(BUILDSTEPS)/install.d: $(BUILDSTEPS)/toolchain.d + cd $(BUILDDIR)/binutils/target && make install cd $(BUILDDIR) && make install touch $@ +$(BUILDSTEPS)/toolchain.d: $(BUILDSTEPS)/make.d $(BUILDSTEPS)/binutils.d + touch $@ + $(BUILDSTEPS)/make.d: $(BUILDSTEPS)/configure.d - cd $(BUILDDIR) && make all + cd $(BUILDDIR) && PATH="$(BUILDDIR)/binutils/bootstrap/prefix/bin:$(PATH)" make all touch $@ -$(BUILDSTEPS)/configure.d: $(BUILDSTEPS)/builddir.d - cd $(BUILDDIR) && $(SRCDIR)/configure --prefix=$(PREFIX) --target=$(TARGET_NAME) \ +$(BUILDSTEPS)/configure.d: $(BUILDSTEPS)/srcdir-step3.d + cd $(BUILDDIR) && PATH="$(BUILDDIR)/binutils/bootstrap/prefix/bin:$(PATH)" $(SRCDIR)/configure --prefix=$(PREFIX) --target=$(TARGET_NAME) \ --with-cpu=m68040 --disable-threads --disable-nls --disable-c-mbchar \ --enable-languages=c --enable-checking=no --enable-c99 --with-cross-host \ - --disable-multilib --without-x --enable-maintainer-mode - touch $@ - -$(BUILDSTEPS)/builddir.d: $(BUILDSTEPS)/srcdir-step3.d - mkdir -p $(BUILDDIR) + --enable-multilib --without-x --enable-maintainer-mode touch $@ $(BUILDSTEPS)/srcdir-step3.d: $(BUILDSTEPS)/srcdir-step2.d $(UPSTREAM_GMP_TARBALL) $(UPSTREAM_MPFR_TARBALL) $(UPSTREAM_MPC_TARBALL) @@ -59,14 +64,13 @@ $(BUILDSTEPS)/srcdir-step3.d: $(BUILDSTEPS)/srcdir-step2.d $(UPSTREAM_GMP_TARBAL touch $@ $(BUILDSTEPS)/srcdir-step2.d: $(BUILDSTEPS)/srcdir-step1.d - for p in `ls $(RECIPES)/patches/*.p` ; do patch -d $(SRCDIR) -p0 <$$p ; done + for p in `ls $(RECIPES)/patches/gcc/*.p` ; do patch -d $(SRCDIR) -p0 <$$p ; done for dir in `find $(RECIPES)/files -type d | grep -v '\.svn' | sed 's#$(RECIPES)/files/##'` ; do mkdir -p $(SRCDIR)/$$dir ; done for file in `find $(RECIPES)/files -type f | grep -v '\.svn' | sed 's#$(RECIPES)/files/##'` ; do cp -p $(RECIPES)/files/$$file $(SRCDIR)/$$file ; done touch $@ -$(BUILDSTEPS)/srcdir-step1.d: $(BUILDSTEPS)/orig.gcc.d - mkdir -p $(SRCDIR) - cp -r orig.gcc/* $(SRCDIR) +$(BUILDSTEPS)/srcdir-step1.d: $(BUILDSTEPS)/orig.gcc.d $(BUILDSTEPS)/bootstrap-binutils.d + ln -s orig.gcc $(SRCDIR) touch $@ $(BUILDSTEPS)/orig.gcc.d: $(BUILDSTEPS)/orig.gcc-$(UPSTREAM_TARBALL).d @@ -80,6 +84,21 @@ $(BUILDSTEPS)/orig.gcc-$(UPSTREAM_TARBALL).d: $(BUILDSTEPS)/buildsteps.d orig.gc orig.gcc-$(UPSTREAM_TARBALL): wget -q -O $@ $(UPSTREAM_URI) +# Ugh. Upstream binutils is not remotely 64-bit safe. +# Build a 32bit binary until this gets fixed +$(BUILDSTEPS)/binutils.d: $(UPSTREAM_BINUTILS_TARBALL) + mkdir -p $(BUILDDIR)/binutils/target + cd $(BUILDDIR)/binutils/target && CFLAGS="-m32" LDFLAGS="-m32" $(TOP)/binutils-$(UPSTREAM_BINUTILS_VERSION)/configure --prefix=$(PREFIX) --target=$(TARGET_NAME) + cd $(BUILDDIR)/binutils/target && make + touch $@ + +$(BUILDSTEPS)/bootstrap-binutils.d: $(UPSTREAM_BINUTILS_TARBALL) + mkdir -p $(BUILDDIR)/binutils/bootstrap + cd $(BUILDDIR)/binutils/bootstrap && CFLAGS="-m32" LDFLAGS="-m32" $(TOP)/binutils-$(UPSTREAM_BINUTILS_VERSION)/configure --prefix=$(BUILDDIR)/binutils/bootstrap/prefix --target=$(TARGET_NAME) + cd $(BUILDDIR)/binutils/bootstrap && make + cd $(BUILDDIR)/binutils/bootstrap && make install + touch $@ + $(UPSTREAM_GMP_TARBALL): wget -q -O $@ $(UPSTREAM_GMP_URI) @@ -89,6 +108,9 @@ $(UPSTREAM_MPFR_TARBALL): $(UPSTREAM_MPC_TARBALL): wget -q -O $@ $(UPSTREAM_MPC_URI) +$(UPSTREAM_BINUTILS_TARBALL): + svn co $(UPSTREAM_BINUTILS_URI) $@ + $(BUILDSTEPS)/buildsteps.d: mkdir -p $(BUILDSTEPS) touch $@ diff --git a/m68k-unknown-amigaos/recipes/patches/config.gcc.p b/m68k-unknown-amigaos/recipes/patches/config.gcc.p deleted file mode 100644 index 0f0438c..0000000 --- a/m68k-unknown-amigaos/recipes/patches/config.gcc.p +++ /dev/null @@ -1,17 +0,0 @@ ---- gcc/config.gcc 2010-12-16 13:06:35.000000000 +0000 -+++ gcc/config.gcc 2010-12-16 13:09:52.000000000 +0000 -@@ -1671,6 +1671,14 @@ - tm_defines="${tm_defines} MOTOROLA=1" - extra_parts="crtbegin.o crtend.o" - ;; -+m68k-*-amigaos*) -+ tmake_file="m68k/t-amigaos" -+ tm_file="${tm_file} m68k/amigaos.h" -+ tm_p_file="${tm_p_file} m68k/amigaos-protos.h" -+ tm_defines="${tm_defines} TARGET_AMIGAOS TARGET_DEFAULT=0" -+ extra_objs="amigaos.o" -+ gnu_ld=yes -+ ;; - mcore-*-elf) - tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h" - tmake_file=mcore/t-mcore diff --git a/m68k-unknown-amigaos/recipes/patches/gcc/config.gcc.p b/m68k-unknown-amigaos/recipes/patches/gcc/config.gcc.p new file mode 100644 index 0000000..0f0438c --- /dev/null +++ b/m68k-unknown-amigaos/recipes/patches/gcc/config.gcc.p @@ -0,0 +1,17 @@ +--- gcc/config.gcc 2010-12-16 13:06:35.000000000 +0000 ++++ gcc/config.gcc 2010-12-16 13:09:52.000000000 +0000 +@@ -1671,6 +1671,14 @@ + tm_defines="${tm_defines} MOTOROLA=1" + extra_parts="crtbegin.o crtend.o" + ;; ++m68k-*-amigaos*) ++ tmake_file="m68k/t-amigaos" ++ tm_file="${tm_file} m68k/amigaos.h" ++ tm_p_file="${tm_p_file} m68k/amigaos-protos.h" ++ tm_defines="${tm_defines} TARGET_AMIGAOS TARGET_DEFAULT=0" ++ extra_objs="amigaos.o" ++ gnu_ld=yes ++ ;; + mcore-*-elf) + tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file} mcore/mcore-elf.h" + tmake_file=mcore/t-mcore diff --git a/m68k-unknown-amigaos/recipes/patches/gcc/config.host.p b/m68k-unknown-amigaos/recipes/patches/gcc/config.host.p new file mode 100644 index 0000000..f13685e --- /dev/null +++ b/m68k-unknown-amigaos/recipes/patches/gcc/config.host.p @@ -0,0 +1,12 @@ +--- gcc/config.host 2010-12-20 02:28:16.000000000 +0000 ++++ gcc/config.host 2010-12-20 02:31:32.000000000 +0000 +@@ -264,4 +264,9 @@ + out_host_hook_obj=host-hpux.o + host_xmake_file="${host_xmake_file} x-hpux" + ;; ++ m68k-*-amigaos*) ++ host_xm_file="m68k/xm-amigaos.h" ++ host_xmake_file="m68k/x-amigaos" ++ out_host_hook_obj=host-amigaos.o ++ ;; + esac -- cgit v1.2.3