Added information about the new build scripts. The biggest thing was

describing the user.cfg file.

Added a section on Solaris 2.x.
This commit is contained in:
Joel Sherrill
1998-10-20 12:30:06 +00:00
parent 0b5dbf1f6a
commit 77ea5d30d8

View File

@@ -104,7 +104,7 @@ specific patches.
@example @example
FTP Site: @value{RTEMS-FTPSITE} FTP Site: @value{RTEMS-FTPSITE}
Directory: @value{RTEMS-FTPDIR}/c_tools Directory: @value{RTEMS-FTPDIR}/c_tools
File: bit File: @value{BUILDTOOLS-TAR}
@ifset BINUTILS-RTEMSPATCH @ifset BINUTILS-RTEMSPATCH
File: @value{BINUTILS-RTEMSPATCH} File: @value{BINUTILS-RTEMSPATCH}
@end ifset @end ifset
@@ -129,6 +129,7 @@ cd tools
tar xzf ../archive/@value{GCC-TAR} tar xzf ../archive/@value{GCC-TAR}
tar xzf ../archive/@value{BINUTILS-TAR} tar xzf ../archive/@value{BINUTILS-TAR}
tar xzf ../archive/@value{NEWLIB-TAR} tar xzf ../archive/@value{NEWLIB-TAR}
tar xzf ../archive/@value{BUILDTOOLS-TAR}
@end example @end example
After the compressed tar files have been unpacked, the following After the compressed tar files have been unpacked, the following
@@ -140,12 +141,16 @@ directories will have been created under tools.
@item @value{NEWLIB-UNTAR} @item @value{NEWLIB-UNTAR}
@end itemize @end itemize
Copy the @code{bit} script from the @code{archive} directory There will also be a set of scripts in the current directory
to the @code{tools} directory as shown below: which aid in building the tools and RTEMS. They are:
@example @itemize @bullet
cp ../archive/bit . @item bit
@end example @item bit_gdb
@item bit_rtems
@item common.sh
@item user.cfg
@end itemize
When the @code{bit} script is executed later in this process, When the @code{bit} script is executed later in this process,
it will automatically create two other subdirectories: it will automatically create two other subdirectories:
@@ -155,22 +160,22 @@ it will automatically create two other subdirectories:
@item build-$@{CPU@}-tools @item build-$@{CPU@}-tools
@end itemize @end itemize
@itemize @bullet Similarly, the @code{bit_gdb} script will create the
@item src subdirectory @code{build-$@{CPU@}-gdb} and
@item build-$@{CPU@}-tools the @code{bit_rtems} script will create the
@end itemize subdirectory @code{build-$@{CPU@}-rtems}.
The tree should look something like the following figure: The tree should look something like the following figure:
@example @example
@group @group
/whatever/prefix/you/choose/ /whatever/prefix/you/choose/
bit
archive/ archive/
@value{GCC-TAR} @value{GCC-TAR}
@value{BINUTILS-TAR} @value{BINUTILS-TAR}
@value{NEWLIB-TAR} @value{NEWLIB-TAR}
@value{RTEMS-TAR} @value{RTEMS-TAR}
@value{BUILDTOOLS-TAR}
@ifset GCC-RTEMSPATCH @ifset GCC-RTEMSPATCH
@value{GCC-RTEMSPATCH} @value{GCC-RTEMSPATCH}
@end ifset @end ifset
@@ -188,7 +193,10 @@ The tree should look something like the following figure:
@value{NEWLIB-UNTAR}/ @value{NEWLIB-UNTAR}/
@value{RTEMS-UNTAR}/ @value{RTEMS-UNTAR}/
bit bit
bit_gdb
bit_rtems
common.sh
user.cfg
@end group @end group
@end example @end example
@@ -199,6 +207,20 @@ The tree should look something like the following figure:
@c @end html @c @end html
@c @end ifset @c @end ifset
@c
@c Host Specific Notes
@c
@section Host Specific Notes
@subsection Solaris 2.x
The build scripts are written in "shell". The program @code{/bin/sh}
on Solaris 2.x is not robust enough to execute these scripts. If you
are on a Solaris 2.x host, then change the first line of the files
@code{bit}, @code{bit_gdb}, and @code{bit_rtems} to use the
@code{/bin/ksh} shell instead.
@c @c
@c Reading the Documentation @c Reading the Documentation
@c @c
@@ -238,7 +260,7 @@ find . -name "*.rej" -print
@end example @end example
If any files are found with the .rej extension, a patch has been rejected. If any files are found with the .rej extension, a patch has been rejected.
This should not happen with a good patch file. This should not happen with a good patch file which is properly applied.
@end ifset @end ifset
@@ -270,7 +292,7 @@ find . -name "*.rej" -print
@end example @end example
If any files are found with the .rej extension, a patch has been rejected. If any files are found with the .rej extension, a patch has been rejected.
This should not happen with a good patch file. This should not happen with a good patch file which is properly applied.
@end ifset @end ifset
@@ -303,58 +325,20 @@ find . -name "*.rej" -print
@end example @end example
If any files are found with the .rej extension, a patch has been rejected. If any files are found with the .rej extension, a patch has been rejected.
This should not happen with a good patch file. This should not happen with a good patch file which is properly applied.
@end ifset @end ifset
@c @c
@c Modify the bit script @c Localizing the Configuration
@c @c
@section Modify the bit Script @section Localizing the Configuration
Copy the @code{bit} script from @code{archive} to the tools directory. Edit the @code{user.cfg} file to alter the settings of various
variables which are used to tailor the build process.
Edit the @code{bit} file to alter the following environmental variables: Each of the variables set in @code{user.cfg} may be modified
as described below:
@itemize @bullet
@item INSTALL_POINT
@item BINUTILS
@item NEWLIB
@item GCC
@item BUILD_DOCS
@item BUILD_OTHER_LANGUAGES
@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.
# BUILD_OTHER_LANGUAGES:
# Set to "yes" if you want to build Fortran and Objective-C
#
BINUTILS=@value{BINUTILS-UNTAR}
GCC=@value{GCC-UNTAR}
NEWLIB=@value{NEWLIB-UNTAR}
BUILD_DOCS=yes
BUILD_OTHER_LANGUAGES=yes
INSTALL_POINT=/home/joel/$@{GCC@}/$@{target@}
# USERCHANGE - uncomment this if you want to watch the commands.
@end example
Where each of the variables which may be modified is described below:
@table @code @table @code
@item INSTALL_POINT @item INSTALL_POINT
@@ -408,6 +392,36 @@ For example:
BUILD_OTHER_LANGUAGES=yes BUILD_OTHER_LANGUAGES=yes
@end example @end example
@b{NOTE:} Based upon the version of the compiler being used, it may not
be possible to build languages other than C and C++ cross. In many cases,
the language run-time support libraries are not "multilib'ed". Thus the
executable code in these libraries will be for the default compiler settings
and not necessarily be correct for your CPU model.
@item RTEMS
is the directory under tools that contails @value{RTEMS-UNTAR}.
@item ENABLE_RTEMS_POSIX
is set to "yes" if you want to enable the RTEMS POSIX API support.
At this time, this feature is not supported by the UNIX ports of RTEMS
and is forced to "no" for those targets. This corresponds to the
@code{configure} option @code{--enable-posix}.
@item ENABLE_RTEMS_TESTS
is set to "yes" if you want to build the RTEMS Test Suite. If this
is set to "no", then only the Sample Tests will be built.
This corresponds to the @code{configure} option @code{--enable-tests}.
@item ENABLE_RTEMS_TCPIP
is set to "yes" if you want to build the RTEMS TCP/IP Stack. If a
particular BSP does not support TCP/IP, then this feature is automatically
disabled. This corresponds to the @code{configure} option
@code{--enable-tcpip}.
@item ENABLE_RTEMS_CXX
is set to "yes" if you want to build the RTEMS C++ support including
the C++ Wrapper for the Classic API. This corresponds to the
@code{configure} option @code{--enable-cxx}.
@end table @end table
@section Running the bit Script @section Running the bit Script