RSB: Fix the heading level for the PDF.

This commit is contained in:
Chris Johns 2016-11-02 15:20:35 +11:00
parent 998ef92cd1
commit 9742e45add
10 changed files with 112 additions and 100 deletions

View File

@ -6,7 +6,7 @@
.. _Bugs, Crashes, and Build Failures: .. _Bugs, Crashes, and Build Failures:
Bugs, Crashes, and Build Failures Bugs, Crashes, and Build Failures
################################# =================================
The RTEMS Source Builder is a Python program and every care is taken to test The RTEMS Source Builder is a Python program and every care is taken to test
the code however bugs, crashes, and build failures can and do happen. If you the code however bugs, crashes, and build failures can and do happen. If you
@ -50,7 +50,7 @@ error should be just above it.
.. _Contributing: .. _Contributing:
Contributing Contributing
############ ============
We welcome all users adding, fixing, updating and upgrading packages and their We welcome all users adding, fixing, updating and upgrading packages and their
configurations. The RSB is open source and open to contributions. These can be configurations. The RSB is open source and open to contributions. These can be

View File

@ -4,10 +4,10 @@
.. comment Chris Johns <chrisj@rtems.org> .. comment Chris Johns <chrisj@rtems.org>
Commands Commands
######## ========
Checker (sb-check) Checker (sb-check)
~~~~~~~~~~~~~~~~~~ ------------------
This commands checks your system is set up correctly. Most options are ignored:: This commands checks your system is set up correctly. Most options are ignored::
@ -47,7 +47,7 @@ This commands checks your system is set up correctly. Most options are ignored::
Environment is ok Environment is ok
Defaults (sb-defaults) Defaults (sb-defaults)
~~~~~~~~~~~~~~~~~~~~~~ ----------------------
This commands outputs and the default macros for your when given no This commands outputs and the default macros for your when given no
arguments. Most options are ignored:: arguments. Most options are ignored::
@ -85,7 +85,7 @@ arguments. Most options are ignored::
--regression : Set --no-install, --keep-going and --always-clean --regression : Set --no-install, --keep-going and --always-clean
Set Builder (sb-set-builder) Set Builder (sb-set-builder)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ----------------------------
This command builds a set:: This command builds a set::
@ -286,7 +286,7 @@ The ``arguments`` are a list of build sets to build.
``dep[?]` prefix where ``?`` is a number. The files are listed alphabetically. ``dep[?]` prefix where ``?`` is a number. The files are listed alphabetically.
Set Builder (sb-builder) Set Builder (sb-builder)
~~~~~~~~~~~~~~~~~~~~~~~~ ------------------------
This command builds a configuration as described in a configuration This command builds a configuration as described in a configuration
file. Configuration files have the extension of ``.cfg``:: file. Configuration files have the extension of ``.cfg``::

View File

