Aros/Developer/SelfHostedCompile

From Wikibooks, open books for an open world
Jump to navigation Jump to search

The AROS Operating system is currently built using Linux and FreeBSD hosts. There has long been a significant amount interest in AROS being able to compile itself, therefore freeing the native version from Linux/FreeBSD.

In order for AROS to be able to recompile AROS, most likely the easiest path to take would be to port the existing FreeBSD/Linux build environment to AROS.

The purpose of this page is to keep track of the current state of the tools that need to be ported to AROS in order to realize the goal.

Required Tools[edit | edit source]

Here is a list of what is required to build from within AROS, and its current port status for AROS:

GNU GCC Compiler[edit | edit source]

GCC 3.3.1 Ported. No reported problems, yet has not undergone rigorous testing.

GNU Binutils[edit | edit source]

Binutils 2.14 Ported. No known issues

GNU Fileutils[edit | edit source]

Fileutils 4.1 Ported. No reported problems, yet has not undergone rigorous testing.

GNU Textutils[edit | edit source]

Textutils 2.1 Ported. No reported problems, yet has not undergone rigorous testing.

GNU Make Utility[edit | edit source]

GNU Make 3.80 08.21.2004 Success! With updated sources from the AOS4 port, and some hacking about, a *stable* make has been generated. The make in contrib/gnu/make is slated to be removed and this will be committed in its place :-D

GNU Awk Utility[edit | edit source]

GNU Awk (GAWK) 3.1.3 Ported. No reported problems, yet has not undergone rigorous testing.

GNU Bison Utility[edit | edit source]

GNU Bison (GAWK) 1.875 Ported. No reported problems, yet has not undergone rigorous testing.

Python Script Parser[edit | edit source]

Python 2.2.1 Ported. It is hoped PyAROS will work.

The NetPBM Graphics Conversion Package[edit | edit source]

NetPBM Ported. Initial tests indicate the portions of this that are needed by the AROS build system function properly.

GNU pdksh[edit | edit source]

GNU Ksh Shell Ported. However, an issue relating a workaround of the fork() function call is creating a stability problem.