[2995cc8] | 1 | @c |
---|
[6449498] | 2 | @c COPYRIGHT (c) 1988-2002. |
---|
[2995cc8] | 3 | @c On-Line Applications Research Corporation (OAR). |
---|
| 4 | @c All rights reserved. |
---|
| 5 | @c |
---|
| 6 | @c $Id$ |
---|
| 7 | @c |
---|
| 8 | |
---|
[9f9efbc] | 9 | @chapter Prebuilt Toolset Executables |
---|
[2995cc8] | 10 | |
---|
[6449498] | 11 | Precompiled toolsets are available for Linux, Cygwin, FreeBSD, |
---|
| 12 | and Solaris. These are packaged in the following formats: |
---|
| 13 | |
---|
| 14 | @itemize @bullet |
---|
[bf31efd] | 15 | @item Linux - RPM |
---|
| 16 | @item Cygwin - tar.bz2 |
---|
| 17 | @item Solaris - tar.bz2 |
---|
[6449498] | 18 | @end itemize |
---|
| 19 | |
---|
[bf31efd] | 20 | RPM is an acronym for the RPM Package Manager. RPM is the |
---|
[2995cc8] | 21 | native package installer for many Linux distributions including |
---|
[bf31efd] | 22 | RedHat and SuSE. |
---|
| 23 | @c RPM supports other operating systems including |
---|
| 24 | @c Cygwin. @uref{mailto:D.J@@fiddes.surfaid.org,David Fiddes <D.J@@fiddes.surfaid.org>} |
---|
| 25 | @c did the initial groundwork that lead to Cygwin RPMs being available. |
---|
[2995cc8] | 26 | |
---|
[6449498] | 27 | The prebuilt binaries are intended to be easy to install and |
---|
| 28 | the instructions are similar regardless of the host environment. |
---|
| 29 | There are a few structural issues with the packaging of the RTEMS |
---|
| 30 | Cross Toolset binaries that you need to be aware of. |
---|
[2995cc8] | 31 | |
---|
| 32 | @enumerate |
---|
| 33 | @item There are dependencies between the various packages. |
---|
| 34 | This requires that certain packages be installed before others may be. |
---|
[6449498] | 35 | Some packaging formats enforce this dependency. |
---|
[2995cc8] | 36 | |
---|
[6449498] | 37 | @item Some packages are target CPU family independent and shared |
---|
[2995cc8] | 38 | across all target architectures. These are referred to as |
---|
| 39 | "base" packages. |
---|
| 40 | |
---|
| 41 | @item If buildable for a particular CPU, RPMs are provided for |
---|
[bf31efd] | 42 | Ada (gnat), Chill, Java (gcj), Fortran (g77), and Objective-C (objc). |
---|
| 43 | These binaries are strictly optional. |
---|
[2995cc8] | 44 | |
---|
| 45 | @end enumerate |
---|
| 46 | |
---|
[6449498] | 47 | NOTE: Installing toolset binaries does not install RTEMS itself, only the tools |
---|
| 48 | required to build RTEMS. See @ref{Building RTEMS} for the next |
---|
| 49 | step in the process. |
---|
| 50 | |
---|
| 51 | @section RPMs |
---|
| 52 | |
---|
| 53 | This section provides information on installing and removing RPMs. |
---|
| 54 | |
---|
| 55 | @subsection Installing RPMs |
---|
[9f9efbc] | 56 | |
---|
[2995cc8] | 57 | The following is a sample session illustrating the installation |
---|
| 58 | of a C/C++ toolset targeting the SPARC architecture. |
---|
| 59 | |
---|
| 60 | @example |
---|
[bf31efd] | 61 | rpm -i rtems-base-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.i386.rpm |
---|
| 62 | rpm -i sparc-rtems-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.i386.rpm |
---|
| 63 | rpm -i rtems-base-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm |
---|
| 64 | rpm -i sparc-rtems-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm |
---|
| 65 | rpm -i rtems-base-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.i386.rpm |
---|
| 66 | rpm -i sparc-rtems-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.i386.rpm |
---|
[2995cc8] | 67 | @end example |
---|
| 68 | |
---|
[d0a4cad] | 69 | Upon successful completion of the above command sequence, a |
---|
[6449498] | 70 | C/C++ cross development toolset targeting the SPARC is |
---|
[bf31efd] | 71 | installed in @code{@value{RTEMSPREFIX}}. In order to use this toolset, |
---|
| 72 | the directory @code{@value{RTEMSPREFIX}/bin} must be included in your |
---|
[d0a4cad] | 73 | PATH. |
---|
| 74 | |
---|
[6449498] | 75 | Once you have successfully installed the RPMs for BINUTILS, GCC, |
---|
| 76 | NEWLIB, and GDB, then you may proceed directly to @ref{Building RTEMS}. |
---|
| 77 | |
---|
| 78 | @subsection Determining Which RTEMS RPMs are Installed |
---|
[d0a4cad] | 79 | |
---|
[6449498] | 80 | The following command will report which RTEMS RPMs are currently |
---|
| 81 | installed: |
---|
| 82 | |
---|
| 83 | @example |
---|
| 84 | rpm -q -g rtems |
---|
| 85 | @end example |
---|
| 86 | |
---|
| 87 | @subsection Removing RPMs |
---|
[9f9efbc] | 88 | |
---|
| 89 | The following is a sample session illustrating the removal |
---|
| 90 | of a C/C++ toolset targeting the SPARC architecture. |
---|
| 91 | |
---|
| 92 | @example |
---|
[bf31efd] | 93 | rpm -e sparc-rtems-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.i386.rpm |
---|
| 94 | rpm -e rtems-base-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.i386.rpm |
---|
| 95 | rpm -e sparc-rtems-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm |
---|
| 96 | rpm -e rtems-base-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.i386.rpm |
---|
| 97 | rpm -e sparc-rtems-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.i386.rpm |
---|
| 98 | rpm -e rtems-base-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.i386.rpm |
---|
[9f9efbc] | 99 | @end example |
---|
| 100 | |
---|
[6449498] | 101 | NOTE: If you have installed any RTEMS BSPs, then it is likely that |
---|
| 102 | RPM will complain about not being able to remove everything. |
---|
| 103 | |
---|
| 104 | @section Zipped Tar Files |
---|
| 105 | |
---|
| 106 | This section provides information on installing and removing |
---|
| 107 | Zipped Tar Files (.tgz). |
---|
| 108 | |
---|
| 109 | @subsection Installing Zipped Tar Files |
---|
| 110 | |
---|
| 111 | The following is a sample session illustrating the installation |
---|
| 112 | of a C/C++ toolset targeting the SPARC architecture assuming |
---|
| 113 | that GNU tar is installed as @code{tar}: |
---|
| 114 | |
---|
| 115 | @example |
---|
| 116 | cd / |
---|
[bf31efd] | 117 | tar xzf rtems-base-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.tgz |
---|
| 118 | tar xzf sparc-rtems-binutils-@value{BINUTILSVERSION}-@value{BINUTILSRPMRELEASE}.tgz |
---|
| 119 | tar xzf rtems-base-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.tgz |
---|
| 120 | tar xzf sparc-rtems-gcc-gcc@value{GCCVERSION}newlib@value{NEWLIBVERSION}-@value{GCCRPMRELEASE}.tgz |
---|
| 121 | tar xzf rtems-base-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.tgz |
---|
| 122 | tar xzf sparc-rtems-gdb-@value{GDBVERSION}-@value{GDBRPMRELEASE}.tgz |
---|
[6449498] | 123 | @end example |
---|
| 124 | |
---|
| 125 | Upon successful completion of the above command sequence, a |
---|
| 126 | C/C++ cross development toolset targeting the SPARC is |
---|
[bf31efd] | 127 | installed in @code{@value{RTEMSPREFIX}}. In order to use this toolset, |
---|
| 128 | the directory @code{@value{RTEMSPREFIX}} must be included in your |
---|
[6449498] | 129 | PATH. |
---|
| 130 | |
---|
| 131 | @subsection Removing Zipped Tar Files |
---|
| 132 | |
---|
| 133 | There is no automatic way to remove the contents of a @code{tgz} once |
---|
[bf31efd] | 134 | it is installed. The contents of the directory @code{@value{RTEMSPREFIX}} |
---|
[6449498] | 135 | can be removed but this will likely result in other packages |
---|
| 136 | being removed as well. |
---|
| 137 | |
---|
| 138 | |
---|