@ -6,7 +6,7 @@
.. _Configuration: .. _Configuration:
Configuration Configuration
############# =============
The RTEMS Source Builder has two types of configuration data: The RTEMS Source Builder has two types of configuration data:
@ -46,7 +46,7 @@ character. Anything after this character on the line is ignored. There is no
block comment. block comment.
Source and Patches Source and Patches
~~~~~~~~~~~~~~~~~~ ------------------
The RTEMS Source Builder provides a flexible way to manage source. Source and The RTEMS Source Builder provides a flexible way to manage source. Source and
patches are declare in configurations file using the ``source`` and ``patch`` patches are declare in configurations file using the ``source`` and ``patch``
@ -76,7 +76,7 @@ following schemes are provided:
Local access to an existing source directory. Local access to an existing source directory.
HTTP, HTTPS, and FTP HTTP, HTTPS, and FTP
^^^^^^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~
Remote access to TAR or ZIP files is provided using HTTP, HTTPS and FTP Remote access to TAR or ZIP files is provided using HTTP, HTTPS and FTP
protocols. The full URL provided is used to access the remote file including protocols. The full URL provided is used to access the remote file including
@ -139,7 +139,7 @@ STLINK project on GitHub and version is:
%source set stlink https://api.github.com/repos/texane/stlink/texane-stlink-%{stlink_version}.tar.gz %source set stlink https://api.github.com/repos/texane/stlink/texane-stlink-%{stlink_version}.tar.gz
GIT GIT
^^^ ~~~
A GIT repository can be cloned and used as source. The GIT repository resides A GIT repository can be cloned and used as source. The GIT repository resides
in the 'source' directory under the ``git`` directory. You can edit, update and in the 'source' directory under the ``git`` directory. You can edit, update and
@ -183,7 +183,7 @@ used by the RSB to select a git repository can be removed using *none* or
replaced with one of the standard git protcols. replaced with one of the standard git protcols.
CVS CVS
^^^ ~~~
A CVS repository can be checked out. CVS is more complex than GIT to handle A CVS repository can be checked out. CVS is more complex than GIT to handle
because of the modules support. This can effect the paths the source ends up because of the modules support. This can effect the paths the source ends up
@ -211,7 +211,7 @@ The following is an example of checking out from a CVS repository:
%source set newlib cvs://pserver:anoncvs@sourceware.org/cvs/src?module=newlib?src-prefix=src %source set newlib cvs://pserver:anoncvs@sourceware.org/cvs/src?module=newlib?src-prefix=src
Macros and Defaults Macros and Defaults
~~~~~~~~~~~~~~~~~~~ -------------------
The RTEMS Source Builder uses tables of *macros* read in when the tool The RTEMS Source Builder uses tables of *macros* read in when the tool
runs. The initial global set of macros is called the *defaults*. These values runs. The initial global set of macros is called the *defaults*. These values
@ -242,7 +242,7 @@ as part of the same build set and configuration and changes are global to that
build set and configuration. build set and configuration.
Macro Maps and Files Macro Maps and Files
^^^^^^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~
Macros are read in from files when the tool starts. The default settings are Macros are read in from files when the tool starts. The default settings are
read from the defaults macro file called ``defaults.mc`` located in the top read from the defaults macro file called ``defaults.mc`` located in the top
@ -339,7 +339,7 @@ The macro map defaults to ``global`` at the start of each included file and the
map setting of the macro file including the other macro files does not change. map setting of the macro file including the other macro files does not change.
Personal Macros Personal Macros
^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~
When the tools start to run they will load personal macros. Personal macros are When the tools start to run they will load personal macros. Personal macros are
in the standard format for macros in a file. There are two places personal in the standard format for macros in a file. There are two places personal
@ -350,7 +350,7 @@ directory. You need to have the environment variable ``HOME`` defined for this
work. work.
Report Mailing Report Mailing
~~~~~~~~~~~~~~ --------------
The build reports can be mailed to a specific email address to logging and The build reports can be mailed to a specific email address to logging and
monitoring. Mailing requires a number of parameters to function. These are: monitoring. Mailing requires a number of parameters to function. These are:
@ -393,7 +393,7 @@ default is ``localhost``. You can override the default with a personal
or user macro file or via the command line option ``--smtp-host``. or user macro file or via the command line option ``--smtp-host``.
Build Set Files Build Set Files
~~~~~~~~~~~~~~~ ---------------
Build set files lets you list the packages in the build set you are defining Build set files lets you list the packages in the build set you are defining
and have a file extension of ``.bset``. Build sets can define macro variables, and have a file extension of ``.bset``. Build sets can define macro variables,
@ -426,7 +426,7 @@ package configuration the package is built with the package builder. This all
happens once the build set file has finished being scanned. happens once the build set file has finished being scanned.
Configuration Control Configuration Control
~~~~~~~~~~~~~~~~~~~~~ ---------------------
The RTEMS Souce Builder is designed to fit within most verification and The RTEMS Souce Builder is designed to fit within most verification and
validation processes. All of the RTEMS Source Builder is source code. The validation processes. All of the RTEMS Source Builder is source code. The
@ -477,7 +477,7 @@ the earlier revision number will not be effected by the change. This locks down
a specific configuration over time. a specific configuration over time.
Personal Configurations Personal Configurations
~~~~~~~~~~~~~~~~~~~~~~~ -----------------------
The RSB supports personal configurations. You can view the RTEMS support in the The RSB supports personal configurations. You can view the RTEMS support in the
``rtems`` directory as a private configuration tree that resides within the RSB ``rtems`` directory as a private configuration tree that resides within the RSB
@ -497,7 +497,7 @@ build set file. The section 'Adding New Configurations' details how to add a
new confguration. new confguration.
New Configurations New Configurations
~~~~~~~~~~~~~~~~~~ ------------------
This section describes how to add a new configuration to the RSB. We will add a This section describes how to add a new configuration to the RSB. We will add a
configuration to build the Device Tree Compiler. The Device Tree Compiler or configuration to build the Device Tree Compiler. The Device Tree Compiler or
@ -510,7 +510,7 @@ DTC is supported in the RSB and you can find the configuration files under the
``bare/config`` tree. I suggest you have a brief look over these files. ``bare/config`` tree. I suggest you have a brief look over these files.
Layering by Including Layering by Including
^^^^^^^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~
Configurations can be layered using the ``%include`` directive. The user Configurations can be layered using the ``%include`` directive. The user
invokes the outer layers which include inner layers until all the required invokes the outer layers which include inner layers until all the required
@ -521,7 +521,7 @@ release to another. Macro variables are used to provide the specific
configuration details. configuration details.
Configuration File Numbering Configuration File Numbering
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Configuration files have a number at the end. This is a release number for that Configuration files have a number at the end. This is a release number for that
configuration and it gives us the ability to track a specific configuration for configuration and it gives us the ability to track a specific configuration for
@ -536,7 +536,7 @@ configuration file between version 1.1.0 and version 1.2.0. An update to any
previous release lets us still build the package. previous release lets us still build the package.
Common Configuration Scripts Common Configuration Scripts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Common configuration scripts that are independent of version, platform and Common configuration scripts that are independent of version, platform and
architecture are useful to everyone. These live in the Source Builder's architecture are useful to everyone. These live in the Source Builder's
@ -547,7 +547,7 @@ built. They expect to be wrapped by a configuration file that ties the package
to a specific version and optionally specific patches. to a specific version and optionally specific patches.
DTC Example DTC Example
^^^^^^^^^^^ ~~~~~~~~~~~
We will be building the DTC for your host rather than a package for RTEMS. We We will be building the DTC for your host rather than a package for RTEMS. We
will create a file called ``source-builder/config/dtc-1-1.cfg``. This is a will create a file called ``source-builder/config/dtc-1-1.cfg``. This is a
@ -755,7 +755,7 @@ The command also supplies the ``--trace`` option. The output in the log file
will contian all the macros. will contian all the macros.
Debugging Debugging
^^^^^^^^^ ~~~~~~~~~
New configuration files require debugging. There are two types of New configuration files require debugging. There are two types of
debugging. The first is debugging RSB script bugs. The ``--dry-run`` option is debugging. The first is debugging RSB script bugs. The ``--dry-run`` option is
@ -773,7 +773,7 @@ and change directory into them and manually run commands until to figure what
the package requires. the package requires.
Scripting Scripting
~~~~~~~~~ ---------
Configuration files specify how to build a package. Configuration files are Configuration files specify how to build a package. Configuration files are
scripts and have a ``.cfg`` file extension. The script format is based loosely scripts and have a ``.cfg`` file extension. The script format is based loosely
@ -876,7 +876,7 @@ The script language is implemented in terms of macros. The built-in list is:
command line option. command line option.
Expanding Expanding
^^^^^^^^^ ~~~~~~~~~
A macro can be ``%{string}`` or the equivalent of ``%string``. The following macro A macro can be ``%{string}`` or the equivalent of ``%string``. The following macro
expansions supported are: expansions supported are:
@ -918,7 +918,7 @@ expansions supported are:
.. _prep: .. _prep:
%prep %prep
^^^^^ ~~~~~
The +%prep+ macro starts a block that continues until the next block macro. The The +%prep+ macro starts a block that continues until the next block macro. The
*prep* or preparation block defines the setup of the package's source and is a *prep* or preparation block defines the setup of the package's source and is a
@ -1011,7 +1011,7 @@ To apply these patches::
.. _build: .. _build:
%build %build
^^^^^^ ~~~~~~
The ``%build`` macro starts a block that continues until the next block The ``%build`` macro starts a block that continues until the next block
macro. The build block is a series of shell commands that execute to build the macro. The build block is a series of shell commands that execute to build the
@ -1074,7 +1074,7 @@ a JTAG debugging device for the ST ARM family of processors::
has. has.
%install %install
^^^^^^^^ ~~~~~~~~
The ``%install`` macro starts a block that continues until the next block The ``%install`` macro starts a block that continues until the next block
macro. The install block is a series of shell commands that execute to install macro. The install block is a series of shell commands that execute to install
@ -1113,7 +1113,7 @@ Looking at the same example as in :ref:`build`::
make variable. make variable.
%clean %clean
^^^^^^ ~~~~~~
The ``%clean`` macro starts a block that continues until the next block The ``%clean`` macro starts a block that continues until the next block
macro. The clean block is a series of shell commands that execute to clean up macro. The clean block is a series of shell commands that execute to clean up
@ -1121,7 +1121,7 @@ after a package has been built and install. This macro is currenly not been
used because the RTEMS Source Builder automatically cleans up. used because the RTEMS Source Builder automatically cleans up.
%include %include
^^^^^^^^ ~~~~~~~~
The ``%include`` macro inline includes the specific file. The ``__confdir`` The ``%include`` macro inline includes the specific file. The ``__confdir``
path is searched. Any relative path component of the include file is appended path is searched. Any relative path component of the include file is appended
@ -1140,7 +1140,7 @@ builds the package::
%include %{_configdir}/gcc-4.7-1.cfg %include %{_configdir}/gcc-4.7-1.cfg
%name %name
^^^^^ ~~~~~
The name of the package being built. The name typically contains the components The name of the package being built. The name typically contains the components
of the package and their version number plus a revision number. For the GCC of the package and their version number plus a revision number. For the GCC
@ -1149,7 +1149,7 @@ with Newlib configuration the name is typically::
Name: %{_target}-gcc-%{gcc_version}-newlib-%{newlib_version}-%{release} Name: %{_target}-gcc-%{gcc_version}-newlib-%{newlib_version}-%{release}
%summary %summary
^^^^^^^^ ~~~~~~~~
The ``%summary`` is a brief description of the package. It is useful when The ``%summary`` is a brief description of the package. It is useful when
reporting. This information is not capture in the package anywhere. For the GCC reporting. This information is not capture in the package anywhere. For the GCC
@ -1158,7 +1158,7 @@ with Newlib configuration the summary is typically::
Summary: GCC v%{gcc_version} and Newlib v%{newlib_version} for target %{_target} on host %{_host} Summary: GCC v%{gcc_version} and Newlib v%{newlib_version} for target %{_target} on host %{_host}
%release %release
^^^^^^^^ ~~~~~~~~
The ``%release`` is packaging number that allows revisions of a package to The ``%release`` is packaging number that allows revisions of a package to
happen where none package versions change. This value typically increases when happen where none package versions change. This value typically increases when
@ -1167,7 +1167,7 @@ the configuration building the package changes::
%define release 1 %define release 1
%version %version
^^^^^^^^ ~~~~~~~~
The ``%version`` macro sets the version the package. If the package is a single The ``%version`` macro sets the version the package. If the package is a single
component it tracks that component's version number. For example in the component it tracks that component's version number. For example in the
@ -1178,7 +1178,7 @@ number. In this case the GCC version is used::
Version: %{gcc_version} Version: %{gcc_version}
%buildarch %buildarch
^^^^^^^^^^ ~~~~~~~~~~
The ``%buildarch`` macro is set to the architecture the package contains. This The ``%buildarch`` macro is set to the architecture the package contains. This
is currently not used in the RTEMS Source Builder and may go away. This macro is currently not used in the RTEMS Source Builder and may go away. This macro
@ -1186,7 +1186,7 @@ is more important in a real packaging system where the package could end up on
the wrong architecture. the wrong architecture.
%source %source
^^^^^^^ ~~~~~~~
The ``%source`` macro has 3 commands that controls what it does. You can The ``%source`` macro has 3 commands that controls what it does. You can
``set`` the source files, ``add`` source files to a source group, and ``setup`` ``set`` the source files, ``add`` source files to a source group, and ``setup``
@ -1255,7 +1255,7 @@ Accepted options are:
the build directory. the build directory.
%patch %patch
^^^^^^ ~~~~~~
The ``%patch`` macro has the same 3 command as the ``%source`` command however The ``%patch`` macro has the same 3 command as the ``%source`` command however
the ``set`` commands is not really that useful with the with command. You add the ``set`` commands is not really that useful with the with command. You add
@ -1291,7 +1291,7 @@ patches::
2. The default option used to apply the patch. 2. The default option used to apply the patch.
%hash %hash
^^^^^ ~~~~~
The ``%hash`` macro requires 3 arguments and defines a checksum for a specific The ``%hash`` macro requires 3 arguments and defines a checksum for a specific
file. The checksum is not applied until the file is checked before downloading file. The checksum is not applied until the file is checked before downloading
@ -1324,25 +1324,25 @@ Downloading of repositories such as git and cvs cannot be checksumed. It is
assumed those protocols and tools manage the state of the files. assumed those protocols and tools manage the state of the files.
%echo %echo
^^^^^ ~~~~~
The ``%echo`` macro outputs the following string to stdout. This can also be used The ``%echo`` macro outputs the following string to stdout. This can also be used
as ``%{echo: message}``. as ``%{echo: message}``.
%warning %warning
^^^^^^^^ ~~~~~~~~
The ``%warning`` macro outputs the following string as a warning. This can also The ``%warning`` macro outputs the following string as a warning. This can also
be used as ``%{warning: message}``. be used as ``%{warning: message}``.
%error %error
^^^^^^ ~~~~~~
The ``%error`` macro outputs the follow string as an error and exits the RTEMS The ``%error`` macro outputs the follow string as an error and exits the RTEMS
Source Builder. This can also be used as ``%{error: message}``. Source Builder. This can also be used as ``%{error: message}``.
%select %select
^^^^^^^ ~~~~~~~
The ``%select`` macro selects the map specified. If there is no map no error or The ``%select`` macro selects the map specified. If there is no map no error or
warning is generated. Macro maps provide a simple way for a user to override warning is generated. Macro maps provide a simple way for a user to override
@ -1365,7 +1365,7 @@ The default map is ``global``::
2. Defining macros only updates the ``global`` map and not the selected map. 2. Defining macros only updates the ``global`` map and not the selected map.
%define %define
^^^^^^^ ~~~~~~~
The ``%define`` macro defines a new macro or updates an existing one. If no The ``%define`` macro defines a new macro or updates an existing one. If no
value is given it is assumed to be ``1``:: value is given it is assumed to be ``1``::
@ -1379,13 +1379,13 @@ value is given it is assumed to be ``1``::
1. The macro _one_ is set to 1. 1. The macro _one_ is set to 1.
%undefine %undefine
^^^^^^^^^ ~~~~~~~~~
The ``%undefine`` macro removes a macro if it exists. Any further references to The ``%undefine`` macro removes a macro if it exists. Any further references to
it will result in an undefine macro error. it will result in an undefine macro error.
%if %if
^^^ ~~~
The ``%if`` macro starts a conditional logic block that can optionally have a The ``%if`` macro starts a conditional logic block that can optionally have a
*else* section. A test follows this macro and can have the following operators: *else* section. A test follows this macro and can have the following operators:
@ -1462,7 +1462,7 @@ The ``%if`` macro starts a conditional logic block that can optionally have a
right hand side. right hand side.
%ifn %ifn
^^^^ ~~~~
The ``%ifn`` macro inverts the normal ``%if`` logic. It avoids needing to provide The ``%ifn`` macro inverts the normal ``%if`` logic. It avoids needing to provide
empty *if* blocks followed by *else* blocks. It is useful when checking if a empty *if* blocks followed by *else* blocks. It is useful when checking if a
@ -1473,42 +1473,42 @@ macro is defined::
%endif %endif
%ifarch %ifarch
^^^^^^^ ~~~~~~~
The ``%ifarch`` is a short cut for ``%if %{_arch} == i386``. Currently not used. The ``%ifarch`` is a short cut for ``%if %{_arch} == i386``. Currently not used.
%ifnarch %ifnarch
^^^^^^^^ ~~~~~~~~
The ``%ifnarch`` is a short cut for ``%if %{_arch} != i386``. Currently not The ``%ifnarch`` is a short cut for ``%if %{_arch} != i386``. Currently not
used. used.
%ifos %ifos
^^^^^ ~~~~~
The ``%ifos`` is a short cut for ``%if %{_os} != mingw32``. It allows The ``%ifos`` is a short cut for ``%if %{_os} != mingw32``. It allows
conditional support for various operating system differences when building conditional support for various operating system differences when building
packages. packages.
%else %else
^^^^^ ~~~~~
The ``%else`` macro starts the conditional *else* block. The ``%else`` macro starts the conditional *else* block.
%endfi %endfi
^^^^^^ ~~~~~~
The ``%endif`` macro ends a conditional logic block. The ``%endif`` macro ends a conditional logic block.
%bconf_with %bconf_with
^^^^^^^^^^^ ~~~~~~~~~~~
The ``%bconf_with`` macro provides a way to test if the user has passed a The ``%bconf_with`` macro provides a way to test if the user has passed a
specific option on the command line with the ``--with-<label>`` option. This specific option on the command line with the ``--with-<label>`` option. This
option is only available with the ``sb-builder`` command. option is only available with the ``sb-builder`` command.
%bconf_without %bconf_without
^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~
The ``%bconf_without`` macro provides a way to test if the user has passed a The ``%bconf_without`` macro provides a way to test if the user has passed a
specific option on the command line with the ``--without-<label>`` option. This specific option on the command line with the ``--without-<label>`` option. This

