mirror of
https://github.com/apache/nuttx.git
synced 2026-10-11 08:10:21 +00:00
All of the tools listed on the original documentation are now given their own individual doc pages. This makes it much easier to cross-reference them from other documentation locations (as many are used in CI/for specific architectures) and it also makes it easier for users to digest the information. Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
75 lines
3.1 KiB
ReStructuredText
75 lines
3.1 KiB
ReStructuredText
================
|
|
``testbuild.sh``
|
|
================
|
|
|
|
This script automates building of a set of configurations. The intent is
|
|
simply to assure that the set of configurations build correctly. The -h
|
|
option shows the usage:
|
|
|
|
.. code:: console
|
|
|
|
$ ./testbuild.sh -h
|
|
USAGE: tools/testbuild.sh -h [-l|m|c|g|n] [-d] [-e <extraflags>] [-x] [-j <ncpus>] [-a <appsdir>] [-t <topdir>] [-p]
|
|
[-A] [-C] [-G] [-N] [-R] [-S] [--codechecker] <testlist-file>
|
|
|
|
Where:
|
|
-h will show this help test and terminate
|
|
-l|m|c|g|n selects Linux (l), macOS (m), Cygwin (c),
|
|
MSYS/MSYS2 (g) or Windows native (n). Default Linux
|
|
-d enables script debug output
|
|
-e pass extra c/c++ flags such as -Wno-cpp via make command line
|
|
-x exit on build failures
|
|
-j <ncpus> passed on to make. Default: No -j make option.
|
|
-a <appsdir> provides the relative path to the apps/ directory. Default ../apps
|
|
-t <topdir> provides the absolute path to top nuttx/ directory. Default ../nuttx
|
|
-p only print the list of configs without running any builds
|
|
-A store the build executable artifact in ARTIFACTDIR (defaults to ../buildartifacts
|
|
-C Skip tree cleanness check.
|
|
-G Use "git clean -xfdq" instead of "make distclean" to clean the tree.
|
|
This option may speed up the builds. However, note that:
|
|
* This assumes that your trees are git based.
|
|
* This assumes that only nuttx and apps repos need to be cleaned.
|
|
* If the tree has files not managed by git, they will be removed
|
|
as well.
|
|
-N Use CMake with Ninja as the backend.
|
|
-R execute "run" script in the config directories if exists.
|
|
-S Adds the nxtmpdir folder for third-party packages.
|
|
--codechecker enables CodeChecker statically analyze the code.
|
|
<testlist-file> selects the list of configurations to test. No default
|
|
|
|
Your PATH variable must include the path to both the build tools and the
|
|
kconfig-frontends tools
|
|
|
|
This script needs two pieces of information:
|
|
|
|
1. A description of the platform that you are testing on. This description
|
|
is provided by the optional -l, -m, -c, -g and -n options.
|
|
|
|
2. A list of configurations to build. That list is provided by a test
|
|
list file. The final, non-optional parameter, <testlist-file>,
|
|
provides the path to that file.
|
|
|
|
The test list file is a sequence of build descriptions, one per line. One
|
|
build descriptions consists of two comma separated values. For example::
|
|
|
|
stm32f429i-disco:nsh
|
|
arduino-due:nsh
|
|
/arm
|
|
/risc-v
|
|
|
|
The first value is the usual configuration description of the form
|
|
``<board-name>:<configuration-name>`` or ``/<folder-name>`` and must correspond to a
|
|
configuration or folder in the nuttx/boards directory.
|
|
|
|
The second value is valid name for a toolchain configuration to use
|
|
when building the configuration. The set of valid toolchain
|
|
configuration names depends on the underlying architecture of the
|
|
configured board.
|
|
|
|
The prefix ``-`` can be used to skip a configuration::
|
|
|
|
-stm32f429i-disco/nsh
|
|
|
|
or skip a configuration on a specific host(e.g. Darwin)::
|
|
|
|
-Darwin,sim:rpserver
|