26-Apr-2024 22:37 GMT.
UNDER CONSTRUCTION
[Files] 68k hosted gcc for x86-AROS portedANN.lu
Posted on 19-May-2004 23:56 GMT by whoosh20 comments
View flat
View list
On a 68k AmigaOS system such as A1200 or WinUAE or Morphos or Cloanto or OS4 or Amithlon, cross compile programs to x86-AROS, via this gcc-3.3.1 cross compiler. Click here This cross compiler was built entirely on 68k WinUAE by combining the existing sources of gcc-3.3.1-aros and 68k hosted gcc-3.3.1-amigaos,

The c compiler part has been tested out on several graphics demos from the archives on the AROS site: blackhole, dawafire, firework,flamme, metaballs, newvox, parallax,

the binaries were generated via 68k WinUAE using this cross compiler and the binaries ran correctly via a i686 compile on my PC.

Hello world also ran correctly. The c++ part of the compiler is fully untested, so any feedback on it will be of interest.

People talk about preventing the AmigaOS alternatives fragmenting, well cross compilers are how you prevent fragmentation: you can generate binaries for machines you dont have.

Previously you needed Linux to develop for AROS although there is also an AROS-native gcc,

List of all comments to this article
Sorted by date, most recent at bottom
Comment 1Anonymous19-May-2004 22:50 GMT
Comment 2Crumb // AATRegistered user20-May-2004 05:04 GMT
Comment 3Anonymous20-May-2004 06:15 GMT
Comment 4Frederik20-May-2004 07:48 GMT
Comment 5Amon_ReRegistered user20-May-2004 08:17 GMT
Comment 6Anonymous20-May-2004 14:19 GMT
68k hosted gcc for x86-AROS ported : Comment 7 of 20ANN.lu
Posted by Anonymous on 20-May-2004 19:31 GMT
In reply to Comment 2 (Crumb // AAT):
@Crumb

>Excellent job! I fully agree with you, cross compilers are great to avoid
>the community fragmentation.
>Would it be difficult to have a big gcc distro uploaded to aminet with
>support for OS3.x,OS4.x,WarpOS,PowerUP,MorphOS,Amithlon,AROS-x86?
>I ask this because I'm not sure about how can I have various cross compilers
>in the same "installation" of gcc.

with the merging of gcc-3.3.1-aros and gcc-3.3.3-amigaos source that I have
done I can in theory generate cross compilers between any pair of:

68k-amigaos, ppc-amigaos, x86-aros, ppc-aros,

if someone binmails me the source for any gcc between 3.3.1 and 3.3.3
for any of the other AmigaOS variants, I can probably merge that source into this,

currently I only have access to Morphos gcc-2.95.3-5 and Amithlon gcc-2.95.3-4
sources, which are probably too far apart from 3.3.1 to be merge-able,

on the whole 68k hosted cross compilers are the most useful because most
of the above list emulates 68k,

>I tried once with gcc-68k and gcc-Amithlon but it seems to overwrite some
>files...

yes, the default build when installed into gg: will not run!

Firstly 68k "as" gets called which then fails because it doesnt understand -Qy,
also I think for linking 68k "nm" gets called which also fails.
Its a total malfunction!

With this port I managed to hack around this problem, my port will merge
seamlessly directly into gg: so you can switch between 68k-gcc and x86-aros-gcc,

ie gg:bin/gcc and gg:bin/i686-pc-aros-gcc-3.3.1

68k gcc's havent quite got things in the right place, however I have
worked around this problem,

make sure when you merge my port that you skip existing files,
the instructions I give for decompressing .tar.bz2 archives will
skip existing files. The tar -k flag makes sure nothing is overwritten,
I think the only overwrites that will try to happen
are of manual pages. The build generates lib/libiberty.a which does clash,
but I moved it to I think i686-pc-aros/lib

Backup gg: before attempting this so you can restore the unmerged correct
version if necessary.


The shell output generated if you follow the instructions in the readme
will tell you which overwrites were skipped,

I have now on the URL a script called whoosh_gg_startup,

this script allows you to have multi-assign Geekgadgets,

this takes some effort to write but some months ago I spent some hours
carefully studying the Geek startup to improve the startup to a
generalised multiassign version,

so if you have gcc-Amithlon in directory gg_amithlon: and gcc-Morphos in
directory gg_morphos: and your 68k Geekgadgets in gg_68k:

you would type:

whoosh_gg_startup gg_68k:
whoosh_gg_startup gg_morphos:
whoosh_gg_startup gg_amithlon:


if there are clashes of paths then call the script on the directory you
wish to be first in the path search,

so if you want to have a session with gcc-Morphos you would type after
booting up:

whoosh_gg_startup gg_morphos:
whoosh_gg_startup gg_68k:
whoosh_gg_startup gg_amithlon:

and if you wanted a session with gcc-Amithlon type:

whoosh_gg_startup gg_amithlon:
whoosh_gg_startup gg_68k:
whoosh_gg_startup gg_morphos:

You need to reboot then if you want to change gcc,

>it would be great if you added a txt explaining how to have all the
>targets in the same gcc installation.

Maybe I can look into this, I agree its how it should be having all the
gcc's all in the same gg:bin/ directory and all the installs in subdirectories
of gg:


Now I assume you mean that you want eg ppc-morphos-gcc, i686-amithlon-gcc
all in the same directory structure?

whether its possible to have 1 gcc which can generate Morphos + Amithlon + AROS
binaries I dont know. :I will try and ask some gcc experts on this,

>Thank you for your effort!

>Once someone has a gcc distro that compiles for all the targets it may be a
>good idea to upload it to aminet. If it came with an installer that used
>fd2pragma to create all the link libs and required includes so newbies had a
>easier job it would be great...

how do I upload to aminet? I couldnt see an upload link,

For this port you need to get the includes + libs from an archive from the
AROS site, the reason is there are a lot of licenses involved,

rather than delay the upload by some weeks as I try and figure out what
all the license requirements are I decided it was simpler to ask people
to obtain those parts directly from the aros site,
Jump...
#12 Anonymous #13 Crumb // AAT
TopPrevious commentNext commentbottom
List of all comments to this article (continued)
Comment 8whoosh20-May-2004 19:40 GMT
Comment 9whoosh20-May-2004 20:02 GMT
Comment 10top20-May-2004 20:32 GMT
Comment 11whoosh20-May-2004 20:46 GMT
Comment 12Anonymous20-May-2004 22:44 GMT
Comment 13Crumb // AATRegistered user21-May-2004 05:13 GMT
Comment 14Crumb // AATRegistered user21-May-2004 05:18 GMT
Comment 15whoosh21-May-2004 18:57 GMT
Comment 16whoosh21-May-2004 19:45 GMT
Comment 17whoosh22-May-2004 20:11 GMT
Comment 18whoosh22-May-2004 20:46 GMT
Comment 19whoosh23-May-2004 16:26 GMT
Comment 20whoosh24-May-2004 18:55 GMT
Back to Top