Commit Graph

597 Commits

Author SHA1 Message Date
Pierre Kancir bb13a75e30 Tools: check for feenableexcept on WAF 2019-08-06 09:37:30 +10:00
Peter Barker cc742dbfc4 waf: make unused variables an error on C as well as C++ source files 2019-08-05 18:31:58 +10:00
Peter Barker a3b5ed442c waf: add -Werror=ignored-qualifiers
Sub recently got a patch which introduced a bunch of these warnings
2019-08-02 08:23:57 +10:00
Peter Barker 0952ca0abc waf: remove NuttX-based IO firmware blob 2019-07-16 10:29:05 +10:00
Peter Barker c4311b4af6 Tools: waf: add -Werror=delete-non-virtual-dtor 2019-07-16 10:28:30 +10:00
Siddharth Purohit 8de169b1ce waf: remove redundant src includes for libuavcan drivers 2019-07-08 12:18:29 +10:00
Peter Barker 306783211b Tools: waf: understand DISABLE_SCRIPTING from the board configuration 2019-07-08 09:55:46 +10:00
Michael du Breuil 4893b85983 Tools: bootloaders should not include scripting 2019-06-19 11:26:44 +10:00
Michael du Breuil 0e76afd22c Tools: Support enabling scripting by default 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
Julien Beraud 8a4553ba0a waf: fix lib link check
-llibrary_name is already part of the link flags at this point and
libname is "liblibrary_name" so it adds -lliblibrary_name instead which
is wrong
2019-06-14 18:52:57 -07:00
Peter Barker 82dd2438b9 waf: add -Werror=parentheses
This warns on some of our compilers in CI, but doesn't flag it as an
error ATM
2019-06-11 21:50:53 +10:00
Peter Barker 0aa074467b waf: add -Werror=overflow
Can catch some trivial errors.  This warns by default on gcc anyway
2019-06-11 09:12:49 +10:00
Peter Barker f730020b31 Tools: waf: make extra arguments in format string fatal 2019-06-07 22:03:41 +10:00
Andrew Tridgell d81bd6530c waf: use make -j on build of ChibiOS core
using number of jobs from waf
2019-06-06 08:29:06 +10:00
Francisco Ferreira 8849e0d276 waf: add AP_NMEA_Output to common libraries 2019-05-21 09:41:15 +10:00
Peter Barker 85fe4ae6dd waf: add sitl rgbled option 2019-05-21 09:21:56 +10:00
Jonathan Challinger fea82dc360 waf: support building headers from uavcan_vendor_specific_types directory 2019-05-15 16:01:53 +09:00
Peter Barker 2f7f361968 Tools: waf: do not permit taking address of packed members under clang++ 2019-05-01 19:36:49 -07:00
Peter Barker 9f9531a790 Copter: AP_Arming: correct overriding of arm_checks method
This makes the arbitrary decision that arming checks always report
failures to the GCS.

Fixes:

In file included from ../../ArduCopter/events.cpp:1:
In file included from ../../ArduCopter/Copter.h:91:
../../ArduCopter/AP_Arming.h:33:69: fatal error: non-virtual member function marked 'override' hides virtual member function
    bool arm_checks(bool display_failure, AP_Arming::Method method) override;
                                                                    ^
../../libraries/AP_Arming/AP_Arming.h:64:18: note: hidden overloaded virtual function 'AP_Arming::arm_checks' declared here: different number of parameters (1 vs 2)
    virtual bool arm_checks(AP_Arming::Method method);
                 ^
1 error generated.
2019-04-30 09:29:59 +10:00
Peter Barker 1dd5c33374 Tools: waf: add various conversion warning compiler options
suggested by @patrickelectric
2019-04-30 09:29:59 +10:00
Peter Barker ad6c1acbd7 waf: add -Werror=type-limits
This catches always-true comparisons and the like

