forked from Imagelibrary/rtems
Numerous changes based on comments from Stephan Wilms <Stephan.Wilms@CWA.de>
including a new section in the Getting Started called "Where to Go From Here", lots of index entries added, and more configuration table information.
This commit is contained in:
@@ -211,7 +211,6 @@ The directory tree should look something like the following figure:
|
||||
@value{GCC-UNTAR}/
|
||||
@value{GNAT-UNTAR}/
|
||||
@value{NEWLIB-UNTAR}/
|
||||
@value{RTEMS-UNTAR}/
|
||||
bit_ada
|
||||
bit_gdb
|
||||
bit_rtems
|
||||
@@ -398,13 +397,16 @@ cd tools/@value{GNAT-UNTAR}/src
|
||||
cp -r ada ../../@value{GCC-UNTAR}
|
||||
@end example
|
||||
|
||||
|
||||
===================================================================
|
||||
|
||||
@c
|
||||
@c Localizing the Configuration
|
||||
@c
|
||||
|
||||
@section Localizing the Configuration
|
||||
|
||||
Edit the @code{user.cfg} file to alter the settings of various
|
||||
Edit the @code{user.cfg} file to alter the settings of various
|
||||
variables which are used to tailor the build process.
|
||||
Each of the variables set in @code{user.cfg} may be modified
|
||||
as described below:
|
||||
@@ -416,12 +418,12 @@ 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.
|
||||
|
||||
@b{WARNING}: The @code{INSTALL_POINT} should not be a subdirectory
|
||||
@b{WARNING}: The @code{INSTALL_POINT} should not be a subdirectory
|
||||
under the build directory. The build directory will be removed
|
||||
automatically upon successful completion of the build procedure.
|
||||
|
||||
@item BINUTILS
|
||||
is the directory under tools that contains @value{BINUTILS-UNTAR}.
|
||||
is the directory under tools that contains @value{BINUTILS-UNTAR}.
|
||||
For example:
|
||||
|
||||
@example
|
||||
@@ -448,7 +450,9 @@ NEWLIB=@value{NEWLIB-UNTAR}
|
||||
@end example
|
||||
|
||||
@item BUILD_DOCS
|
||||
is set to "yes" if you want to install documentation.
|
||||
is set to "yes" if you want to install documentation. This requires
|
||||
that tools supporting documentation production be installed. This
|
||||
currently is limited to the GNU texinfo package.
|
||||
For example:
|
||||
|
||||
@example
|
||||
@@ -457,13 +461,22 @@ BUILD_DOCS=yes
|
||||
|
||||
@item BUILD_OTHER_LANGUAGES
|
||||
is set to "yes" if you want to build languages other than C and C++. At
|
||||
the current time, this enables Fortan and Objective-C.
|
||||
the current time, the set of alternative languages includes Java, Fortran,
|
||||
and Objective-C. These alternative languages do not always build cross.
|
||||
Hence this option defaults to "no".
|
||||
|
||||
For example:
|
||||
|
||||
@example
|
||||
BUILD_OTHER_LANGUAGES=yes
|
||||
@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}.
|
||||
|
||||
@@ -475,9 +488,28 @@ and is forced to "no" for those targets. This corresponds to the
|
||||
|
||||
This must be enabled to support the GNAT/RTEMS run-time.
|
||||
|
||||
@item ENABLE_RTEMS_ITRON
|
||||
is set to "yes" if you want to enable the RTEMS ITRON 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-itron}.
|
||||
|
||||
@item ENABLE_RTEMS_MP
|
||||
is set to "yes" if you want to enable the RTEMS multiprocessing
|
||||
support. This feature is not supported by all RTEMS BSPs and
|
||||
is automatically forced to "no" for those BSPs. This corresponds to the
|
||||
@code{configure} option @code{--enable-multiprocessing}.
|
||||
|
||||
@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}.
|
||||
|
||||
@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.
|
||||
is set to "no", then only the Sample Tests will be built. Setting
|
||||
this option to "yes" significantly increases the amount of disk
|
||||
space required to build RTEMS.
|
||||
This corresponds to the @code{configure} option @code{--enable-tests}.
|
||||
|
||||
@item ENABLE_RTEMS_TCPIP
|
||||
@@ -486,10 +518,36 @@ 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}.
|
||||
@item ENABLE_RTEMS_NONDEBUG
|
||||
is set to "yes" if you want to build RTEMS in a fully optimized
|
||||
state. This corresponds to executing @code{make} after configuring
|
||||
the source tree.
|
||||
|
||||
@item ENABLE_RTEMS_DEBUG
|
||||
is set to "yes" if you want to build RTEMS in a debug version.
|
||||
When built for debug, RTEMS will include run-time code to
|
||||
perform consistency checks such as heap consistency checks.
|
||||
Although the precise compilation arguments are BSP dependent,
|
||||
the debug version of RTEMS is usually built at a lower optimization
|
||||
level. This is usually done to reduce inlining which can make
|
||||
tracing code execution difficult. This corresponds to executing
|
||||
@code{make VARIANT=debug} after configuring
|
||||
the source tree.
|
||||
|
||||
@item INSTALL_RTEMS
|
||||
is set to "yes" if you want to install RTEMS after building it.
|
||||
This corresponds to executing @code{make install} after configuring
|
||||
and building the source tree.
|
||||
|
||||
@item ENABLE_RTEMS_MAINTAINER_MODE
|
||||
is set to "yes" if you want to enabled maintainer mode functionality
|
||||
in the RTEMS Makefile. This is disabled by default and it is not
|
||||
expected that most users will want to enable this. When this option
|
||||
is enabled, the build process may attempt to regenerate files that
|
||||
require tools not required when this option is disabled.
|
||||
This corresponds to the @code{configure} option
|
||||
@code{--enable-maintainer-mode}.
|
||||
|
||||
@end table
|
||||
|
||||
@section Running the bit_ada Script
|
||||
@@ -522,6 +580,15 @@ NOTE: The above list of target configurations is the list of RTEMS supported
|
||||
targets. Only a subset of these have been tested with GNAT/RTEMS. For more
|
||||
information, contact your GNAT/RTEMS representative.
|
||||
|
||||
The build process can take a while to complete. Many users find it
|
||||
handy to run the build process in the background, capture the output
|
||||
in a file, and monitor the output. This can be done as follows:
|
||||
|
||||
@example
|
||||
./bit_ada <target configuration> >bit.log 2>&1 &
|
||||
tail -f bit.log
|
||||
@end example
|
||||
|
||||
If no errors are encountered, the @code{bit_ada} script will conclude by
|
||||
printing messages similar to the following:
|
||||
|
||||
|
||||
@@ -16,18 +16,38 @@ assessing the amount of disk space required for your installation:
|
||||
+------------------------------------+--------------------------+
|
||||
| Component | Disk Space Required |
|
||||
+------------------------------------+--------------------------+
|
||||
| archive directory | 30 Mbytes |
|
||||
| tools src unzipped | 100 Mbytes |
|
||||
| archive directory | 40 Mbytes |
|
||||
| tools src unarchived | 200 Mbytes |
|
||||
| each individual build directory | 300 Mbytes worst case |
|
||||
| each installation directory | 20-130 Mbytes |
|
||||
| each installation directory | 20-200 Mbytes |
|
||||
+------------------------------------+--------------------------+
|
||||
@end example
|
||||
|
||||
The disk space required for each installation directory depends
|
||||
primarily on the number of RTEMS BSPs which are to be installed.
|
||||
If a single BSP is installed, then the size of each install directory
|
||||
It is important to understand that the above requirements only address
|
||||
the GNU C/C++ Cross Compiler Tools themselves. Adding additional
|
||||
languages such as Fortran or Objective-C can increase the size
|
||||
of the build and installation directories. Also, the unarchived
|
||||
source and build directories can be removed after the tools are
|
||||
installed.
|
||||
|
||||
After the tools themselves are installed, RTEMS must be built
|
||||
and installed for each Board Support Package that you wish
|
||||
to use. Thus the precise amount of disk space required
|
||||
for each installation directory depends highly on the number
|
||||
of RTEMS BSPs which are to be installed. If a single BSP is
|
||||
installed, then the additional size of each install directory
|
||||
will tend to be in the 40-60 Mbyte range.
|
||||
|
||||
There are a number of factors which must be taken into
|
||||
account in oreder to estimate the amount of disk space required
|
||||
to build RTEMS itself. Attempting to build multiple BSPs in
|
||||
a single step increases the disk space requirements. Similarly
|
||||
enabling optional features increases the build and install
|
||||
space requirements. In particular, enabling and building
|
||||
the RTEMS tests results in a significant increase in build
|
||||
space requirements but since the test are not installed has
|
||||
no impact on installation requirements.
|
||||
|
||||
The instructions in this manual should work on any computer running
|
||||
a UNIX variant. Some native GNU tools are used by this procedure
|
||||
including:
|
||||
|
||||
@@ -26,18 +26,18 @@
|
||||
@set GCC-UNTAR gcc-2.8.1
|
||||
@set GCC-FTPSITE ftp.gnu.org
|
||||
@set GCC-FTPDIR /pub/gnu
|
||||
@set GCC-RTEMSPATCH gcc-2.8.1-rtems-diff-19980527.gz
|
||||
@set GCC-RTEMSPATCH gcc-2.8.1-rtems-gnat-3.12p-20000429.diff.gz
|
||||
|
||||
@c
|
||||
@c GNAT Version
|
||||
@c
|
||||
|
||||
@set GNAT-VERSION gnat 3.11b
|
||||
@set GNAT-TAR gnat-3.11b-src.tar.gz
|
||||
@set GNAT-UNTAR gnat-3.11b-src
|
||||
@set GNAT-VERSION gnat 3.12p
|
||||
@set GNAT-TAR gnat-3.12p-src.tar.gz
|
||||
@set GNAT-UNTAR gnat-3.12p-src
|
||||
@set GNAT-FTPSITE NONE
|
||||
@set GNAT-FTPDIR NO_DIRECTORY
|
||||
@set GNAT-RTEMSPATCH gnat-3.11b-rtems-diff-19981105.gz
|
||||
@set GNAT-RTEMSPATCH gnat-3.12p-rtems-20000429.diff.gz
|
||||
|
||||
@c
|
||||
@c BINUTILS Version
|
||||
@@ -49,7 +49,7 @@
|
||||
@set BINUTILS-UNTAR binutils-2.9.1
|
||||
@set BINUTILS-FTPSITE ftp.gnu.org
|
||||
@set BINUTILS-FTPDIR /pub/gnu
|
||||
@set BINUTILS-RTEMSPATCH binutils-2.9.1-rtems-diff-19981027.gz
|
||||
@set BINUTILS-RTEMSPATCH binutils-2.9.1-rtems-gnat-3.12p-20000429.diff.gz
|
||||
|
||||
@c When forced to use a snapshot
|
||||
@c @set BINUTILS-VERSION gas 980314
|
||||
@@ -63,12 +63,12 @@
|
||||
@c NEWLIB Version
|
||||
@c
|
||||
|
||||
@set NEWLIB-VERSION newlib 1.8.1
|
||||
@set NEWLIB-TAR newlib-1.8.1.tar.gz
|
||||
@set NEWLIB-UNTAR newlib-1.8.1
|
||||
@set NEWLIB-VERSION newlib 1.8.2
|
||||
@set NEWLIB-TAR newlib-1.8.2.tar.gz
|
||||
@set NEWLIB-UNTAR newlib-1.8.2
|
||||
@set NEWLIB-FTPSITE ftp.cygnus.com
|
||||
@set NEWLIB-FTPDIR /pub/newlib
|
||||
@set NEWLIB-RTEMSPATCH newlib-1.8.1-rtems-diff-19980121.gz
|
||||
@set NEWLIB-RTEMSPATCH newlib-1.8.2-rtems-20000501.diff.gz
|
||||
|
||||
@c
|
||||
@c GDB Version
|
||||
@@ -79,18 +79,18 @@
|
||||
@set GDB-UNTAR gdb-4.17
|
||||
@set GDB-FTPSITE ftp.gnu.org
|
||||
@set GDB-FTPDIR /pub/gnu
|
||||
@set GDB-RTEMSPATCH gdb-4.17-rtems-diff-19981027.gz
|
||||
@set GDB-RTEMSPATCH gdb-4.17-rtems-gnat-3.12p-20000429.diff
|
||||
@c @set GDB-GNATPATCH gdb-ada-patch-1.17.8.gz
|
||||
|
||||
@c
|
||||
@c RTEMS Version
|
||||
@c
|
||||
|
||||
@set RTEMS-VERSION RTEMS 4.0.0
|
||||
@set RTEMS-TAR rtems-4.0.0.tgz
|
||||
@set RTEMS-UNTAR rtems-4.0.0
|
||||
@set RTEMS-FTPSITE ftp.OARcorp.com
|
||||
@set RTEMS-FTPDIR /pub/rtems/4.0.0
|
||||
@set BUILDTOOLS-TAR ada_build_scripts-4.0.0.tgz
|
||||
@set RTEMS-VERSION RTEMS 4.5.0-beta2
|
||||
@set RTEMS-TAR rtems-4.5.0-beta2.tgz
|
||||
@set RTEMS-UNTAR rtems-4.5.0-beta2
|
||||
@set RTEMS-FTPSITE ftp.OARcorp.com
|
||||
@set RTEMS-FTPDIR /pub/rtems/betas/4.5.0-beta
|
||||
@set BUILDTOOLS-TAR c_build_scripts-4.5.0-beta2.tgz
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user