summaryrefslogtreecommitdiffstats
path: root/doc/started/require.t
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-01-17 21:47:47 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-01-17 21:47:47 +0000
commit6449498bc7dea93900d6980a66af64c9116ef597 (patch)
tree7d89881d70af765dc7ad549095fb9f5f381cba6f /doc/started/require.t
parent2002-02-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff)
downloadrtems-6449498bc7dea93900d6980a66af64c9116ef597.tar.bz2
2001-01-17 Joel Sherrill <joel@OARcorp.com>
* SUPPORT, LICENSE: New files. * Numerous files touched as part of merging the 4.5 branch onto the mainline development trunk and ensuring that the script that cuts snapshots and releases works on the documentation.
Diffstat (limited to 'doc/started/require.t')
-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
+
+