summaryrefslogtreecommitdiffstats
path: root/doc/started/require.t
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--doc/started/require.t158
1 files changed, 150 insertions, 8 deletions
diff --git a/doc/started/require.t b/doc/started/require.t
index bbd619fca8..0aff933b7d 100644
--- a/doc/started/require.t
+++ b/doc/started/require.t
@@ -1,5 +1,5 @@
@c
-@c COPYRIGHT (c) 1988-1999.
+@c COPYRIGHT (c) 1988-2002.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@@ -8,6 +8,11 @@
@chapter Requirements
+This chapter describes the build-host system requirements and initial steps
+in installing the GNU C/C++ Cross Compiler Tools and RTEMS on a build-host.
+
+@section Disk Space
+
A fairly large amount of disk space is required to perform the build of the
GNU C/C++ Cross Compiler Tools for RTEMS. The following table may help in
assessing the amount of disk space required for your installation:
@@ -18,7 +23,7 @@ assessing the amount of disk space required for your installation:
+------------------------------------+--------------------------+
| archive directory | 35 Mbytes |
| tools src unarchived | 150 Mbytes |
-| each individual build directory | 300 Mbytes |
+| each individual build directory | up to 500 Mbytes |
| each installation directory | 20-200 Mbytes |
+------------------------------------+--------------------------+
@end example
@@ -39,14 +44,16 @@ 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
+account in order 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.
+space requirements but since the tests are not installed has,
+enabling them has no impact on installation requirements.
+
+@section General Host Software Requirements
The instructions in this manual should work on any computer running
a UNIX variant. Some native GNU tools are used by this procedure
@@ -61,10 +68,34 @@ including:
In addition, some native utilities may be deficient for building
the GNU tools.
-@section GNU makeinfo Version Requirements
+@subsection GCC
+
+Although RTEMS itself is intended to execute on an embedded target,
+there is source code for some native programs included with the RTEMS
+distribution. Some of these programs are used to assist in the building
+of RTEMS itself, while others are BSP specific tools. Regardless,
+no attempt has been made to compile these programs with a non-GNU
+compiler.
+
+@subsection GNU Make
+
+Both NEWLIB and RTEMS use GNU make specific features and can only be built
+using GNU make. Many systems include a make utility that is not GNU make.
+The safest way to meet this requirement is to ensure that when you invoke
+the command @code{make}, it is GNU make. This can be verified by
+attempting to print the GNU make version information:
+
+@example
+make --version
+@end example
+
+If you have GNU make and another make on your system, it is common to put
+the directory containing GNU make before the directory containing other
+implementations of make.
+
+@subsection GNU makeinfo Version Requirements
-In order to build egcs 1.1b, gcc 2.9.x, or newer versions, the GNU
-@code{makeinfo} program
+In order to build gcc 2.9.x or newer versions, the GNU @code{makeinfo} program
installed on your system must be at least version 1.68. The appropriate
version of @code{makeinfo} is distributed with @code{gcc}.
@@ -75,3 +106,114 @@ on your machine:
makeinfo --version
@end example
+@c
+@c Host Specific Notes
+@c
+
+@section Host Specific Notes
+
+@subsection Solaris 2.x
+
+The following problems have been reported by Solaris 2.x users:
+
+@itemize @bullet
+
+@item 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.
+
+@item The native @code{patch} program is broken. Install the GNU version.
+
+@item The native @code{m4} program is deficient. Install the GNU version.
+
+@end itemize
+
+@subsection Linux
+
+The following problems have been reported by Linux users:
+
+@itemize @bullet
+
+@item Certain versions of GNU fileutils include a version of
+@code{install} which does not work properly. Please perform
+the following test to see if you need to upgrade:
+
+@example
+install -c -d /tmp/foo/bar
+@end example
+
+If this does not create the specified directories your install
+program will not install RTEMS properly. You will need to upgrade
+to at least GNU fileutils version 3.16 to resolve this problem.
+
+@end itemize
+
+@section Archive and Build Directories
+
+If you are using RPM or another packaging format that supports
+building a package from source, then there is probably a directory
+structure assumed by that packaging format. Otherwise, you
+are free to use whatever organization you like. However, this
+document will use the directory organization described
+in @ref{Archive and Build Directory Format}.
+
+@subsection RPM Archive and Build Directory Format
+
+For RPM, it is assumed that the following subdirectories
+are under a root directory such as @code{/usr/src/redhat}:
+
+@example
+BUILD
+RPMS
+SOURCES
+SPECS
+SRPMS
+@end example
+
+For the purposes of this document, the RPM @code{SOURCES} directory
+is the directory into which all tool source and patches are
+assumed to reside. The @code{BUILD} directory is where the actual
+build is performed when building binaries from a source RPM.
+The @code{SOURCES} and @code{BUILD} are logically equivalent to
+the @code{archive} and @code{tools} directory discussed in the
+next section.
+
+@subsection Archive and Build Directory Format
+
+When no packaging format requirements are present, the root directory for
+the storage of source archives and patches as well as for building the
+tools is up to the user. The only concern is that there be enough
+disk space to complete the build.
+
+Make an @code{archive} directory to contain the downloaded
+source code and a @code{tools} directory to be used as a build
+directory. The command sequence to do this is shown
+below:
+
+@example
+mkdir archive
+mkdir tools
+@end example
+
+This will result in an initial directory structure similar to the
+one shown in the following figure:
+
+@example
+@group
+/whatever/prefix/you/choose/
+ archive/
+ tools/
+
+@end group
+@end example
+
+@c @ifset use-html
+@c @html
+@c <IMG SRC="sfile12c.jpg" WIDTH=417 HEIGHT=178
+@c ALT="Starting Directory Organization">
+@c @end html
+@c @end ifset
+
+