Experimental AmigaOS cross compiler for Linux / MacOSX / Windows based on GCC 6.x
Go to file
Krystian Bacławski 33611fc4b2 Unify the way GNU Make is invoked. 2015-09-02 10:46:05 +02:00
examples Various fixes bundled together. May fix compilation issues on Linux. 2014-02-06 17:22:19 +01:00
patches Fix fd2sfd patch. 2015-08-31 20:31:35 +02:00
scripts Various fixes bundled together. May fix compilation issues on Linux. 2014-02-06 17:22:19 +01:00
sdk Installation scripts for som external libraries. 2014-11-20 10:51:32 +01:00
tools Add ELF2HUNK tool from AROS distribution. 2014-01-04 23:40:49 +01:00
.gitignore Add missing patches. 2015-08-29 16:56:06 +02:00
README.md Note the fact we can build a toolchain for ppc as well. 2015-08-29 12:43:22 +02:00
common.py Unify the way GNU Make is invoked. 2015-09-02 10:46:05 +02:00
install-sdk.sh Installation scripts for som external libraries. 2014-11-20 10:51:32 +01:00
toolchain-dev Unify the way GNU Make is invoked. 2015-09-02 10:46:05 +02:00
toolchain-m68k Unify the way GNU Make is invoked. 2015-09-02 10:46:05 +02:00
toolchain-ppc Unify the way GNU Make is invoked. 2015-09-02 10:46:05 +02:00

README.md

AmigaOS cross compiler for Linux / MacOSX / Windows

Author: Krystian Bacławski

Short description: Cross toolchain build script for AmigaOS m68k and ppc targets. Supported host platforms are Linux, MacOSX and Windows (Cygwin).

Overview

amigaos-cross-toolchain project provides an easy way to build AmigaOS 3.x (m68k) and ppc AmigaOS 4.x (ppc) target toolchain in a Unix-like environment.

Build process should produce following set of tools for m68k-amigaos target:

  • gcc 2.95.3
  • g++ 2.95.3
  • libstdc++ 2.10
  • binutils 2.9.1 (assembler, linker, etc.)
  • libnix 2.2 (standard ANSI/C library replacement for AmigaOS)
  • libm 5.4 (provides math library implementation for non-FPU Amigas)
  • AmigaOS headers & libraries & autodocs (for AmigaOS 3.9)
  • vbcc toolchain (most recent release) including vasm, vlink and C standard library

... and following set of tools for ppc-amigaos target:

  • gcc 4.2.4
  • g++ 4.2.4
  • binutils 2.18 (assembler, linker, etc.)
  • newlib
  • clib 2.2
  • AmigaOS headers & libraries & autodocs (for AmigaOS 4.1)

Note: Patches are welcome!

Downloads

There are no binary downloads provided for the time being. I do as much as possible to make the toolchain portable among Unix-like environments. Following platforms were tested and the toolchain is known to work for them:

  • Cygwin 1.7.18 (gcc 4.5.3)
  • Ubuntu 14.04 LTS 32-bit (gcc 4.8.2)
  • Ubuntu 14.04 LTS 64-bit (gcc 4.8.2) Requires gcc-multilib package, and i386 libraries!
  • MacOS X 10.9.3 (MacPorts - Apple's clang-503.0.40)

Documentation

Documentation from Free Software Fundation:

Texinfo documents from GeekGadgets converted into HTML:

AmigaOS specific documents:

Compiling

Firstly… you should have basic understanding of Unix console environment, really ;-)

Prerequisites

You have to have following packages installed in your system:

  • GNU gcc 4.x 32-bit version!
  • GNU make 3.x
  • perl 5.10
  • libncurses5-dev 32-bit version!
  • git
  • subversion
  • wget
  • patch

For MacOSX users: you'll likely need to have MacPorts or Homebrew installed in order to build the toolchain.

How to build?

Warning: Building with sudo is not recommended. I'm not responsible for any damage to your system.

Follow steps listed below:

  1. Fetch amigaos-cross-toolchain project to your local drive:

git clone git://github.com/cahirwpz/amigaos-cross-toolchain.git

cd amigaos-cross-toolchain


2. Run `toolchain-m68k` or `toolchain-ppc` script (with `--prefix` option to specify where to install the toolchain). Note, that the destination directory must be writable by the user. 

    ```
# ./toolchain-m68k --prefix=/opt/m68k-amigaos make
  1. Wait for the result :-)

  2. (optional) Install additional SDKs (e.g. AHI, CyberGraphX, Magic User Interface, etc.):

export PATH=/opt/m68k-amigaos/bin:$PATH

./install-sdk.sh --prefix=/opt/m68k-amigaos ahi cgx mui


**Note:** *If the build process fails, please write me an e-mail.  I'll try to help out. Don't forget to put into e-mail as much data about your environment as possible!*