summaryrefslogtreecommitdiff
path: root/m68k-unknown-amigaos
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2010-12-20 11:09:33 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2010-12-20 11:09:33 +0000
commitdd3d652af7ca6ff66409e9c2510fbe6810d42c13 (patch)
treec229471b57378276273ba78cc749e74b8ceb54ff /m68k-unknown-amigaos
parente665b9bf7357581b476631fb0b3e932560f8c67a (diff)
downloadtoolchains-dd3d652af7ca6ff66409e9c2510fbe6810d42c13.tar.gz
toolchains-dd3d652af7ca6ff66409e9c2510fbe6810d42c13.tar.bz2
Now with added binutils
svn path=/toolchains/; revision=11109
Diffstat (limited to 'm68k-unknown-amigaos')
-rw-r--r--m68k-unknown-amigaos/Makefile50
-rw-r--r--m68k-unknown-amigaos/recipes/patches/gcc/config.gcc.p (renamed from m68k-unknown-amigaos/recipes/patches/config.gcc.p)0
-rw-r--r--m68k-unknown-amigaos/recipes/patches/gcc/config.host.p12
3 files changed, 48 insertions, 14 deletions
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/gcc/config.gcc.p
index 0f0438c..0f0438c 100644
--- a/m68k-unknown-amigaos/recipes/patches/config.gcc.p
+++ b/m68k-unknown-amigaos/recipes/patches/gcc/config.gcc.p
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