Commit Graph

226 Commits

Author SHA1 Message Date
bugobliterator 8f11c3b3a5 .github: add canard generator test in CI 2021-10-14 20:13:06 +11:00
bugobliterator 6fb0571f5c waf: add support for subprocess.run for python2 2021-10-14 20:13:06 +11:00
bugobliterator 0b7a913b30 waf: regenerate canard dsdl sources after clean 2021-10-14 20:13:06 +11:00
bugobliterator e26f429557 waf: setup to use new canard dsdl generator 2021-10-14 20:13:06 +11:00
Peter Barker 0961d651f9 waf: correct description of --sitl-flash-storage 2021-10-05 10:16:54 +11:00
bugobliterator eb9b29f84b waf: do not generate headers when cleaning 2021-10-01 15:20:18 +10:00
Josh Henderson 3da294833d wscript: add --sitl-32bit build option 2021-09-28 09:15:11 +10:00
Andrew Tridgell 66bad7b885 waf: added --assert-cc-version configure option
this will allow build_binaries.py to confirm it is using the right
compiler for each build
2021-07-27 19:50:21 +10:00
Siddharth Purohit 67ed54bfca waf: add option to disable Watchdog 2021-07-14 15:18:42 +10:00
Andrew Tridgell 5f45098044 waf: added --ekf-double configure option 2021-07-10 07:20:41 +10:00
bugobliterator f6715cdaa0 waf: generate SOAP wsdl into cpp code 2021-07-07 18:57:25 +10:00
Siddharth Purohit f115b246df wscript: move to using tool instead of tools program group 2021-07-07 17:31:09 +10:00
Andrew Tridgell cc5d368a98 waf: use abspath for EXTRA_HWDEF
this allows auto-reconfigure
2021-07-01 09:33:16 +10:00
willpiper 15cd9d502d waf: added --extra-hwdef option 2021-07-01 09:33:16 +10:00
Andrew Tridgell 895ab6c089 waf: added --postype-single option
for SITL with single precision postype_t
2021-06-24 21:34:30 +10:00
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