diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-04-09 19:43:18 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-04-09 19:43:18 +0000 |
commit | 6113b3a63d470dd407946e4e58fa3f04f017021c (patch) | |
tree | 95eb6c51f521438e15200fdacca2cbc6f33bfc27 /doc/started/buildc.t | |
parent | base version (diff) | |
download | rtems-6113b3a63d470dd407946e4e58fa3f04f017021c.tar.bz2 |
Now builds clean for info, html, and ps.
Diffstat (limited to '')
-rw-r--r-- | doc/started/buildc.t | 222 |
1 files changed, 191 insertions, 31 deletions
diff --git a/doc/started/buildc.t b/doc/started/buildc.t index ea3069236d..f5aa5f4298 100644 --- a/doc/started/buildc.t +++ b/doc/started/buildc.t @@ -1,5 +1,4 @@ @c -@c @c COPYRIGHT (c) 1988-1998. @c On-Line Applications Research Corporation (OAR). @c All rights reserved. @@ -7,60 +6,221 @@ @c $Id$ @c -@chapter Building RTEMS +@chapter Building the GNU C/C++ Cross Compiler Toolset + +@section Get all the pieces + +The tree structure in the figure below is assumed to be present in the +following discussions: + +Gather the components that will be required for the installation and place +them in an archive directory. Call this directory arc. Be sure that there +is sufficient space to hold all necessary information. This will amount to +approximately 20 megabytes. + +@example +egcs 1.0.2 + FTP Site: egcs.cygnus.com + Directory: /pub/egcs/releases/egcs-1.0.2 + File: egcs-1.0.2-980309-prerelease.tar.gz + +binutils 2.8.1 + FTP Site: ftp.gnu.org + Directory: /pub/gnu + File: binutils-2.8.1.tar.gz + +newlib 1.8.0 + FTP Site: ftp.cygnus.com + Directory: /pub/newlib + File: newlib-1.8.0.tar.gz + +RTEMS @value{version} +FTP Site: ftp.oarcorp.com + Directory: /oarcorp/private/snapshots + File: rtems-980219.tgz + File: bit + File: binutils-2.8.1-rtems-diff-971221.gz + File: newlib-1.8.0-diff.980120.gz + File: simple_app.tgz +@end example + + +@section Create the tools directory -@section Unpack the RTEMS source +Create a directory called tools that will serve as a working directory to +perform the build of the cross compiler tools. -Use the following command sequence to unpack the RTEMS source into the -tools directory: +Unpack the compressed tar files using the following command sequence: @example cd tools -tar xzf ../arc/rtems-980219.tgz +tar xzf ../arc/egcs-1.0.2-980309-prerelease.tar.gz +tar xzf ../arc/binutls-2.8.1.tar.gz +tar xzf ../arc/newlib-1.8.0.tar.gz @end example -@section Add the bin directory under the install point to the default PATH +After the compressed tar files have been unpacked, the following +directories will have been created under tools. + +@itemize @bullet +@item binutils-2.8.1 +@item egcs-1.0.2 +@item newlib-1.8.0 +@end itemize + +@section Apply patches for newlib -Use the following command to append the <INSTALL_POINT>/bin directory to -the PATH variable: +Apply the patches using the following command sequence: @example -PATH=$PATH:<INSTALL_POINT>/bin +cd tools/newlib-1.8.0 +zcat arc/newlib-1.8.0-diff.980120.gz|patch -p1 @end example -@section Generate RTEMS for a specific target and board support package +Check to see if any of these patches have been rejected using the following +sequence: + +@example +cd tools/newlib-1.8.0 +find . -name "*.rej" -print +@end example -Make a build directory under tools and build the RTEMS product in this -directory. The ../rtems-980219/configure command has numerous command line -arguments. These arguments are discussed in detail in documentation that -comes with the RTEMS distribution. In the installation described in the -section "Unpack the RTEMS source", these configuration options can be found -in file: +If any files are found with the .rej extension, a patch has been rejected. +This should not happen with a good patch file. + +To see the files that have been modified use the sequence: @example -tools/rtems-980219/README.configure +cd tools/newlib-1.8.0 +find . -name "*.orig" -print @end example -A simple example of the configuration appears below: +The files that are found, have been modified by the patch file. + + +@section Apply patches for binutils + +Apply the patches using the following command sequence: + +@example +cd tools/binutils-2.8.1 +zcat arc/binutils-2.8.1-rtems-diff-971221.gz|patch -p1 +@end example + +Check to see if any of these patches have been rejected using the following +sequence: + +@example +cd tools/binutils-2.8.1 +find . -name "*.rej" -print +@end example + +If any files are found with the .rej extension, a patch has been rejected. +This should not happen with a good patch file. + +To see the files that have been modified use the sequence: @example -mkdir build-rtems -cd build-rtems -../rtems-980219/configure --target=<TARGET_CONFIGURATION> \ ---disable-posix --disable-ka9q --disable-cpp \ ---enable-rtemsbsp=<BOARD_SUPPORT_PACKAGE>\ ---prefix=< INSTALL_POINT> -gmake all install +cd tools/binutils-2.8.1 +find . -name "*.orig" -print @end example +The files that are found, have been modified by the patch file. + +@section Modify the bit script + +Copy the bit file from arc to the tools directory. + +Edit the bit file to alter the following environmental variables: + +@itemize @bullet +@item INSTALL_POINT +@item BINUTILS +@item NEWLIB +@item GCC +@item BUILD_DOCS +@end itemize + +These variables are located in the script section that resembles the +extract below: + + +@example +# USERCHANGE -- localize these. +# +# INSTALL_POINT: Directory tools are installed into. +# Recommended installation point for various OS's: +# Linux: /usr/local/rtems +# Solaris: /opt/gnu/rtems +# BINUTILS: Binutils source directory +# NEWLIB: Newlib source directory +# GCC: Newlib source directory +# BUILD_DOCS: Set to "yes" if you want to install documentation. +# +BINUTILS=gas-971208 +GCC=egcs-1.0.1 +NEWLIB=newlib-1.8.0 +BUILD_DOCS=yes +INSTALL_POINT=/home/joel/$@{GCC@}/$@{target@} + +# USERCHANGE - uncomment this if you want to watch the commands. +@end example + + Where: -The current summary of <TARGET_CONFIGURATION>'s and -<BOARD_SUPPORT_PACKAGE>'s can be found in -tools/rtems-980219/README.configure +@table @code +@item INSTALL_POINT +is the location where you wish the GNU C/C++ cross compilation tools for +RTEMS to be built. It is recommended that the directory chosen to receive +these tools be named so that it is clear from which egcs distribution it +was generated and for which target system the tools are to produce code for. + +@item BINUTILS +is the directory under tools that contains binutils-2.8.1. +BINUTILS=binutils-2.8.1 + +@item GCC +is the directory under tools that contains egcs-1.0.1. +GCC=egcs-1.0.2-980309-prerelease +@item NEWLIB +is the directory under tools that contains newlib-1.8.0. +NEWLIB=newlib-1.8.0 -<INSTALL_POINT> is the installation point from the previous step -"Modify the bit script" in the build of the tools. +@item BUILD_DOCS +is set to "yes" if you want to install documentation. +BUILD_DOCS=yes + +@end table + +@section Running the bit script + +Run the modified bit script using the following sequence: + +@example +cd tools +./bit <target configuration> +@end example + +Where: + +<target configuration> is one of the following: + +@example +hppa1.1 +i386 +i386-elf +i386-go32 +i960 +m68k +mips64orion +powerpc +sh +sparc +@end example +@section GNU C/C++ cross compiler toolset complete + +At this point the GNU C/C++ cross compile tools should be built. |