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:
Joel Sherrill
2000-05-04 19:45:17 +00:00
parent 223b64f331
commit adee597960
31 changed files with 508 additions and 140 deletions

View File

@@ -17,7 +17,7 @@ include $(top_srcdir)/project.am
COMMON_FILES=$(top_srcdir)/common/cpright.texi $(top_builddir)/common/setup.texi
GENERATED_FILES= binaries.texi buildc.texi buildrt.texi gdb.texi intro.texi \
nt.texi require.texi sample.texi
nt.texi require.texi nextstep.texi sample.texi
FILES= tversions.texi
@@ -30,7 +30,7 @@ intro.texi: intro.t tversions.texi
-n "Requirements" $<
require.texi: require.t tversions.texi
$(BMENU) -c -p "EGCS Mailing List" \
$(BMENU) -c -p "GCC Mailing Lists" \
-u "Top" \
-n "Prebuilt Toolset Executables" $<
@@ -56,11 +56,16 @@ sample.texi: sample.t tversions.texi
gdb.texi: gdb.t tversions.texi
$(BMENU) -c -p "Application Executable" \
-u "Top" \
-n "Where To Go From Here" $<
nextstep.texi: nextstep.t tversions.texi
$(BMENU) -c -p "GDB for DINK32" \
-u "Top" \
-n "Using MS-Windows as a Development Host" $<
nt.texi: nt.t tversions.texi
$(BMENU) -c -p "GDB for DINK32" \
$(BMENU) -c -p "Where To Go From Here" \
-u "Top" \
-n "" $<

View File

@@ -157,10 +157,9 @@ which aid in building the tools and RTEMS. They are:
@end itemize
When the @code{bit} script is executed later in this process,
it will automatically create two other subdirectories:
it will automatically create this subdirectory:
@itemize @bullet
@item src
@item build-$@{CPU@}-tools
@end itemize
@@ -195,7 +194,6 @@ The tree should look something like the following figure:
@value{BINUTILS-UNTAR}/
@value{GCC-UNTAR}/
@value{NEWLIB-UNTAR}/
@value{RTEMS-UNTAR}/
bit
bit_gdb
bit_rtems
@@ -250,12 +248,25 @@ to at least GNU fileutile version 3.16 to resolve this problem.
Each of the tools in the GNU development suite comes with documentation.
It is in the reader's and tool maintainers' interest that one read the
documentation before posting a problem to a mailing list or news group.
Much of that documentation is available on-line. The following is
a list of URLs where can find HTML versions of the manuals.
@table @b
GCC Documentation
http://gcc.gnu.org/onlinedocs
Newlib Documentation
Not currently online at http://sourceware.cygnus.com/newlib
Binutils Documentation
Not currently online at http://sourceware.cygnus.com/binutils
@end table
@c
@c EGCS patches
@c GCC patches
@c
@section Apply RTEMS Patch to EGCS
@section Apply RTEMS Patch to GCC
@ifclear GCC-RTEMSPATCH
No RTEMS specific patches are required for @value{GCC-VERSION} to
@@ -396,7 +407,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
@@ -405,7 +418,10 @@ 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
@@ -427,9 +443,28 @@ 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_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
@@ -438,10 +473,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 Script
@@ -470,12 +531,21 @@ Where <target configuration> is one of the following:
@item sparc
@end itemize
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} script will conclude by
printing messages similar to the following:
@example
The src and build-i386-tools subdirectory may now be removed.
The build-i386-tools subdirectory may now be removed.
Started: Fri Apr 10 10:14:07 CDT 1998
Finished: Fri Apr 10 12:01:33 CDT 1998
@@ -523,6 +593,10 @@ in your PATH. As a general rule, including "." in your PATH
is a security risk and should be avoided. Remove "." from
your PATH.
NOTE: In some environments, it may be difficult remove "."
completely from your PATH. In this case, make sure that "."
is after the system directories containing "as" and "ld".
@subsection Error Messages Indicating Configuration Problems
If you see error messages like the following,

View File

@@ -102,6 +102,8 @@ tools/@value{RTEMS-UNTAR}/README.configure
in the RTEMS source tree. If the BSP parameter is not specified,
then all supported BSPs for the selected CPU family will be built.
@b{NOTE:} The POSIX API must be enabled to use GNAT/RTEMS.
@subsection Using the RTEMS configure Script Directly
Make a build directory under tools and build the RTEMS product in this
@@ -112,6 +114,10 @@ comes with the RTEMS distribution. In the installation described in the
section "Unpack the RTEMS source", these configuration options can be found
in the file tools/@value{RTEMS-UNTAR}/README.configure.
The GNAT/RTEMS run-time implementation is based on the POSIX API. Thus
the RTEMS configuration for a GNAT/RTEMS environment MUST include the
@code{--enable-posix} flag.
The following shows the command sequence required to configure,
compile, and install RTEMS with the POSIX API, FreeBSD TCP/IP,
and C++ support disabled. RTEMS will be built to target

View File

