Open main menu

Aram's Wiki β

Sega Genesis (m68k, z80) GCC 9.3.0 cross-compiler instructions


Contents

Introduction

We'll build a GCC 9.3.0 targeting m68k (Sega Genesis).

Create directories

cd $HOME
mkdir -p src obj/{binutils-build,gcc-build,gdb-build,newlib-build}

Get GCC, GDB and binutils

Download prerequisites

cd $HOME/src/gcc-9.3.0
./contrib/download_prerequisites

Build and install binutils

cd $HOME/obj/binutils-build
../../src/binutils-2.34/configure --prefix $HOME/xgcc --bindir $HOME/bin --target m68k-elf --with-cpu=m68000
make -j8 && make install

Build and install gdb

cd $HOME/obj/gdb-build
../../src/gdb-9.1/configure --prefix $HOME/xgcc --bindir $HOME/bin --target m68k-elf --with-cpu=m68000
make -j8 && make install

Build and install bare metal gcc

cd $HOME/obj/gcc-build
../../src/gcc-9.3.0/configure --prefix $HOME/xgcc --bindir $HOME/bin --target m68k-elf --with-cpu=m68000 --enable-languages=c --with-gnu-as --with-gnu-ld --without-headers --with-newlib
make -j8 all-gcc && make install-gcc

Build and install newlib

cd $HOME/obj/newlib-build
../../src/newlib-3.3.0/configure --prefix $HOME/xgcc --bindir $HOME/bin --target m68k-elf --with-cpu=m68000
make -j8 all && make install

Build and install newlib gcc

rm -rf $HOME/obj/gcc-build && mkdir -p $HOME/obj/gcc-build
cd $HOME/obj/gcc-build
../../src/gcc-9.3.0/configure --prefix $HOME/xgcc --bindir $HOME/bin --target m68k-elf --with-cpu=m68000 --enable-languages=c --with-gnu-as --with-gnu-ld --with-newlib
make -j8 all && make install

Build and install binutils for z80

rm -rf $HOME/obj/binutils-build && mkdir -p $HOME/obj/binutils-build
cd $HOME/obj/binutils-build
../../src/binutils-2.34/configure --prefix $HOME/xgcc --bindir $HOME/bin --target z80-coff
make -j8 && make install