Home / OldFiles
Name Modified Size InfoDownloads / Week
Parent folder
videos.zip 2011-10-07 95.8 MB
AROS-20090302-mingw32-i386-system.zip 2009-03-02 16.6 MB
AROS-20060617-source.tar.bz2 2006-06-17 10.6 MB
AROS-20060617-PPC-debug-linux-system.tar.bz2 2006-06-17 45.1 MB
AROS-20060617-contrib-source.tar.bz2 2006-06-17 32.2 MB
AROS-20060612-PPC-debug-linux-system.tar.bz2 2006-06-14 45.9 MB
AROS-20060207-i386-all-sdk.tar.bz2 2006-03-18 4.2 MB
AROS-20060207-docs-html.tar.bz2 2006-03-18 428.7 kB
AROS-20060207-source.tar.bz2 2006-03-18 41.4 MB
AROS-20060207-docs-source.tar.bz2 2006-03-18 9.4 MB
AROS-20060207-contrib-source.tar.bz2 2006-03-18 31.2 MB
AROS-20060207-i386-pc-boot-iso.tar.bz2 2006-03-18 19.2 MB
AROS-20060207-i386-pc-boot-floppy.tar.bz2 2006-03-18 1.3 MB
AROS-20060207-i386-linux-system.tar.bz2 2006-03-18 19.1 MB
AROS-20060207-i386-freebsd-system.tar.bz2 2006-03-18 6.0 MB
AROS-20060207-i386-all-contrib.tar.bz2 2006-03-18 11.5 MB
binutils-2.15-aros.i386.tar.bz2 2005-07-09 5.3 MB
gcc-core-3.3.1-aros.i386.tar.bz2 2005-07-09 2.6 MB
AROS-20041021-source.tar.bz2 2004-10-23 10.5 MB
AROS-20041021-i386-pc-boot-iso.tar.bz2 2004-10-23 23.4 MB
AROS-20041021-i386-pc-boot-floppy.tar.bz2 2004-10-23 1.3 MB
AROS-20041021-i386-linux-system.tar.bz2 2004-10-23 5.9 MB
AROS-20041021-i386-freebsd-system.tar.bz2 2004-10-23 5.7 MB
AROS-20041021-i386-all-sdk.tar.bz2 2004-10-23 4.1 MB
AROS-20041021-i386-all-development.tar.bz2 2004-10-23 8.9 MB
AROS-20041021-i386-all-contrib.tar.bz2 2004-10-23 9.3 MB
AROS-20041021-docs-source.tar.bz2 2004-10-23 9.2 MB
AROS-20041021-docs-html.tar.bz2 2004-10-23 294.4 kB
AROS-20041021-contrib-source.tar.bz2 2004-10-23 28.2 MB
gcc-g++-3.3.1-aros.diff 2004-08-22 41.5 kB
gcc-core-3.3.1-aros.diff 2004-08-22 15.0 kB
README 2004-08-22 7.2 kB
gcc-g++-3.3.1.tar.bz2 2004-08-22 2.1 MB
gcc-core-3.3.1.tar.bz2 2004-08-22 11.2 MB
AROS-20020705-i386-pc-boot-debug.img.gz 2002-07-05 1.2 MB
AROS-20020703-i386-pc-boot.iso.gz 2002-07-04 11.1 MB
AROS-20020703-i386-linux-system.tar.gz 2002-07-04 3.3 MB
AROS-20020703-i386-all-contrib.tar.gz 2002-07-04 7.0 MB
AROS-20020703-i386-pc-floppies.tar.gz 2002-07-04 2.1 MB
AROS-20020703-source.tar.gz 2002-07-03 4.9 MB
AROS-20020703-contrib-source.tar.gz 2002-07-03 34.7 MB
AROS-20020126-i386-pc-cdrom.iso.gz 2002-01-27 10.2 MB
AROS-20020126-i386-pc.tar.gz 2002-01-27 8.9 MB
AROS-20020126-i386-pc-floppies.tar.gz 2002-01-27 2.1 MB
AROS-20020126-i386-linux.tar.gz 2002-01-27 9.4 MB
AROS-20020126-source.tar.gz 2002-01-26 4.7 MB
AROS-20020126-i386-freebsd.tar.gz 2002-01-26 2.9 MB
AROS-20020126-contrib-source.tar.gz 2002-01-26 20.6 MB
AROS-CDROM-ibmpc-bin.zip 2002-01-19 11.8 MB
AROS-ibmpc-bin.zip 2002-01-18 2.4 MB
Totals: 50 Items   655.4 MB 3
INDEX
=====

1. What is this?
2. Required knowledges
3. What is and how to build a cross compiler for AROS?
4. What is and how to build a native compiler for AROS?
5. Contact

------------------------------------------------------------------------

1. What is this?

  This directory contains patches against the gcc source tree. Patches
  follow the same naming convention as the gcc releases, plus a trailing
  "-aros.diff" (without quotes).