Also remove redundant directive
2019-04-14 12:18:03 +09:00
Peter Barker 30fec9f54b Tools: ardupilotwaf: make unused variables fatal on all boards 2019-04-02 10:24:49 +11:00
Peter Barker e6a1789df8 Tools: ardupilotwaf: make shadowed variables fatal on all platforms 2019-03-23 11:23:07 +11:00
Peter Barker 156d580bcd Tools: ardupilotwaf: include sfml-audio 2019-03-23 07:10:50 +11:00
Peter Barker d762629c62 Tools: waf: link AP_InternalError everywhere 2019-03-21 21:34:33 +11:00
Peter Barker 780e0e2eba Tools: ardupilotwaf: build SITL binaries for x86_64-linux-gnu and arm-linux-gnueabihf 2019-03-19 20:21:50 +11:00
Peter Barker 1a81da4a26 Tools: ardupilotwaf: sort boards in help text 2019-03-19 20:21:50 +11:00
Peter Barker 929e84d120 Tools: ardupilotwaf: add -Werror=attributes 2019-03-19 14:10:10 +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 facfa53f57 Tools: waf: add -Werror=overloaded-virtual 2019-03-01 22:31:21 +11:00
Peter Barker 39e7733872 Tools: waf: add -Werror=enum-compare 2019-03-01 12:50:52 +11:00
Andrew Tridgell b619e1e560 Tools: remove more px4 remnants 2019-02-27 20:32:37 +11:00
Andrew Tridgell e5efbffe5b waf: pad bootloader to multiple of 32 bytes
this ensures that we can write a whole flash line when updating
bootloader from ROMFS
2019-02-26 16:18:26 +11:00
Andrew Tridgell 3c9646dfef waf: allow hwdef.dat to override build optimization 2019-02-26 16:18:26 +11:00
Andrew Tridgell e71514c136 waf: allow for no param default support
this allows apj files to be built for example fw
2019-02-26 16:18:26 +11:00
Francisco Ferreira 03ed67a996 waf: add option to override toolchain 2019-02-22 08:27:08 +11:00
Francisco Ferreira ba2f954a20 waf: add AC_AttitudeControl library for PE target format 2019-02-22 08:27:08 +11:00
Peter Barker 6137704032 Tools: ardupilotwaf: add -Werror=inconsistent-missing-override for clang 2019-02-20 19:23:54 +11:00
Peter Barker e23809fd59 Tools: ardupilotwaf: include AP_Parachute in all builds 2019-02-13 09:25:27 +09:00
Peter Barker 61961d037e Tools: ardupilotwaf: all vehicles get AC_Fence 2019-01-31 13:44:29 +09:00
Andrew Tridgell 1f28994bae waf: added --sitl-flash-storage option 2019-01-21 20:59:00 +11:00
mirkix f9d49913d9 ardupilotwaf: enable UAVCAN for bbbmini, blue and pocket 2019-01-21 08:08:59 +11:00
Andrew Tridgell 85ca38b630 waf: fixed git hash in generated APJ file 2019-01-19 17:19:41 +11:00
Peter Barker 0bf55ce3f4 Tools: ardupilotwaf: DataFlash renamed to AP_Logger 2019-01-18 18:08:20 +11:00
Randy Mackay b3b3385143 Tools: add ToshibaCAN to waf build 2019-01-18 17:30:28 +11:00
Andrew Tridgell 1cf4a9b8d8 waf: fixed ROMFS compression to use zero timestamp
this makes the apj file indepenent of build date, which fixes this
issue:

