The gnutools/src directory contains the complete source code for the GNU Tools. Please note that you do not usually need to use these files; installing the precompiled binaries available for your platform (Linux or Windows) is almost always sufficient.
There are three main reasons for providing the source code: first, it is a legal requirement of the GNU General Public License; second, you may wish to examine the source code in order to learn from it and/or improve on it; and third, you may wish to recompile the tools specifically for your platform.
The first reason is an important one. The GNU General Public License, the licence that applies to the GNU Tools, is designed to give you certain freedoms. One of those freedoms is the right to improve on what has already been done: the right not only to view the source code of the product, but also to change the code to suit your own needs and to distribute those changes to others. One of the main conditions of maintaining these rights, however, is the requirement of distributing the source code files. For more information, please read the licence itself — as legal licences go, this one is very readable indeed!
The second reason for providing the source code files is that you may wish to examine them for your own edification. Consider the fact that the C/C++ compiler alone has almost 900,000 lines of C code and that the whole suite contains over five million lines of code — you are bound to learn something about large-scale software project management and some programming techniques if you take the time to look!
The third reason is probably the least likely, from your point of view: the need to recompile the tools for your specific platform. This would only apply if you were not using Linux or Microsoft Windows on the i386 architecture (the i386 architecture includes the Intel 386, 486, Pentium and higher microprocessors, as well as microprocessors from Intel’s competitors, such as the AMD K6, Athlon and Duron). Two examples would be if you were running a version of the BSD operating system, such as OpenBSD, or you were running Linux on the Macintosh PowerPC platform. In all such cases, you are on your own; however, you might like to use the instructions for Linux as a starting point.
|CD-ROM Root Directory|
|gnutools: GNU Tools for the ARM microcontroller|
|src: Complete source code for the GNU Tools This is the current directory|
|README.html: The file you are currently reading|
|install-linux-combined.html: Combined Sources method of compiling the GNU Tools for Linux (recommended)|
|install-linux-individual.html: Individual Sources method of compiling the tools for Linux|
|install-linux-packaged.html: How to recreate the precompiled binaries for Linux (for system administrators)|
|install-win32-individual.html: Instructions for compiling the GNU Tools under Microsoft Windows|
|install-win32-packaged.html: How to recreate the precompiled binaries for Microsoft Windows (for system administrators)|
|sources.html: Obtaining the latest sources (for system administrators and those who like to live on the “leading edge”…)|
|patches.html: Obtaining the latest patches (again, for system administrators and those who like to live on the “bleeding edge”…)|
|binutils-2.14.tar.gz: GNU Binary Utilities source archive|
|gcc-core-3.3.tar.gz: GNU Compiler Collection core modules source archive|
|gcc-g++-3.3.tar.gz: GNU C++ Compiler module source archive|
|insight-5.3.tar.gz: GNU Graphical Debugger source archive|
|newlib-1.11.0.tar.gz: Cygnus C Libraries source archive|
|make-3.80.tar.gz: GNU Make source archive|
|binutils-2.14.patch.gz: Patch for the GNU Binary Utilities|
|gcc-3.3.patch.gz: Patch for the GNU Compiler Collection|
|insight-5.3.patch.gz: Patch for the GNU Graphical Debugger|
|newlib-1.11.0.patch.gz: Patch for the Cygnus C Libraries|
|make-3.80.patch.gz: Patch for GNU Make|
Please note that the GNU Tools (including, but not limited to, the patches produced by the University of New South Wales), are distributed under the terms of the GNU General Public License.Copyright © 2001–03, School of Electrical Engineering and Telecommunications, University of New South Wales. All rights reserved. CRICOS Provider Number: 00098G.