GCCSDK: Difference between revisions
(→GCC for RISC OS: Link UnixLib, correct current GCC 3.4.6 release version, note about older releases of Ada, ObjC et al) |
|||
(18 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
= Introduction = |
= Introduction = |
||
The riscos.info |
The GCCSDK riscos.info project is really two closely related sub-projects : [[#GCC_for_RISC OS|GCC for RISC OS]], the RISC OS port of GCC, and [[#GCC_Software_Development Kit|GCC Software Development Kit]], the environment for porting and developing GCC for RISC OS and also for porting any other programs to RISC OS. The latter is actually used to create the former. The documentation is split accordingly. |
||
== GCC for RISC OS == |
== GCC for RISC OS == |
||
[[GCC for RISC OS]] is a complete, free and fully-featured compiler solution for RISC OS based on the [http://gcc.gnu.org/ GNU Compiler Collection]. It can compile C |
[[GCC for RISC OS]] is a complete, free and fully-featured compiler solution for RISC OS based on the [http://gcc.gnu.org/ GNU Compiler Collection]. It can compile C and C++ using modern standards and assemble ARM code. It also includes support for RISC OS modules, and usage of the native RISC OS Shared C Library, or the bundled Unix-compatibility library [[UnixLib]] as runtime library. It aims to be feature complete above and beyond the commercial [[RISC OS Open Ltd]]'s C/C++ compiler suite. |
||
There also exist front ends for other languages, such as Objective C, Ada 9X, Modula-3, Pascal, Cobol and Java, however these have not been ported to run on RISC OS at this time. Some of these are present, but unsupported, in older versions of RISC OS GCC. |
There also exist front ends for other languages, such as Fortran, Objective C, Ada 9X, Modula-3, Pascal, Cobol and Java, however these have not been ported to run on RISC OS at this time. Some of these are present, but unsupported, in older versions of RISC OS GCC. |
||
The current version of GCC for RISC OS is |
The current version of GCC for RISC OS is 4.7.4 release 5 which is based on [http://en.wikipedia.org/wiki/Executable_and_Linkable_Format ELF Object format] and binutils. Previous releases were based on GCC 3.4 and targets the traditional RISC OS AOF and AIF targets. |
||
* [[GCC for RISC OS]] |
* [[GCC for RISC OS]] |
||
Line 20: | Line 20: | ||
GCCSDK can be used to compile and develop GCC and UnixLib itself, or as the basis for a cross-compiling system. It includes a number of "porting scripts" which automate the process of building and configuring new ports, which would otherwise be difficult and error prone, and not possible when done natively under RISC OS. |
GCCSDK can be used to compile and develop GCC and UnixLib itself, or as the basis for a cross-compiling system. It includes a number of "porting scripts" which automate the process of building and configuring new ports, which would otherwise be difficult and error prone, and not possible when done natively under RISC OS. |
||
* [[Using GCCSDK]] |
|||
* [[Cross-compiling software with GCCSDK]] |
|||
=== GCCSDK Autobuilder === |
=== GCCSDK Autobuilder === |
||
Line 25: | Line 28: | ||
The autobuilder is a powerful system for automatically fetching, configuring and building of sources and dependencies for programs, making use of the porting scripts. Done manually, such a process would be tedious, time-consuming and error prone. Once a program is added to the autobuilder, other developers can easily reproduce the work, and concentrate on the important details. |
The autobuilder is a powerful system for automatically fetching, configuring and building of sources and dependencies for programs, making use of the porting scripts. Done manually, such a process would be tedious, time-consuming and error prone. Once a program is added to the autobuilder, other developers can easily reproduce the work, and concentrate on the important details. |
||
The autobuilder presently includes instructions for building around |
The autobuilder presently includes instructions for building around 300 libraries and programs for RISC OS. |
||
* [[Using GCCSDK]] |
* [[Using GCCSDK]] |
||
* [[Autobuilder development|Putting a new program in the autobuilder]] |
|||
=== Development === |
=== Development === |
||
The |
The status of the current GCCSDK development can be found at [[GCCSDK Development]]. |
||
= GCCSDK GCC Releases = |
= GCCSDK GCC Releases = |
||
All |
All GCCSDK GCC Releases can be found on the [http://www.riscos.info/downloads/gccsdk downloads page]. Details on what is changed in each release can be found at [[GCCSDK Releases]]. |
||
== Upgrading from older releases == |
|||
When upgrading it's recommended you move your existing !gcc application to somewhere it won't be seen by the Filer, and then download new GCC archives from scratch. Don't forget to download system.zip and merge it. If you have an old 2.x.x version you may need to remove or hide away !UnixLib and anything to do with Virtual and drlink too - UnixLib and drlink are now integrated in GCC, Virtual is no longer supported. If you have placed any extra programs such as 'make', 'as', or 'drlink' in your library directory you must remove or rename them. |
|||
= Mailing list = |
= Mailing list = |
||
A mailing list exists for [http://www.riscos.info/cgi-bin/mailman/listinfo/ GCCSDK discussions]. |
A mailing list exists for [http://www.riscos.info/cgi-bin/mailman/listinfo/gcc GCCSDK discussions]. |
||
= Bug reporting = |
= Bug reporting = |
||
See [[Bug Reporting]] on how to submit bug reports against GCCSDK. |
|||
To keep track of bugs in GCCSDK we are using a [http://www.riscos.info/bugzilla/index.cgi bug-tracking system]. It is preferable to use this rather than e-mailing in order to avoid mails getting lost in our rather large inboxes and also in order to have an overview of any outstanding issues. |
|||
= GCCSDK Source Repository = |
|||
Until beginning of March 2006 all our GCCSDK source code was managed using [http://cvshome.org/ CVS]. At that point we converted our CVS repository into a [http://subversion.tigris.org Subversion] repository and are no longer using CVS. Details how to access GCCSDK source repository can be found at our [[source repositories overview]]. |
|||
{{GCC and GCCSDK pages}} |
{{GCC and GCCSDK pages}} |
Latest revision as of 14:01, 8 November 2021
Introduction
The GCCSDK riscos.info project is really two closely related sub-projects : GCC for RISC OS, the RISC OS port of GCC, and GCC Software Development Kit, the environment for porting and developing GCC for RISC OS and also for porting any other programs to RISC OS. The latter is actually used to create the former. The documentation is split accordingly.
GCC for RISC OS
GCC for RISC OS is a complete, free and fully-featured compiler solution for RISC OS based on the GNU Compiler Collection. It can compile C and C++ using modern standards and assemble ARM code. It also includes support for RISC OS modules, and usage of the native RISC OS Shared C Library, or the bundled Unix-compatibility library UnixLib as runtime library. It aims to be feature complete above and beyond the commercial RISC OS Open Ltd's C/C++ compiler suite.
There also exist front ends for other languages, such as Fortran, Objective C, Ada 9X, Modula-3, Pascal, Cobol and Java, however these have not been ported to run on RISC OS at this time. Some of these are present, but unsupported, in older versions of RISC OS GCC.
The current version of GCC for RISC OS is 4.7.4 release 5 which is based on ELF Object format and binutils. Previous releases were based on GCC 3.4 and targets the traditional RISC OS AOF and AIF targets.
GCC Software Development Kit
GCCSDK
GCC Software Development Kit (GCCSDK) is a portable build environment for creating RISC OS executables to be run natively on RISC OS. The build environment is designed to be hosted on a Unix-like system, such as GNU/Linux, FreeBSD, Solaris, MacOS X or even Windows (under Cygwin). GCCSDK releases are tied-in with the corresponding GCC releases.
GCCSDK can be used to compile and develop GCC and UnixLib itself, or as the basis for a cross-compiling system. It includes a number of "porting scripts" which automate the process of building and configuring new ports, which would otherwise be difficult and error prone, and not possible when done natively under RISC OS.
GCCSDK Autobuilder
The autobuilder is a powerful system for automatically fetching, configuring and building of sources and dependencies for programs, making use of the porting scripts. Done manually, such a process would be tedious, time-consuming and error prone. Once a program is added to the autobuilder, other developers can easily reproduce the work, and concentrate on the important details.
The autobuilder presently includes instructions for building around 300 libraries and programs for RISC OS.
Development
The status of the current GCCSDK development can be found at GCCSDK Development.
GCCSDK GCC Releases
All GCCSDK GCC Releases can be found on the downloads page. Details on what is changed in each release can be found at GCCSDK Releases.
Mailing list
A mailing list exists for GCCSDK discussions.
Bug reporting
See Bug Reporting on how to submit bug reports against GCCSDK.
GCC and GCCSDK pages |
GCC under RISC OS GCC for RISC OS, GCC tutorial, GCC common switches, GCC for beginners, UnixLib, ELFLoader |