diff --git a/README b/README index 11c21e8..fff0e95 100644 --- a/README +++ b/README @@ -5,13 +5,14 @@ This project enables one to build m68k-amigaos toolchain on your un*x like platform with minimum hassle. Thanks to it you should get complete environment targeting m68k-amigaos with: * gcc 2.95.3 - * g++ 2.95.2 + libstdc++ + * g++ 2.95.3 + libstdc++ * binutils 2.9.1 (assembler, linker, etc.) * libnix 2.1 (standard ANSI/C library replacement for AmigaOS) * AmigaOS headers & libraries (for AmigaOS 3.9) Tested on: * Ubuntu 10.04 ia32 + * MacOS X 10.7 Prerequisites (look at bootstrap.conf file): * installed locally: @@ -23,7 +24,7 @@ Prerequisites (look at bootstrap.conf file): * sources from GNU project: - gcc 2.95.3 - binutils 2.9.1 - - bison 1.28 + - bison 1.35 * Amiga specific sources & binaries: - libnix 2.1 - AmigaOS NDK 3.9 @@ -38,7 +39,6 @@ Usage: TODO: * Testing on: - - MacOS X 10.7 - Cygwin * Remove dependencies: - libamiga-bin diff --git a/bootstrap.sh b/bootstrap.sh index 94ad4f4..b52b52b 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -265,6 +265,20 @@ function build_ixemul { } function build { + # On 64-bit architecture GNU Assembler crashes writing out an object, due to + # (probably) miscalculated structure sizes. There could be some other bugs + # lurking there in 64-bit mode, but I have little incentive chasing them. + # Just compile everything in 32-bit mode and forget about the issues. + if [ "$(uname -m)" == "x86_64" ]; then + CFLAGS="-m32" + else + CFLAGS="" + fi + + # Make sure we always choose known compiler (from the distro) and not one + # in user's path that could shadow the original one. + export CC="/usr/bin/gcc ${CFLAGS}" + prepare_target unpack_sources build_tools