View File

@ -4,7 +4,7 @@
.. comment Chris Johns <chrisj@rtems.org> .. comment Chris Johns <chrisj@rtems.org>
Cross and Canadian Cross Building Cross and Canadian Cross Building
################################# =================================
Cross building and Canadian Cross building is the process of building on one Cross building and Canadian Cross building is the process of building on one
machine an executable that runs on another machine. An example is building a machine an executable that runs on another machine. An example is building a
@ -14,7 +14,7 @@ and Canadian cross building.
This sections details how to the RSB to cross and Canadian cross build. This sections details how to the RSB to cross and Canadian cross build.
Cross Building Cross Building
~~~~~~~~~~~~~~ --------------
Cross building is where the _build_ machine and _host_ are different. The Cross building is where the _build_ machine and _host_ are different. The
_build_ machine runs the RSB and the _host_ machine is where the output from _build_ machine runs the RSB and the _host_ machine is where the output from
@ -46,7 +46,7 @@ To build the NTP package for RTEMS you enter the RSB command::
'bin' directory at the end of the path. 'bin' directory at the end of the path.
Canadian Cross Building Canadian Cross Building
~~~~~~~~~~~~~~~~~~~~~~~ -----------------------
A Canadian cross builds are where the **build**, **host** and **target** A Canadian cross builds are where the **build**, **host** and **target**
machines all differ. For example building an RTEMS compiler for an ARM machines all differ. For example building an RTEMS compiler for an ARM

