summaryrefslogtreecommitdiffstats
path: root/doc/started/buildc.t
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-04-09 19:43:18 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-04-09 19:43:18 +0000
commit6113b3a63d470dd407946e4e58fa3f04f017021c (patch)
tree95eb6c51f521438e15200fdacca2cbc6f33bfc27 /doc/started/buildc.t
parentbase version (diff)
downloadrtems-6113b3a63d470dd407946e4e58fa3f04f017021c.tar.bz2
Now builds clean for info, html, and ps.
Diffstat (limited to '')
-rw-r--r--doc/started/buildc.t222
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.