Pierre Kancir
d1cc8d2bf3
Waf: add coverage flags
2021-06-02 14:42:59 +10:00
Pierre Kancir
86f39d354f
Waf: Display debug config into config summary
2021-05-26 18:46:03 +10:00
Andy Piper
0726870e6f
waf: add support for thread statistics
2021-04-21 17:14:11 +10:00
Andrew Tridgell
9683647fd1
waf: added blimp target
2021-03-31 12:27:07 +11:00
Pierre Kancir
4e487f2598
wscript: add list_ap_periph_boards function
2021-01-22 05:42:12 +11:00
Siddharth Purohit
3ae76fa64b
wscript: add generate tasklist for use by vscode extension
2021-01-22 05:42:12 +11:00
Andrew Tridgell
ce95b7e81a
waf: added --enable-memory-guard option
2020-11-18 17:14:43 +11:00
Andrew Tridgell
e122d8ae8e
Replay: allow build with "./waf replay"
...
a bit easier to remember
2020-11-16 10:28:43 +11:00
Michael du Breuil
350fe3ed8d
wscript: Add configure option for SFML joystick
2020-11-13 15:38:22 +11:00
Andrew Tridgell
603146c5ca
waf: added --no-gcs build option
...
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell
689902cb69
waf: moved include of ap_config.h into configure step
2020-09-03 09:56:29 +10:00
Andrew Tridgell
24425b4155
waf: allow setup of double precision for some cpp files
2020-09-03 09:56:29 +10:00
Andrew Tridgell
6f04b4a5ec
waf: added --osd-fonts configure option
...
allows for --osd without fonts
2020-09-02 05:56:46 +10:00
Andrew Tridgell
7c579c4814
waf: added --osd configure option
...
to allow boards with no builtin OSD to use MSP OSD
2020-09-02 05:56:46 +10:00
Siddharth Purohit
4e17f8a23e
waf: add CANManager library and use uavcan agnostic names CAN vars
2020-08-19 17:31:09 +10:00
Andrew Tridgell
4311385cb9
waf: recurse into AP_Scripting for build
2020-05-12 19:55:21 +10:00
Andrew Tridgell
f352b6d107
waf: added -Werror configure option
...
for building with error on any warning
2020-04-28 10:32:23 +10:00
Andrew Tridgell
823d666bc2
waf: added --disable-ekf2 and --disable-ekf3 build options
...
allows for testing disables in SITL
2020-04-14 09:15:43 +10:00
Peter Barker
62331cf8a0
waf: remove vestiges of waf-run coverage
2019-09-27 07:20:21 +10:00
Andrew Tridgell
93e27cfcab
waf: support AP_Periph build
2019-08-27 10:29:56 +10:00
Peter Barker
36387b5a21
waf: move coverage out into separate shell script
2019-08-12 12:29:51 +10:00
Peter Barker
0952ca0abc
waf: remove NuttX-based IO firmware blob
2019-07-16 10:29:05 +10:00
Buzz
a79afefa39
waf: coverage: run the 'examples', 'unit_test' and heli tests
...
run the code coverage as normal:
./waf configure --enable-gcov
./waf build --lcov-report
2019-07-02 11:54:47 +10:00
Michael du Breuil
4a4a91c662
wscript: Swap enable-sciprint to be disable
2019-06-18 00:06:32 -07:00
Peter Barker
4f7905331a
waf: add build option to include dates in binary
2019-06-18 10:54:01 +10:00
Peter Barker
85fe4ae6dd
waf: add sitl rgbled option
2019-05-21 09:21:56 +10:00
Siddharth Purohit
c137ca5a42
waf: add support for extra messages from AP_UAVCAN
2019-05-15 16:01:53 +09:00
Jonathan Challinger
fea82dc360
waf: support building headers from uavcan_vendor_specific_types directory
2019-05-15 16:01:53 +09:00
Peter Barker
a23a60d1ea
wscript: add option to enable sfml audio
2019-03-23 07:10:50 +11:00
Andrew Tridgell
9e50c1b64e
waf: fixed case insensitive board name
2019-03-07 08:36:01 +11:00
Andrew Tridgell
102141756a
waf: make board name case insensitive in waf configure
2019-03-05 08:43:14 +11:00
Peter Barker
88e3f6f78c
wscript: add slowdown and timeout to coverage autotest commandline
...
The optimisation / compiler flags required slow things down somewhat
2019-03-04 23:46:40 +11:00
Buzz
31697a3b0c
Tools: add support for GCOV code coverage tool and HTML reporting with LCOV.
...
first, "apt install gcovr lcov" as new prerequisites
then run:
./waf configure --enable-gcov
./waf build --lcov-report
and after much waiting review the report in HTML format with your preferred browser eg:
firefox reports/lcov-report/index.html
2019-03-04 23:46:40 +11:00
Francisco Ferreira
03ed67a996
waf: add option to override toolchain
2019-02-22 08:27:08 +11:00
Andrew Tridgell
1f28994bae
waf: added --sitl-flash-storage option
2019-01-21 20:59:00 +11:00
Andrew Tridgell
646c6f4361
waf: point developers at the new build
2018-12-22 11:06:59 +11:00
Michael du Breuil
dcfc90b911
wscript: Add a runtime scripting check flag
2018-11-14 01:41:35 +00:00
Francisco Ferreira
ff77000d93
waf: support changing board to build without re-configure
...
This allows to use the board option when building as long as it has been configured before
As we don't want to force configuration of all boards each single time, auto-configuration support now has to be done per-board
2018-11-13 10:30:34 +11:00
Francisco Ferreira
389a9ee88b
waf: add option to disable gccdeps
2018-11-13 10:30:34 +11:00
Francisco Ferreira
10ff67d71e
waf: fix method name
...
Add underscore prefix so that method isn't identified as a waf command
2018-11-13 10:30:34 +11:00
Andrew Tridgell
b3b5415081
waf: added --use-nuttx-iofw configure option
...
this allows building with the old NuttX based IO firmware. The default
is the ChibiOS based firmware
2018-10-30 13:00:48 +11:00
Peter Barker
fb3b976aa2
wscript: add enable-math-check-indexes configure option
2018-10-19 08:46:43 +11:00
Michael du Breuil
82dad7b732
wscript: Add enable-scripting option
2018-10-09 10:08:52 +11:00
Siddharth Purohit
19d9982ac1
waf: only add support for iofirmware build if the board supports it
2018-09-19 12:14:15 +10:00
Andrew Tridgell
17112c8988
waf: allow build with "./waf iofirmware"
2018-09-19 12:14:15 +10:00
Siddharth Purohit
746ed2be79
wscript: add support for iofirmware as target
2018-09-19 12:14:15 +10:00
Andrew Tridgell
36af9eecdf
waf: fixes for python 3.7
2018-08-07 14:40:36 +10:00
Andrew Tridgell
c5f3beb297
waf: added --enable-asserts option for ChibiOS
2018-08-03 13:44:59 +10:00
Andrew Tridgell
b527dce08d
autotest: use --enable-sfml for graphics
2018-07-02 10:43:48 +10:00
Andrew Tridgell
355269115e
waf: support --enable-osd option
2018-07-01 21:21:28 +10:00
Andrew Tridgell
88ec03ce5a
waf: don't build mavlink for bootloader
2018-06-25 21:22:31 +10:00
Andrew Tridgell
b3bbb0c389
waf: removed bootloader variant directory
...
too painful to maintain
2018-06-22 08:00:31 +10:00
Andrew Tridgell
a0e17ab1ed
waf: avoid formatting issue in emacs
...
python mode doesn't understand the embedded apostrophe
2018-06-22 08:00:31 +10:00
Andrew Tridgell
4c2c2012a6
waf: allow for "./waf bootloader"
...
easier build of the bootloader
2018-06-22 08:00:31 +10:00
Andrew Tridgell
0ae25787c0
waf: added a --bootloader configure option
...
this selects hwdef-bl.dat instead of hwdef.dat, allowing for
bootloader config to be kept in the same directory as the main
hwdef.dat
2018-06-22 08:00:31 +10:00
Lucas De Marchi
2916a3f40c
build: add --apstatedir for Linux boards
...
This is the --localstatedir that is found on other
buildsystems/programs + the package directory. We could provide a
--localstatedir instead to be similar to the others, but I thought it
would be too confusing for the help message.
2018-05-24 08:00:33 -07:00
Lucas De Marchi
98c741803f
build: change default installation prefix to /usr
2018-05-04 11:47:50 -07:00
Lucas De Marchi
997d9f58de
build: invert default for header checks
...
In the end the build time is always almost the same, but it's a pain to
change one header and have it check the world. CI continues to use the
check so we can get any mistake before merging.
2018-05-04 11:47:04 -07:00
Lucas De Marchi
7c068ee8ef
build: add command to output currently configured board
...
./waf board now shows what's the currently configured board. Same as
grep "'board':" build/.lock-waf*
but in a more pleasant way.
2018-05-04 11:47:04 -07:00
Lucas De Marchi
3ecc138c86
build: move more Linux-only options inside group
...
prefix, destdir, libdir, bindir only make sense for Linux targets.
2018-05-04 11:47:04 -07:00
Lucas De Marchi
73edda697d
build: align help options
...
While it's aesthetically nice to start the help message in a new line
looking at the code, the first \n screws the output leaving them not
aligned.
2018-05-04 11:47:04 -07:00
Lucas De Marchi
9342bc5050
build: invert default for lttng
...
Since it's a debug option, particularly for the scheduler, leave it
disabled by default and let the user enable on demand.
2018-05-04 11:47:04 -07:00
Lucas De Marchi
4697089a82
build: move Linux configuration options to its own sections
2018-05-04 11:47:04 -07:00
Andrew Tridgell
9aa0ddfa54
waf: don't make --debug create a build varient
...
this behaviour is really quite annoying for developers
2018-05-04 18:33:53 +10:00
Andrew Tridgell
9c040105d6
waf: split copter and heli builds
...
this makes things less confusing for users
2018-04-08 21:26:16 +10:00
Andrew Tridgell
2476a51908
waf: allow for pre_build hook in board modules
2018-03-02 12:52:50 +11:00
Andrew Tridgell
48422e1038
waf: added --default-parameters option
2018-01-15 11:46:02 +11:00
Andrew Tridgell
1901cb6c7f
waf: added --disable-header-checks
...
the headers checks are most of the re-build time when editing class
headers. Disabling them makes development much faster
2017-08-08 00:42:19 -07:00
Lucas De Marchi
e68a3e2687
build: rename linstall to localinstall
2017-07-02 08:58:26 -07:00
Gustavo Sousa
374556df22
build: add rsync command
...
The original proposal was to add this functionality to the --upload option, but
it turns out that --upload seems something slightly different from what the
functionality added with patch does.
The issue motivating this patch is at
https://github.com/ArduPilot/ardupilot/issues/6283
2017-07-02 08:58:26 -07:00
Gustavo Sousa
923e62cb74
build: add linstall command
...
Command for a local installation under BLD/install, where BLD is the build
variant. This will be useful for commands that depends on the install command.
2017-07-02 08:58:26 -07:00
Eugene Shamaev
59ef501a19
waf: add support for building with UAVCAN
2017-04-10 22:38:13 +01:00
Jacob Walser
25663f5740
wscript: Add Sub
2017-02-25 17:50:18 +11:00
Lucas De Marchi
c430bb29e3
build: allow to have unit tests in HAL implementations
...
Allow a tests/ directory in the hal implementations.
2016-11-02 16:28:20 -02:00
Gustavo Jose de Sousa
a98c42fef9
waf: define ap_groups in ardupilotwaf tool
...
That makes more sense, since that module is supposed to have basic Ardupilot
specific features. The root wscript should be a mere user of those features.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa
b8e518a533
waf: use ap_library tool
...
That way we avoid recompiling source files that don't depend on vehicles.
Change notes:
- UTILITY_SOURCE_EXTS: moved to ap_library
- Task generators indexes: ap_library handles that now and in a better way
- Use of AP_STLIB_FEATURES: it doesn't make sense anymore, since the stlib
taskgen has empty source list
- Flags and defines: passed down to ap_library through AP_LIBRARIES_OBJECTS_KW
- Set use='mavlink' in AP_LIBRARIES_OBJECTS_KW instead of calls to
bld.ap_stlib().
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa
6834308fbf
waf: always load git_submodule tool
...
That was a silly mistake done by 65e19fd
("waf: don't update submodules if not
a git repository").
2016-08-19 10:23:43 -03:00
Gustavo Jose de Sousa
5ccd3dfec8
waf: create ap_version taskgen in the corresponding function
2016-08-01 22:04:16 -03:00
Gustavo Jose de Sousa
f2dec971e7
waf: add "ap_" prefix to keywords "libraries" and "vehicle"
...
As an effort to keep things specific to ardupilot API in the build system
consistent and easy way to identify.
2016-08-01 22:04:16 -03:00
Gustavo Jose de Sousa
5edb03d184
waf: add option --no-autoconfig
...
That is useful for developers working on the build system, so that they can
test the build without having to wait for a reconfiguration.
2016-07-29 16:25:33 -03:00
Gustavo Jose de Sousa
b65f63ffc1
waf: keep non-variant options definitions together
...
Keep definition of options that are stored in the "non-variant" configuration
together.
2016-07-29 16:25:33 -03:00
Gustavo Jose de Sousa
f936291a52
waf: set variant of BuildContext classes in configure
...
Otherwise, a call like `waf configure --board <foo> <command1>` will make
`<command1>` run on wrong variant if there was a different variant configured
previously, or an empty variant if the project is "distcleaned".
2016-07-29 13:06:35 -03:00
Gustavo Jose de Sousa
cb1c7b66cb
waf: add post build callbacks in separate function
...
That makes it easier see what callbacks are or not being added and the order
they are executed. While at it, don't add build summary callback when in a
check command.
2016-07-28 17:50:19 -03:00
Gustavo Jose de Sousa
ef0fb97fe4
waf: reduce scope of ant_glob() patterns
...
And reduce pre-build execution time.
2016-07-25 17:45:38 -03:00
Gustavo Jose de Sousa
1ad0c685eb
waf: add git_submodule post build callback
...
So that the user is warned about skipped submodule updates.
2016-07-25 16:45:57 -03:00
Gustavo Jose de Sousa
65e19fd9af
waf: don't update submodules if not a git repository
...
That is useful for releases tarballs.
2016-07-25 16:45:57 -03:00
Lucas De Marchi
2b1b23cabf
build: fix static linking through --static option
2016-07-20 18:03:20 -03:00
Lucas De Marchi
b375b33189
waf: allow to disable tests
...
This allows to completely disable the tests. Even the gtest submodule is
not checked out allowing integration on build servers without needing to
download one more submodule.
This is different from the --notests flag. The latter only disables
executing the tests, but always use the submodule.
2016-07-13 15:38:50 -03:00
Andrew Tridgell
55e91f0325
waf: added --static option
...
this forces a static build
2016-07-13 15:24:41 -03:00
Lucas De Marchi
a9919420c6
waf: allow to disable libiio at configuration
...
We default to autodetection for libiio so if the libraries are available
we enable it. However this may not always be desired.
2016-06-23 19:08:13 -03:00
Lucas De Marchi
348678888b
waf: allow to disable lttng at configuration
...
We default to autodetection for LTTNG so if the libraries are available
we enable it. However this may not always be desired.
2016-06-23 19:07:26 -03:00
Gustavo Jose de Sousa
d3ed17f047
waf: reconfigure for any changes in loaded modules
...
Waf's autoconfig feature works only for wscripts loaded by the recurse()
function. This patch extends that functionality to all loaded modules, which
includes Waf tools.
2016-06-23 18:22:55 -03:00
Gustavo Jose de Sousa
2566a13e1b
waf: use Configure.autoconfig = 'clobber'
...
That makes reconfiguration be automatically triggered when wscripts used in
configuration are changed.
2016-06-23 18:22:55 -03:00
Lucas De Marchi
0af8b42ade
build: include ap_config.h in libgtest
...
This is also needed while compiling libgtest because it's using our
cmath wrapper header. Otherwise it will end up entering the
"ifndef WAF_BUILD" part and fail to compile on gcc 5.3.1.
2016-06-14 15:42:43 -03:00
Gustavo Jose de Sousa
260de62f94
waf: print build summary
2016-05-25 17:47:00 -03:00
Gustavo Jose de Sousa
afcabda21c
waf: use better style for add_option() calls
...
Setting the "help" keyword argument may not fit in one line sometimes. This
patch adds the following convention to calls to add_option() in order to
address that issue in a better way:
1) The "help" keyword must always be the last argument to be passed.
2) If the help string is a literal string or a literal string with some
operation (e.g. "%" operator) and setting the "help" keyword in the code
doesn't fit a line (considering the limit of characters in a line), then
the help string must be a triple-quoted string. That has the advantage of
not having to have several "+" operations for long help strings. In that
case, the help message must start on the next line and the closing
triple-quotes must be on a separate line together with the closing
parenthesis.
The requirement (1) makes it easier to make the style exception in (2)
acceptable.
2016-05-25 17:47:00 -03:00
Gustavo Jose de Sousa
844222870c
waf: boards: bind get_board() to configure and build contexts
...
A convenience, since we don't expect the board to change for a given
configuration.
2016-05-25 17:47:00 -03:00
Andrew Tridgell
7e7c21d114
waf: update for MAVLink2 build
2016-05-21 15:25:17 +10:00
Gustavo Jose de Sousa
0e09d0b996
waf: rename config_header variable to config_hash
...
That's a better name. The other name would give the wrong idea that that
variable would store a path to the header.
2016-05-20 09:45:53 -03:00
Lucas De Marchi
a9ae5476f3
waf: fix configure not using WAF_BUILD
...
The configure phase need the WAF_BUILD var defined, otherwise it will
execute code that's only meant for the make build system.
2016-05-19 09:53:41 -03:00