View File

@ -6,13 +6,13 @@
.. _Hosts: .. _Hosts:
Hosts Hosts
##### =====
The known supported hosts are listed in the following sections. If a host or a The known supported hosts are listed in the following sections. If a host or a
new version of a host is known to work and it not listed please lets us know. new version of a host is known to work and it not listed please lets us know.
Linux Linux
~~~~~ -----
A number of different Linux distrubutions are known to work. The following have A number of different Linux distrubutions are known to work. The following have
been tested and report as working. been tested and report as working.
@ -20,7 +20,7 @@ been tested and report as working.
.. _ArchLinux: .. _ArchLinux:
ArchLinux ArchLinux
^^^^^^^^^ ~~~~~~~~~
The following packages are required on a fresh Archlinux 64bit installation:: The following packages are required on a fresh Archlinux 64bit installation::
@ -37,7 +37,7 @@ provide a manual override::
.. _CentOS: .. _CentOS:
CentOS CentOS
^^^^^^ ~~~~~~
The following packages are required on a minimal CentOS 6.3 64bit installation:: The following packages are required on a minimal CentOS 6.3 64bit installation::
@ -51,7 +51,7 @@ installed.
.. _Fedora: .. _Fedora:
Fedora Fedora
^^^^^^ ~~~~~~
The RTEMS Source Builder has been tested on Fedora 19 64bit with the following The RTEMS Source Builder has been tested on Fedora 19 64bit with the following
packages:: packages::
@ -62,7 +62,7 @@ packages::
.. _Raspbian: .. _Raspbian:
Raspbian Raspbian
^^^^^^^^ ~~~~~~~~
The is the Debian distribution for the Raspberry Pi. The following packages are The is the Debian distribution for the Raspberry Pi. The following packages are
required:: required::
@ -78,7 +78,7 @@ prefix under your home directory as recommended and end up on the SD card.
.. _Xubuntu: .. _Xubuntu:
Ubuntu Ubuntu
^^^^^^ ~~~~~~
The latest version is Ubuntu 16.04.1 LTS 64bit. This section also includes The latest version is Ubuntu 16.04.1 LTS 64bit. This section also includes
Xubuntu. A minimal installation was used and the following packages installed:: Xubuntu. A minimal installation was used and the following packages installed::
@ -89,7 +89,7 @@ Xubuntu. A minimal installation was used and the following packages installed::
.. _Linux Mint: .. _Linux Mint:
Linux Mint Linux Mint
^^^^^^^^^^ ~~~~~~~~~~
zlib package is required on Linux Mint. It has a different name (other zlib package is required on Linux Mint. It has a different name (other
than the usual zlib-dev):: than the usual zlib-dev)::
@ -99,7 +99,7 @@ than the usual zlib-dev)::
.. _openSUSE: .. _openSUSE:
openSUSE openSUSE
^^^^^^^^ ~~~~~~~~
This has been reported to work but no instructions were provided. This is an This has been reported to work but no instructions were provided. This is an
opportunity to contribute. Please submit any guidance you can provide. opportunity to contribute. Please submit any guidance you can provide.
@ -107,7 +107,7 @@ opportunity to contribute. Please submit any guidance you can provide.
.. _FreeBSD: .. _FreeBSD:
FreeBSD FreeBSD
~~~~~~~ -------
The RTEMS Source Builder has been tested on FreeBSD 9.1, 10.3 and 11 64bit The RTEMS Source Builder has been tested on FreeBSD 9.1, 10.3 and 11 64bit
version. You need to install some ports. They are:: version. You need to install some ports. They are::
@ -131,7 +131,7 @@ install' rather than 'portinstall'.
.. _NetBSD: .. _NetBSD:
NetBSD NetBSD
~~~~~~ ------
The RTEMS Source Builder has been tested on NetBSD 6.1 i386. Packages to add The RTEMS Source Builder has been tested on NetBSD 6.1 i386. Packages to add
are:: are::
@ -143,7 +143,7 @@ are::
.. _MacOS: .. _MacOS:
MacOS MacOS
~~~~~ -----
The RTEMS Source Builder has been tested on Mountain Lion. You will need to The RTEMS Source Builder has been tested on Mountain Lion. You will need to
install the Xcode app using the *App Store* tool, run Xcode and install the install the Xcode app using the *App Store* tool, run Xcode and install the
@ -152,7 +152,7 @@ Developers Tools package within Xcode.
.. _Mavericks: .. _Mavericks:
Mavericks Mavericks
^^^^^^^^^ ~~~~~~~~~
The RSB works on Mavericks and the GNU tools can be built for RTEMS using the The RSB works on Mavericks and the GNU tools can be built for RTEMS using the
Mavericks clang LLVM tool chain. You will need to build and install a couple of Mavericks clang LLVM tool chain. You will need to build and install a couple of
@ -169,14 +169,14 @@ tools. The following are required:
5.0.5. XZ builds and installs cleanly. 5.0.5. XZ builds and installs cleanly.
Serria Serria
^^^^^^ ~~~~~~
The RSB works on Serria with the latest Xcode. The RSB works on Serria with the latest Xcode.
.. _Windows: .. _Windows:
Windows Windows
~~~~~~~ -------
Windows tool sets are supported. The tools are native Windows executable which Windows tool sets are supported. The tools are native Windows executable which
means they do not need an emulation layer to run once built. The tools means they do not need an emulation layer to run once built. The tools
@ -194,7 +194,7 @@ shell. There are a few options, Cygwin and MSYS2. I recommend MSYS2.
.. _MSYS2: .. _MSYS2:
MSYS2 MSYS2
^^^^^ ~~~~~
This is a new version of the MinGW project's original MSYS. MSYS2 is based This is a new version of the MinGW project's original MSYS. MSYS2 is based
around the Arch Linux pacman packager. MSYS and MSYS2 are a specific fork of around the Arch Linux pacman packager. MSYS and MSYS2 are a specific fork of
@ -223,6 +223,7 @@ the start of your path. The MSYS2 python does not work with waf.
.. _Cygwin: .. _Cygwin:
Cygwin Cygwin
~~~~~~
Building on Windows is a little more complicated because the Cygwin shell is Building on Windows is a little more complicated because the Cygwin shell is
used rather than the MSYS2 shell. The MSYS2 shell is simpler because the used rather than the MSYS2 shell. The MSYS2 shell is simpler because the

