Development tools

From SpareMiNT Wiki
Jump to: navigation, search

Contents

C Compilers

Generally there are 2 groups of C compilers for Atari platform:

  • ANSI C compilers like PureC, Lattice C and AHCC with their own set of tools (linker, debugger) and GEM based IDE. They typically work with DRI object format plus variable amount of their own, proprietary ones.
  • Command line compilers like GCC (C,C++) or VBCC (ANSI C99). For these tools object format isn't that important anymore because a linker has ability to export many formats.

Please note you can't mix libraries compiled with compilers from first group with programs compiled with compilers from second group and vice versa. GCC and VBCC use a.out as one of their input/output formats so there is some interoperability possible.

GCC is traditionally the most used compiler in FreeMiNT environment, not only because FreeMiNT as whole can be compiled only with GCC but also because most of unix tools can be compiled straight away with FreeMiNT GCC with no changes. Another important thing is that some older compilers are very outdated and have problems running in modern FreeMiNT environment -- notably in XaAES and on file systems with long names support.

For a long time version 2.95.3 was the only official version used for building FreeMiNT but currently FreeMiNT community can use even newest versions (currently 4.5.1). Official version can be found here, unofficial builds for example here (currently 4.4.3).

The downside is that current GCC is a very heavy and complex suite of tools, requiring lots of RAM and a quick CPU to be usable. Cross compiling on a modern computer running Linux, OSX or Windows is recommended for best performance. You can take a look at Vincent Rivière's website for Windows (Cygwin) binaries, Ubuntu binaries, and patches for compiling FreeMiNT-aware GCC toolchain on any POSIX based system (Linux, *BSD, Mac OS X, ...).


Hint

Altough GCC is not able to produce libs that can be used with the native compilers, it can add DRI debugging symbols to the final executable by adding the -Wl,--traditional-format option on the GCC command line when linking. This allows the user to debug GCC binaries with tools like Devpac's MonST.


ColdFire

If you want to create binaries that runs natively on a ColdFire computer, you will have to use AHCC, native GCC or GCC cross-tools. AHCC can also produce binaries that runs on both 68020-60 and ColdFire.

Cross Compilers

It is reasonable to compile with GCC under aranym or fast Atari machines, but you can compile even faster when running GCC as cross compiler for m68k-atari-mint, Vincent Riviere has created and maintains the m68k-atari-mint GCC port. If you want to install sparemint RPM packages or want to install libraries with the pkg-config tool to your Cross-Compiler environment, read Setting up an FreeMiNT Cross-Compiler Environment.


Debugging Tools

  • GDB
    • This is probably the prefered way to debug applications compiled with GCC.
  • Paral debugger
    • Graphical debugger for FreeMiNT - a bit outdated.
  • Digger
    • A very good interactive disassembler.
  • [1]
    • modern re-release (with source) on A-Debug.


Resource Editors

Personal tools
Resources