2. Required knowledges

  This README is not for everyone. You need to know a few things before 
  you attempt to build a native or cross compiler, and this documentation
  does not attempt to explain to you those things.
  
  You need to know the following things:
  
    1) What is a "patch" and how to "apply" it. Refer to the "patch" 
       and "diff" commands man pages to know more about it.
     
    2) What is gcc and, more importantly, how to build it from sources.
       You can find documentation about these issues both on gcc's web 
       pages and in every gcc archive. The web page can be found at
       http://gcc.gnu.org/, and the documentation for how to build and
       install it is at http://gcc.gnu.org/install/.

    3) If you want to build a native compiler, you also need to know
       how to use a compiler and, more specifically, a crosscompiler 
       for AROS.
       
  Failure to meet any of the above requirements will most likely result 
  in anger and frustration, you've been warned! :-) 
  
3. What is and how to build a cross compiler for AROS?

  A cross compiler is a compiler able to produce binaries usable by a
  "target" system, which however runs on a different system than the
  target's one. This is useful to speed up development, in case the
  "host" system is faster than the "target" one, or if the "host"
  system has any other advantages over the "target" one.

  In our case the target system is AROS, and to produce a crosscompiler
  for AROS you need to go trough the following steps:

  1) Decide which patch you want to apply

  2) Download the archive to which the patch you chose applies. You
     can find such archives at one of the sites listed at
     http://www.gnu.org/software/gcc/releases.html

  3) Apply the patch

  4) Assuming the patched gcc sources are in the "gcc-aros" directory,
     make a new directory named "gcc-aros-x-bin" and cd onto it.
    
  5) Now issue the following command (all on one line):
  
     ../gcc/configure --target=<cpu>-aros --enable-sjlj-exceptions
     --enable-long-long  --with-headers=<path/to/AROS/headers> 
     --with-libs=<path/to/AROS/libs>

     replace the various <...> with the proper values.

  6) Type "make" and then "make install",

- IMPORTANT: to be able to build the compiler you need to have built the
             linker and related utilities first. Such tools are part of the
             "binutils" package, which is compilable for AROS out of the box
	     (no need for patches). Get the latest version from
	     http://www.gnu.org/software/binutils/

- IMPORTANT2: to be able to produce working AROS executables, you also
              need a tool named collect-aros, which is part of the
	      AROS build system, and thus can be found, once AROS is
              compiled, under bin/<host>-<cpu>/tools/ OR in the
              AROS-SDK package downloadable from
	      http://www.aros.org/download.php. Make sure that
              collect-aros is in the PATH, so that the compiler can
              access it.

4. What is and how to build a native compiler for AROS?

  As opposed to a crosscompiler, a native compiler runs on the same
  system the compiler is targetted for, that is "host" and "target"
  are the same.

  Currently there's no way to build a native compiler from inside AROS
  itself, thus you need to use another operating system as the "build"
  system, and for this purpose you need to build a crosscompiler and
  the cross-binutils before trying to build the native compiler.
  For this, refer to section 2.

  Assuming you've got the crosscompiler and related utilities built
  already, follow the below procedure in order to build a native
  compiler:

    1) Assuming the patched gcc sources are in the "gcc-aros" directory,
       make a new directory named "gcc-aros-bin" and cd onto it.
    
    2) Now issue the following command (all on one line):
  
       CC='i386-aros-gcc -nix' ../gcc/configure --target=<cpu>-aros
       --host=<cpu>-aros --build=local --enable-sjlj-exceptions
       --prefix=<prefix for the gcc installation, from the AROS point of view>
       --enable-long-long 
 
       Replace the various <...> with the proper values.

       <prefix for...> refers to the prefix, from the AROS point of
       view, which will be put before the names of all the directories
       the build system will install files and executables into.
       For instance, the gcc executable will be installed in
       <prefix>/bin, thus if you set the prefix to "GCC:" (or /GCC), for
       instance, then the gcc executable will be installed in GCC:/bin
       (or /GCC/bin), which actually is the same as GCC:bin (from gcc's
       point of view, which uses some unix path conversion routines built
       in the AROS libc). Feel free to set that prefix to whatever you want.

    3) Type "make", without quotes.

    4) Type "make install prefix=<XXX> exec_prefix=<XXX>", without
       quotes.

       <XXX> refers to the prefix, from the BUILD SYSTEM
       point of view, which will be put before the names of all
       directories the build system will install files and executables
       in. This *must* be the same prefix that you specified at
       configuration time, except that this time it must be specified
       as seen by the build system. However, If at configuration time
       you used a volume name as prefix, then at this stage you can
       specify whatever prefix you want, as long as you take care
       of mounting the previously specified volume in AROS, or
       assigning it to the directory where gcc's stuff really is.

  IMPORTANT: You still need the native binutils if you want to
             do anything with the native compiler. The steps you need
	     to go trough to build the native binutils are pretty much
	     the same as the ones for gcc, except you needn't apply
	     any patches, as the AROS support for the binutils is
             already in the main archive. All that was said about the
	     "prefix" stuff still applies for the binutils as well.

  IMPORTANT2: You need to build also collect-aros, natively for AROS.
              In order to do this, you will have to use the
              crosscompiler and build it by yourself. It's not
	      hard, really, but at the moment there are no instructions
	      on how to do so. You basically need to use the "bfd"
              backend, and the "spawn" version of docommand, and then
	      link with libiberty.a and libbfd.a.

5. Contact

If you need to blame someone for how crappy this gcc port is, then by
any means blame Fabio Alemagna <falemagn@studenti.unina.it>. Feel free
to also ask normal questions, though :-)
Source: README, updated 2004-08-22