View File

@ -1,8 +1,16 @@
.. comment SPDX-License-Identifier: CC-BY-SA-4.0 .. comment SPDX-License-Identifier: CC-BY-SA-4.0
==================== .. comment Heading
RTEMS Source Builder .. comment 1 ======
==================== .. comment 2 ------
.. comment 3 ~~~~~~
.. comment 4 ^^^^^^
.. highlight:: shell
==============================
RTEMS |version| Source Builder
==============================
| COPYRIGHT (c) 2012 - 2016. | COPYRIGHT (c) 2012 - 2016.
| Chris Johns <chrisj@rtems.org> | Chris Johns <chrisj@rtems.org>
@ -31,6 +39,9 @@ to the Community Project hosted at http://www.rtems.org/.
Git Repositories https://git.rtems.org/ Git Repositories https://git.rtems.org/
================ ============================= ================ =============================
Table of Contents
-----------------
.. toctree:: .. toctree::
:maxdepth: 5 :maxdepth: 5
:numbered: :numbered:

View File

@ -4,7 +4,7 @@
.. comment Chris Johns <chrisj@rtems.org> .. comment Chris Johns <chrisj@rtems.org>
Project Sets Project Sets
############ ============
The RTEMS Source Builder supports project configurations. Project The RTEMS Source Builder supports project configurations. Project
configurations can be public or private and can be contained in the RTEMS configurations can be public or private and can be contained in the RTEMS
@ -31,7 +31,7 @@ use of them. If you add new generic configurations please contribute them back
to the project to the project
Bare Metal Bare Metal
~~~~~~~~~~ ----------
The RSB contains a 'bare' configuration tree and you can use this to add The RSB contains a 'bare' configuration tree and you can use this to add
packages you use on the hosts. For example 'qemu' is supported on a range of packages you use on the hosts. For example 'qemu' is supported on a range of
@ -72,7 +72,7 @@ you would use `sparc-elf`::
cleaning: arm-eabihf-gdb-7.7-1 cleaning: arm-eabihf-gdb-7.7-1
RTEMS RTEMS
~~~~~ -----
The RTEMS Configurations found in the ``rtems`` directory. The configurations The RTEMS Configurations found in the ``rtems`` directory. The configurations
are grouped by RTEMS version. In RTEMS the tools are specific to a specific are grouped by RTEMS version. In RTEMS the tools are specific to a specific
@ -136,7 +136,7 @@ and the following uses the version control heads for ``binutils``, ``gcc``,
4.11/rtems-sparc 4.11/rtems-sparc
Patches Patches
~~~~~~~ -------
Packages being built by the RSB need patches from time to time and the RSB Packages being built by the RSB need patches from time to time and the RSB
supports patching upstream packages. The patches are held in a seperate supports patching upstream packages. The patches are held in a seperate

