Amiga.org
Amiga computer related discussion => Amiga Software Issues and Discussion => Topic started by: freqmax on June 09, 2013, 04:30:27 PM
-
What are the options for free C Compilers on Amiga ..?
Both under AmigaOS-68k environment and crosscompiled from Unix.
Ie like Borland Turbo C & Bcc..
(assembler can be handy too)
-
VBCC is pretty good: http://sun.hasenbraten.de/vbcc/
-
you can set up GCC to compile for 68k
-
If you want to cross compile from Linux:
http://cross.zerohero.se/os3.html
If you want to cross compile from Windows:
http://amidevcpp.amiga-world.de/index.php?HR_LANG=english
On real hardware use SAS/C 6.58 (get it from TOSEC on archive.org) or VBCC (You'll need the NDK from Amiga. com or Haage &Partner website).
If you want to use GCC on real hardware without committing suicide during the installation process then get Cubic IDE. The demo version is fully functional.
http://www.softwareandcircuits.com/division/amiga/products/cubic/index.html
-
What compiler would parse anfs (http://sourceforge.net/projects/anfs/) ?
Anyway if I use GCC, will the binaries be alright? I have the feeling those executables re fine on multi-MHz and multi-MB machines with swap.. but not much else ;)
-
What compiler would parse anfs (http://sourceforge.net/projects/anfs/) ?
I just check out the svn repo and the makefile requires SAS/C. It shouldn't take much tweaking to compile with GCC or VBCC.
Anyway if I use GCC, will the binaries be alright? I have the feeling those executables re fine on multi-MHz and multi-MB machines with swap.. but not much else ;)
gcc -s -noixemul filename.c :)
-
If you are after an NFS client then you can just grab the client binaries from this archive.
http://aminet.net/package/comm/net/AmiTCP-bin-30b2
-
Need the source to seriously tweak it..
-
Need the source to seriously tweak it..
The source is on that sourceforge page you posted.
-
Anyway if I use GCC, will the binaries be alright? I have the feeling those executables re fine on multi-MHz and multi-MB machines with swap.. but not much else ;)
GCC needs a lot of stack and then some, so on a vanilla Amiga 500 it will be somewhat tiring to even compile your source. I was using the DICE C-Compiler (freeware by Matt Dillon). It was a great choice for the small machine, but if you want to compile Unix code with it, you needed to fiddle with the Makefiles a lot. DICE had a much simpler yet effective approach to the build process.
I have used GCC on my Amiga 3000 and it worked fine (once you increased the stack of the shell!), but I haven't done any GUI stuff then.
On Amiga OS 4 GCC is the compiler of choice and works like a charm for all native code I have seen and a small GUI-Utility I wrote myself.
-
I recommend SASC since it has the best source level debugger by far.
I recommend SASC since it supports defining how much stack space you want allocated for your program by using the __STACK__ built-in var.
I recommend SASC since it is really easy to link asm code .o files into your project.
I recommend SASC because it features many nifty amigatized features like __CHIP etc.
I recommend SASC because you can run your code on one machine while remote controlling it with the Source Level Debugger GUI on another machine.
The very latest version of DICE is nice too.
If you are writing your own original code then AmigaE and PortableE should definitely be considered, as the E language syntax is a giant upgrade from primitive old C.
If you are just porting old C code then of course you should probably just stick with C. As one of the projects you are interested is already set up for SASC makefile, compiler and linker then you should really just use that. Otherwise you will just waste time fiddling with makefile adjustments. p.s. I hate makefiles :)
-
My concern regarding GCC was how the binariers used would turn out. The system requirements of the compile process is a lesser concern because it's most likely will be done using cross compilation if possible. As that would be way faster. ;)
The problem with SAS/C is getting the bits.. :P
(I proberbly has it on a few floppies which I think I know where they are which can be read in a likely working amiga computer which perhaps would like to do some RS232 - now where is improbability drive when you need it! :D)
The most desired setup considering the answers here would be a unix system running DICE using SAS/C Makefiles to produce binaries which is then tested with UAE.
I have done SAS/C years ago with 1 MB A500 using a floppy drive.. *pain* but it made it possible to code C at home..! then I got a HDD.. tight memory but less pain. Had to quit editor for each compile to free upp memory.. no swap.
-
The most desired setup considering the answers here would be a unix system running DICE using SAS/C Makefiles to produce binaries which is then tested with UAE.
DICE and SAS are for the Amiga OS not UNIX.
If you want to compile binaries that are small with GCC then you can use the -nostdlib argument and write your own startup code.
-
DICE and SAS are for the Amiga OS not UNIX.
If you want to compile binaries that are small with GCC then you can use the -nostdlib argument and write your own startup code.
DICE is pretty portable and will compile and run on a UNIX system no problem.
-
DICE is pretty portable and will compile and run on a UNIX system no problem.
Cool.
What's it like at handling code full of gnuisms?
-
My concern regarding GCC was how the binariers used would turn out. The system requirements of the compile process is a lesser concern because it's most likely will be done using cross compilation if possible. As that would be way faster. ;)
The problem with SAS/C is getting the bits.. :P
(I proberbly has it on a few floppies which I think I know where they are which can be read in a likely working amiga computer which perhaps would like to do some RS232 - now where is improbability drive when you need it! :D)
The most desired setup considering the answers here would be a unix system running DICE using SAS/C Makefiles to produce binaries which is then tested with UAE.
I have done SAS/C years ago with 1 MB A500 using a floppy drive.. *pain* but it made it possible to code C at home..! then I got a HDD.. tight memory but less pain. Had to quit editor for each compile to free upp memory.. no swap.
You could actually run the 68k SAS/C on UNIX with this.
http://lallafa.de/blog/2011/12/building-a-real-project-on-vamos-running-sas-c/
-
The most desired setup considering the answers here would be a unix system running DICE using SAS/C Makefiles to produce binaries which is then tested with UAE.
If you are going to run UAE anyway
and
if you are going to run your .exe file in UAE anyway
then
Why not just go ahead and use SASC inside UAE and do everything from there?
Then you get to use the ultimate Amiga C compiler and you can do your compile test cycles all together in one smooth operation without having to keep exiting UAE over and over again.
Amiga has awesome text editors.
Amiga has Arexx.
Amiga can use 2TB Hard drives.
Amiga can address 4GB of memory space.
Amiga text editors can run on your 1920x1080 monitor.
I have done SAS/C years ago with 1 MB A500 using a floppy drive.. *pain* but it made it possible to code C at home..! then I got a HDD.. tight memory but less pain. Had to quit editor for each compile to free upp memory.. no swap.
You should have bought yourself one of those accellerator cards that everyone bought back in the old days. A 25Mhz 030 with +16MB or +32MB
of fastram in addition to the +4MB of fastram that was inside your SCSI HD controller sidecar.
It made C compiling much more tolerable back in the old days.
-
Cool.
What's it like at handling code full of gnuisms?
Probably not good.
-
Cool.
What's it like at handling code full of gnuisms?
What is the definition of a Gnuism?
It isn't listed at the Urban Dictionary so the word must logically not exist :)
-
You should have bought yourself
Problem was that those cash were hard to get by ;)
I recall calculating the cost for a 20 MB RAM disk for the C64 long before that. But would it would have ended with a cost of 11 000 USD..
(I contemplated the possibility to have 8 slow (2 MHz) 6510 CPUs sharing the bus in a true multicore setup as well)
-
What is the definition of a Gnuism?
It isn't listed at the Urban Dictionary so the word must logically not exist :)
Lol
Google hits me with 35,000+ gnuism references.
gccism any better? ;)
-
The problem with SAS/C is getting the bits.. :P
(I proberbly has it on a few floppies which I think I know where they are which can be read in a likely working amiga computer which perhaps would like to do some RS232 - now where is improbability drive when you need it! :D)
The most desired setup considering the answers here would be a unix system running DICE using SAS/C Makefiles to produce binaries which is then tested with UAE.
Complete SAS/C installation with all extras and patches here:
https://dl.dropboxusercontent.com/u/8177628/sasc658.lha
You can run SAS/C from command line on other operating systems using AmiTools:
http://lallafa.de/blog/amiga-projects/amitools/
IMO the simplest solution is to compile VBCC for whatever system you want to work in. VBCC is really easy to compile, set up and use.