https://discuss.ardupilot.org/t/arducopter-waf-build-repeatability/37182
2019-01-11 17:45:07 +11:00
Michael du Breuil 7b259fb09f ardupilotwaf: Enable heap for scripting builds 2018-12-31 19:25:23 -07:00
Andrew Tridgell d8291ef1d1 waf: fixed static link build
for bebop
2019-01-01 09:34:11 +11:00
Michael du Breuil 2c8b5c651d Tools: Remove unneeded AP_Buffer include 2018-12-31 11:41:43 +09:00
Andrew Tridgell bac091262f waf: use ctx.fatal for old board error
thanks to @OXINARF
2018-12-22 11:06:59 +11:00
Andrew Tridgell 646c6f4361 waf: point developers at the new build 2018-12-22 11:06:59 +11:00
Andrew Tridgell 7c5d82ed15 waf: removed px4 build targets 2018-12-22 11:06:59 +11:00
Andrew Tridgell aa7221d1bf waf: build AP_RobotisServo 2018-12-22 08:13:14 +11:00
Andrew Tridgell bdacc410ca waf: added check for memrchr()
needed on macos
2018-12-06 13:32:09 +11:00
Peter Barker 8949cdd87a Tools: waf: use ctx rather than build for fatal errors 2018-12-01 09:41:24 +11:00
Andrew Tridgell 4b1857b3aa waf: use local pymavlink
use pymavlink from modules, not from install. This allows building
without pymavlink installs, and ensures we use the current version
2018-11-19 10:06:23 +11:00
Andrew Tridgell e6651b01bb waf: use direct import of mavgen for mavlink generation
this avoids a path problem on windows under eclipse
2018-11-15 14:39:11 +11:00
Andrew Tridgell 304eaa7782 waf: fixed typo 2018-11-15 09:55:14 +11:00
Peter Barker 1d2f8555c0 Tools: ardupilotwaf: adjust for new location of uploader.py 2018-11-15 09:55:14 +11:00
Peter Barker d0f070d05d Tools: rename px_uploader.py into uploader.py, move into scripts 2018-11-15 09:55:14 +11:00
Michael du Breuil 472cd9f48c Tools: 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 2e3b4df47e waf: don't fail on missing pkg-config
Also remove unneeded wrapper method and use standard waf
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 9bdbd37d98 waf: boards: use existing abstract class definition
Remove special case for removing ChibiOS base board class and use the pre-existing way

Make board name list order be case-insensitive

Also fix some space in blank lines
2018-11-13 10:30:34 +11:00
Francisco Ferreira 1e036e4d4e waf: boards: small change to use waf standard 2018-11-13 10:30:34 +11:00
Peter Barker 769192fed7 Tools: ardupilotwaf: make type narrowing an error 2018-11-09 15:49:35 +11:00
Andrew Tridgell 4eb867efc2 waf: always link AP_LandingGear
needed for RC_Channel
2018-11-09 14:35:14 +11:00
Andrew Tridgell 2054be0ce1 waf: omit bootloader for px4-v2 build
This saves 8k of flash, and allows the plane stable release for older
Pixhawk1 boards to build
2018-11-07 07:35:45 +11:00
Michael du Breuil 645afbab82 ardupilotwaf: Add ROMFS for scripting 2018-10-30 16:17:03 -07: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 7c0e5b9929 waf: include AC_Avoid on all vehicles 2018-10-30 12:10:42 +11:00
Peter Barker 6585b6036d Tools: waf: add -Werror=return-type to all boards 2018-10-23 12:53:28 +11:00
Peter Barker d4c3caf592 Tools: ardupilotwaf: add enable-math-check-indexes configure option 2018-10-19 08:46:43 +11:00
Michael du Breuil 5192376c85 Tools: Don't generally build scripting unless requested 2018-10-09 10:08:52 +11:00
Andrew Tridgell 31548c983a waf: ensure that C files get same ABI flags as C++ 2018-10-09 10:08:52 +11:00
Michael du Breuil 33d4e09d60 Tools: Add lua source to waf 2018-10-09 10:08:52 +11:00
Michael du Breuil 580c9d6ad9 Tools: Add waf scripting configure option 2018-10-09 10:08:52 +11:00
Michael du Breuil 17103623eb Tools: Pass ENABLE_SCRIPTING into the system 2018-10-09 10:08:52 +11:00
Francisco Ferreira 434afa268e
waf: change ChibiOS ld script path back to relative
Fixes #9461
2018-09-21 09:29:32 +01:00
Siddharth Purohit 6622c9b8fd HAL_ChibiOS: wrap sscanf and snprintf methods 2018-09-19 12:14:15 +10:00
Siddharth Purohit 56afc44c56 ardupilotwaf: add support for controllers with different arm cortex and related configs 2018-09-19 12:14:15 +10:00
Siddharth Purohit 6fee72b0c0 waf: add flags for F1 controller support and more debug features 2018-09-19 12:14:15 +10:00
Peter Barker 35330e8caa Tools: ardupilotwaf: add -Werror=unused-result for all boards 2018-09-04 09:22:18 +10:00
Peter Barker 3a1afc4bf1 Tools: boards.py: make float-equals fatal in sitl 2018-08-28 09:54:47 +10:00
Peter Barker 5bd1f57a2a Tools: ardupilotwaf: add -Werror=return-type to all boards 2018-08-21 20:34:01 +09:00
Peter Barker 4915c72f10 Tools: add sprayer to standard libraries 2018-08-17 15:33:35 +09:00
Andrew Tridgell a4e50e1626 waf: use the current python interpreter for sub-commands 2018-08-07 14:40:36 +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 4022a17d3b waf: fixed upload on Linux 2018-07-26 08:52:56 +10:00
Jani Hirvinen 62cf45659b adding support for win/cygwin installations 2018-07-24 12:40:23 -07:00
Stephen 651a7030aa Tools: Add quotes in ChibiOS waf file
Without these quotes, the ChibiOS build fails if there are spaces in the Ardupilot path, ie ``C:\Stephen Dade\files\ardupilot``
2018-07-18 12:55:29 +10:00
Andrew Tridgell 1e2065e381 waf: recognise CubeBlack USB IDs 2018-07-11 09:26:59 +10:00
Andrew Tridgell 655828d2f8 waf: use wildcard OSD fonts for SITL 2018-07-09 19:41:56 +10:00
Andrew Tridgell d2996677cf waf: auto-compress ROMFS files 2018-07-09 19:41:56 +10:00
Andrew Tridgell 950be3fc17 waf: stop build if OSD libs missing and requested 2018-07-08 08:22:40 +10:00
Andrew Tridgell 1dece80c88 waf: fixed error with no ROMFS files 2018-07-03 14:05:37 +10:00
Andrew Tridgell f78b84805c waf: don't generate hex files if intelhex module not installed 2018-07-02 12:47:58 +10:00
Andrew Tridgell 8ba137bd9a waf: moved ROMFS embed script into waf folder 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 a7ecbf29aa waf: define CHIBIOS_BOARD_NAME 2018-06-29 20:27:36 +10:00
Andrew Tridgell 95b2587c76 waf: use ardupilot uploader for HAL_PX4 2018-06-29 08:17:38 +10:00
Andrew Tridgell 8ae6b2e026 waf: fixed dependency of hwdef.h on hwdef.dat 2018-06-27 11:37:45 +10:00
Andrew Tridgell d12cf0ab59 waf: added -Werror on signed comparison 2018-06-27 11:37:45 +10:00
Lucas De Marchi 49d08ba72a Global: remove minlure
Minlure is a port of ArduPilot to Minnow Board connected to daughter
board. Very few of those were produced and nobody is flying with it.