View File

@ -4,7 +4,7 @@
.. comment Chris Johns <chrisj@rtems.org> .. comment Chris Johns <chrisj@rtems.org>
Quick Start Quick Start
########### ===========
The quick start will show you how to build a set of RTEMS tools for a supported The quick start will show you how to build a set of RTEMS tools for a supported
architecture. The tools are installed into a build *prefix*. The *prefix* is the architecture. The tools are installed into a build *prefix*. The *prefix* is the
@ -69,7 +69,7 @@ difficult to manage in production systems.
Branches are available for the 4.9, 4.10, and 4.11 versions of RTEMS. Branches are available for the 4.9, 4.10, and 4.11 versions of RTEMS.
Setup Setup
~~~~~ -----
Setup a development work space:: Setup a development work space::
@ -91,7 +91,7 @@ from the RTEMS GIT repository::
about *Sandboxing* and the *prefix*. about *Sandboxing* and the *prefix*.
Checking Checking
~~~~~~~~ --------
The next step is to check if your host is set up correctly. The RTEMS Source The next step is to check if your host is set up correctly. The RTEMS Source
Builder provides a tool to help:: Builder provides a tool to help::
@ -124,7 +124,7 @@ The :ref:`Hosts` section lists packages you should install for common host
operating systems. It maybe worth checking if you have those installed. operating systems. It maybe worth checking if you have those installed.
Build Sets Build Sets
~~~~~~~~~~ ----------
The RTEMS tools can be built within the RTEMS Source Builder's source tree. We The RTEMS tools can be built within the RTEMS Source Builder's source tree. We
recommend you do this so lets change into the RTEMS directory in the RTEMS recommend you do this so lets change into the RTEMS directory in the RTEMS
@ -203,7 +203,7 @@ build ask the tool::
set files. set files.
Building Building
~~~~~~~~ --------
The quick start builds a SPARC tool set:: The quick start builds a SPARC tool set::
@ -354,12 +354,12 @@ The installed tools::
level. The RTEMS Source Builder can build bare metal tool chains as level. The RTEMS Source Builder can build bare metal tool chains as
well. Look in the top level ``bare`` directory. well. Look in the top level ``bare`` directory.
Distributing and Archiving A Build Deployment
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ----------
If you wish to create and distribute your build or you want to archive a build If you wish to create and distribute your build or you want to archive a build
you can create a tar file. This is a more advanced method for binary packaging you can create a tar file. We term this deploying a build. This is a more
and installing of tools. advanced method for binary packaging and installing of tools.
By default the RTEMS Source Builder installs the built packages directly and By default the RTEMS Source Builder installs the built packages directly and
optionally it can also create a *build set tar file* or a *package tar file* optionally it can also create a *build set tar file* or a *package tar file*
@ -508,7 +508,7 @@ build set::
3. The build set tar file. All the others in a single tar file. 3. The build set tar file. All the others in a single tar file.
Controlling the Build Controlling the Build
~~~~~~~~~~~~~~~~~~~~~ ---------------------
Build sets can be controlled via the command line to enable and disable various Build sets can be controlled via the command line to enable and disable various
features. There is no definitive list of build options that can be listed features. There is no definitive list of build options that can be listed

