I'm just getting back in to programming my A500 at the moment, using FOSS and Public Domain compilers (that is, I'm intentionally avoiding more proprietary options). Here's what I've found works well so far.
has what I think is the most recent (ha!) Sozobon C compiler, named HCC. It also includes A68k and blink. I happened to still have a floppy of Commodore's 1.2 include files, and HCC is happy to work with those. This works really well, and is what I'm mostly playing with. Old-fashioned K&R C is part of its retro charm
If you have some kind of mass-storage device, another nice (but huge) one is ADE
, which includes an entire GNU working environment (...a lot of which is handy in general, not just for C programming - e.g. stuff like sh, find, grep, awk, sed, diff, head, tail, ...). It's pretty jolly awesome, and feels just like my regular GNU/Linux environment (well, without screen or tmux, though I guess either of those could be got running). It even manages to feel reasonably quick on my Amiga. The down-side is, because it's so familiar (i.e. a bit boring), I haven't played around with it much. Anyway, I have compiled a few command line progs to check that things actually work, and they do. I haven't tried compiling anything Amiga-library-specific using ADE yet, but it should be doable.
(By the way, the ADE package I linked to above didn't support my A500's 68000 by default. To get it going I had to copy ixemul-000.library and ixnet-000.library from ixemul-48.0
to ADE/Sys/Libs/ixemul.library and ADE/Sys/Libs/ixnet.library, replacing both ADE files respectively. I'm kinda surprised that this worked, since it was just a guess. It might cause problems I haven't noticed yet. But anyway - so far, so good.)
Since I wrote that, I've switched to using mostly ADE. It does work well, including its support for Amiga-specific libraries. (I found HCC fine for small projects, but it's a little rough around the edges; larger projects were a bit painful to debug.)