@@ -149,15 +149,11 @@ The crossgcc FAQ as well as a number of patches and utiliities
of interest to cross development system users are available
at ftp://ftp.cygnus.com/pub/embedded/crossgcc.
@subsection EGCS Mailing List
@subsection GCC Mailing Lists
egcs@@cygnus.com
See http://gcc.gnu.org for details.
This mailing list is dedicated to the EGCS Project which was
formed to speed the development and integration of the various
GNU languages. The RTEMS and Linux communities were among those
initially targetted by the EGCS Project as being important
for its success. Numerous RTEMS users have made contributions
to this project. Subscribe by sending a message with
the one line "subscribe" to egcs-request@@cygnus.com.
The GCC Project maintains multiple mailing lists. They
are described at the above web site along with subscription
information.

View File

@@ -267,16 +267,16 @@ the Cygwin32 environment with the new path.
@end enumerate
@c
@c EGCS
@c GCC
@c
@section Installing EGCS AND NEWLIB
@section Installing GCC AND NEWLIB
@enumerate
@item Unarchive and patch @value{EGCS-TAR} and @value{NEWLIB-TAR}
@item Unarchive and patch @value{GCC-TAR} and @value{NEWLIB-TAR}
following the instructions in @ref{Unarchiving the Tools}.
Apply the appropriate RTEMS specific patches as detailed in
@ref{Apply RTEMS Patch to EGCS} and @ref{Apply RTEMS Patch to newlib}.
@ref{Apply RTEMS Patch to GCC} and @ref{Apply RTEMS Patch to newlib}.
@b{NOTE}: See @ref{Bug in Patch Utility}.
@@ -291,7 +291,7 @@ or Objective-C as Cygwin32 cross-compilers):
@b{NOTE}: See @ref{Bug in Patch Utility}.
@item Link the following directories from Newlib to the main EGCS directory,
@item Link the following directories from Newlib to the main GCC directory,
/source/@value{GCC-UNTAR}/ :
@itemize @bullet

View File

@@ -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 |
| each individual build directory | 300 Mbytes worst case |
| each installation directory | 20-400 Mbytes |
| archive directory | 35 Mbytes |
| tools src unarchived | 150 Mbytes |
| each individual build directory | 300 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:

View File

@@ -74,6 +74,7 @@ END-INFO-DIR-ENTRY
@include buildrt.texi
@include sample.texi
@include gdb.texi
@include nextstep.texi
@include nt.texi
@ifinfo
@@ -90,6 +91,7 @@ This is the online version of the Getting Started with RTEMS for C/C++ Users.
* Building RTEMS::
* Building the Sample Application::
* Building the GNU Debugger::
* Where To Go From Here::
* Using MS-Windows as a Development Host::
@end menu

View File

@@ -27,7 +27,7 @@
@set GCC-FTPSITE gcc.gnu.org
@set GCC-FTPDIR /pub/gcc/gcc-2.95.2
@set GCC-HTTPDIR /pub/gcc/releases/index.html
@set GCC-RTEMSPATCH gcc-2.95.2-rtems-20000106.diff
@set GCC-RTEMSPATCH gcc-2.95.2-rtems-20000427.diff.gz
@c
@c BINUTILS Version
@@ -42,12 +42,12 @@
@c @set BINUTILS-RTEMSPATCH binutils-2.9.1-rtems-diff-19981012.gz
@c The "official" Linux binutils
@set BINUTILS-VERSION binutils 2.9.5.0.22
@set BINUTILS-TAR binutils-2.9.5.0.22.tar.gz
@set BINUTILS-UNTAR binutils-2.9.5.0.22
@set BINUTILS-VERSION binutils 2.9.5.0.24
@set BINUTILS-TAR binutils-2.9.5.0.24.tar.gz
@set BINUTILS-UNTAR binutils-2.9.5.0.24
@set BINUTILS-FTPSITE ftp.varesearch.com
@set BINUTILS-FTPDIR /pub/support/hjl/binutils
@set BINUTILS-RTEMSPATCH binutils-2.9.5.0.22-rtems-20000114.diff
@set BINUTILS-RTEMSPATCH binutils-2.9.5.0.24-rtems-20000207.diff.gz
@c When forced to use a snapshot
@c @set BINUTILS-VERSION gas 980314
@@ -61,12 +61,13 @@
@c NEWLIB Version
@c
@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 sourceware.cygnus.com
@set NEWLIB-FTPDIR /pub/newlib
@set NEWLIB-RTEMSPATCH newlib-1.8.2-rtems-20000104.diff
@set NEWLIB-RTEMSPATCH newlib-1.8.2-rtems-20000501.diff.gz
@c
@c GDB Version
@@ -77,16 +78,17 @@
@set GDB-UNTAR gdb-4.18
@set GDB-FTPSITE ftp.gnu.org
@set GDB-FTPDIR /pub/gnu/gdb
@set GDB-RTEMSPATCH gdb-4.18-rtems-20000107.diff
@set GDB-RTEMSPATCH gdb-4.18-rtems-20000502.diff.gz
@c
@c RTEMS Version
@c
@set RTEMS-VERSION RTEMS 4.5.0-beta
@set RTEMS-TAR rtems-4.5.0-beta.tgz
@set RTEMS-UNTAR rtems-4.5.0-beta
@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/releases/4.5.0-beta
@set BUILDTOOLS-TAR c_build_scripts-20000104.tgz
@set RTEMS-FTPDIR /pub/rtems/betas/4.5.0-beta
@set BUILDTOOLS-TAR c_build_scripts-4.5.0-beta2.tgz