View File

@ -4,7 +4,7 @@
.. comment Chris Johns <chrisj@rtems.org> .. comment Chris Johns <chrisj@rtems.org>
RTEMS Source Builder RTEMS Source Builder
#################### ====================
The RTEMS Source Builder or RSB is a tool to build packages from source. It is The RTEMS Source Builder or RSB is a tool to build packages from source. It is
used by the RTEMS project to build it's compilers and OS. The RSB helps used by the RTEMS project to build it's compilers and OS. The RSB helps
@ -78,7 +78,7 @@ configuration can read the remaining sections.
Build Failures`. Build Failures`.
Why Build from Source? Why Build from Source?
~~~~~~~~~~~~~~~~~~~~~~ ----------------------
The RTEMS Source Builder is not a replacement for the binary install systems The RTEMS Source Builder is not a replacement for the binary install systems
you have with commercial operating systems or open source operating system you have with commercial operating systems or open source operating system
@ -134,7 +134,7 @@ any extra packages as a super user is always helpful in maintaining a secure
computing environment. computing environment.
History History
~~~~~~~ -------
The RTEMS Source Builder is a stand alone tool based on another tool called the The RTEMS Source Builder is a stand alone tool based on another tool called the
*SpecBuilder* written by Chris Johns. The *SpecBuilder* was written around 2010 *SpecBuilder* written by Chris Johns. The *SpecBuilder* was written around 2010