It served its purpose and all the the improvements to ArduPilot remain
regardless of it not being supported anymore. Now it's just adding
maintenance work with no clear benefit, so pull the plug.
2018-06-26 07:32:08 -07:00
Andrew Tridgell 1c73c133a9 waf: fixed binary generation order 2018-06-24 20:24:06 +10:00
Andrew Tridgell 623a30be55 waf: build hex file with and without bootloader
this allows for DFU tools without losing parameters
2018-06-24 16:47:23 +10:00
Andrew Tridgell f73ca2a6ba waf: speed up the bootloader build
don't need to build all libraries
2018-06-24 15:57:51 +10:00
Andrew Tridgell 5b46adf3fb waf: fixed chibios upload 2018-06-23 17:06:53 +10:00
Andrew Tridgell 338ff6ae64 waf: automatically build intel hex fw when possible
this combines the bootloader and application code into a single binary
2018-06-23 17:06:38 +10:00
Peter Barker b94e31b21a Tools: remove warning about native clang builds
These appear to be stable now
2018-06-22 16:49:05 +10:00
Andrew Tridgell 290f050575 waf: enable gccdeps, using gcc dependencies
this is considerably faster than the way dependency system
2018-06-22 11:13:03 +10:00
Andrew Tridgell ad49f4fdbf waf: fixed declaration of ap_romfs_embedded.h 2018-06-22 11:13:03 +10:00
Andrew Tridgell 14f66461a7 HAL_ChibiOS: shrink build size for bootloader
thanks to @sh83 for the idea
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
Andrew Tridgell 6771a3d65a waf: support Hex USB IDs in px_uploader.py 2018-06-22 08:00:31 +10:00
Peter Barker e9a07bdd6f Tools: create CHIBIOS_GIT_VERSION build-time define 2018-06-18 19:10:37 +01:00
Peter Barker 09a9abb3a8 Tools: include AP_RTC in all waf builds 2018-06-15 08:01:22 +10:00
Peter Barker 684482295e Tools: include Gripper in all builds 2018-06-11 19:07:39 +01:00
Eugene Shamaev 68ec9f4119 Tools: add CAN bus declaration for the intel aero board 2018-05-25 13:53:17 +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
Francisco Ferreira ddb45a0813 waf: move skyviper-v2450-px4 definitions to board config 2018-05-22 08:35:01 +09:00
Michael du Breuil 82d486add0 Tools: Add proximity as a common library 2018-05-16 23:21:41 +01:00
Andrew Tridgell cc931e9a2a waf: allow F4Light USB ID to be recognised 2018-05-16 20:24:23 +10: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 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
Peter Barker 4e53d9e1a8 Tools: correct flashing under Linux 2018-05-04 18:37:14 +10:00
stephen.dade 76cc014245 waf: Allow spaces in paths when compiling for ChibiOS targets 2018-05-04 12:47:06 +10:00
Andrew Tridgell 835484429d waf: don't build ChibiOS with debug by default
this makes builds (and rebuilds with ccache) faster
2018-05-04 12:17:12 +10:00
Andrew Tridgell 5fb8fe927c waf: added AP_ROMFS to build 2018-04-17 08:44:44 +10:00
Andrew Tridgell 02f20b4114 HAL_ChibiOS: first version of OMNIBUSF7V2 board support
first F7 based board
2018-04-12 11:50:44 +10:00
Andrew Tridgell 827108617a waf: only generate an abin file when needed
this saves on user confusion
2018-04-11 15:09:49 +10:00
Andrew Tridgell 8eaac031af waf: added AP_BLHeli 2018-04-07 09:10:29 +10:00
Andrew Tridgell c50359a5b5 waf: throw an error if hwdef.dat can't be processed 2018-04-07 09:10:29 +10:00
Andrew Tridgell 98ab1c13db Tools: fixed call to apj_tool in skyviper build 2018-03-24 16:11:50 +11:00
Peter Barker 6dfdb19711 Tools: include VisualOdom in common vehicle libraries 2018-03-23 09:28:07 +09:00
Peter Barker 44a063e818 Tools: ardupilotwaf: chibios: change directory before running make_abin.sh
Any waf build which is done outside of the git checkout will fail to create the abin without this, as it attempts to invoke git.

