Written on 03/03/2018 by Steffest
Amiga C compilers
It seems there are 4 main options for Amiga C compilers
- made for cross platform compiling
- needs addiotional header files from os3.9 NDK
- it appears much easier to set this up outside the amiga using https://github.com/kusma/amiga-dev
- works ... if I ever want to compile on windows this seems a good way.
- Storm C
- a full IDE - not really needed
- V4 is still being sold here
- Found V3 on http://www.amigafuture.de/downloads.php?view=detail&df_id=664 but could not get it to work
- Ah ... the name of the install script is wrong (correct it in Install_storm_hd_english.info)
- And the install script refers to the folder "StormC_3.0" instead of "StormC_3_0" ->rename it
- Ok - it installs now.
- Works: Simple Hello-word compiles and runs - Yay!
- I like it. It seems to be the only mature C IDE on the Amiga?
- emeraldX11 code barfs though ... to investigate.
- the latest standalone version on aminet is 2.70, seems a bit old.
- This package is promising: http://aminet.net/package/dev/gcc/ADE
- Yes, this seems the one ... based on gcc 2.95
- I like that you can just park it somwhere, run 1 "ADE-Startup" scriopt and everything works, nothing to install, nothing to configure.
- I seems to compile the sources I used for my emscripten port nicely - ACE! Got myself a working Amiga binary.
- Gcc 6.2 was ported back to 68k atari: http://d-bug.mooo.com/beyondbrown/post/gcc-6/ - cool!
- also very cool ,to check out if I ever take on Assembler: online C to assembler tool: http://brownbot.hopto.org/
After some fiddling I decided to go with GCC 2.95 on the amiga.
Would there be any performance differences in the final binary when using different compilers? To test.
- It appears Sas/C produces much smaller binaries than GCC
- to autogenerate the smakefile use "mkmk" in the sourcedir
- to build the smakefile use "smake"
- bottom line: I like Sas/C - let's go with that.
After some time I forgot how to get a SAS/C environment up and running when you start with a fresh Amiga system, so here's a reminder for myself.
SAS/C needs some assigns:
- SC: - The main installation folder and assign containing the programs, libraries, headers and sample code.
- SC:C - The compiler program files (added to path)
- LIB: - The SAS/C and Amiga link library files
- INCLUDE: - The C compiler and amiga NDUK header files
- CXXINCLUDE: - The C++ compiler header files
In my case that adds to
ASSIGN SC: DH1:sc
ASSIGN LIB: DH1:sc/lib
ASSIGN INCLUDE: DH1:sc/include
ASSIGN CXXINCLUDE: DH1:sc/cxxinclude
PATH DH1:sc/c ADD
then use mkmk to generate a smakefile and smake to compile it
This article is part of the Wanderings in Amiga dev-land