View File

@ -4,7 +4,7 @@
.. comment Chris Johns <chrisj@rtems.org> .. comment Chris Johns <chrisj@rtems.org>
RTEMS 3rd Party Packages RTEMS 3rd Party Packages
######################## ========================
This section describes how to build and add an RTEMS 3rd party package to the This section describes how to build and add an RTEMS 3rd party package to the
RSB. RSB.
@ -22,7 +22,7 @@ in the RTEMS build system. If you have any issues with this support please ask
on the RTEMS developers mailing list. on the RTEMS developers mailing list.
Vertical Integration Vertical Integration
~~~~~~~~~~~~~~~~~~~~ --------------------
The RSB supports horizontal integration with support for multiple The RSB supports horizontal integration with support for multiple
architectures. Adding packages to the RSB as libraries is vertical architectures. Adding packages to the RSB as libraries is vertical
@ -31,7 +31,7 @@ you build a compiler. The same can be done for 3rd party libraries, you can
crate build sets that stack library dependences vertically to create a *stack*. crate build sets that stack library dependences vertically to create a *stack*.
Building Building
~~~~~~~~ --------
To build a package you need to have a suitable RTEMS tool chain and RTEMS BSP To build a package you need to have a suitable RTEMS tool chain and RTEMS BSP
installed. The set builder command line requires you provide the tools path, installed. The set builder command line requires you provide the tools path,
@ -57,7 +57,7 @@ To build Net-SNMP the command is:
Build Set: Time 0:01:10.651926 Build Set: Time 0:01:10.651926
Adding Adding
~~~~~~ ------
Adding a package requires you first build it manually by downloading the source Adding a package requires you first build it manually by downloading the source
for the package and building it for RTEMS using the command line of a standard for the package and building it for RTEMS using the command line of a standard
@ -115,7 +115,7 @@ A package requires 3 files to be created:
specific parts. See :ref:`Configuration` for more details. specific parts. See :ref:`Configuration` for more details.
BSP Support BSP Support
~~~~~~~~~~~ -----------
The RSB provides support to help build packages for RTEMS. RTEMS applications The RSB provides support to help build packages for RTEMS. RTEMS applications
can be viewed as statically linked executables operating in a single address can be viewed as statically linked executables operating in a single address
@ -307,7 +307,7 @@ provide sensible default or in this case map them to the BSP
1. The configure command for NTP. 1. The configure command for NTP.
RTEMS BSP Configuration RTEMS BSP Configuration
~~~~~~~~~~~~~~~~~~~~~~~ -----------------------
To build a package for RTEMS you need to build it with the matching BSP To build a package for RTEMS you need to build it with the matching BSP
configuration. A BSP can be built with specific flags that require all code configuration. A BSP can be built with specific flags that require all code