An example of this is the autotest system
2018-03-23 11:06:24 +11:00
Peter Barker edd0f74ec0 Tools: ardupilotwaf: chibios: hand apj tool an absolute path to parameters
Any waf build specifying an --out which is not at the same level as the default "build" will fail without this
2018-03-23 11:06:24 +11:00
Peter Barker b26d140316 Tools: ardupilotwaf: remove redundant --no-trigraph 2018-03-05 13:28:03 +00:00
Andrew Tridgell ba55f99419 waf: fixed python3 pickle error 2018-03-05 09:50:27 +11:00
Andrew Tridgell b6c0e65dee waf: set CYGWIN_BUILD on cygwin for px4
helps with missing/cmath
2018-03-03 13:35:39 +11:00
Andrew Tridgell 3e9f0f83f0 waf: fixed cygwin build for ChibiOS
keep path lengths to linker short
2018-03-02 17:11:31 +11:00
Andrew Tridgell 706a0c1b2f waf: define CYGWIN_BUILD for ChibiOS under cygwin
and for SITL
2018-03-02 17:11:31 +11:00
Andrew Tridgell 43f1b43b6c waf: auto-generate board targets for ChibiOS
this allows porting to a new board by just adding the hwdef.dat, with
no other changes
2018-03-02 12:52:50 +11:00
Andrew Tridgell 2075a3da7d waf: use pre_build hook for ChibiOS
this fixes dynamic uavcan building
2018-03-02 12:52:50 +11:00