Commit Graph

702 Commits

Author SHA1 Message Date
Andrew Tridgell 878bd3f0fe waf: use /usr/bin/ar not arm-none-eabi-ar on cygwin
needed to allow for @FILE syntax for long arg lists
2021-04-20 18:43:20 +10:00
Andrew Tridgell 5304dfe213 waf: set NDEBUG define to avoid assert issues
this avoids future assert() calls from affecting STM32 HAL_ChibiOS
builds
2021-03-30 11:05:13 +11:00
Andrew Tridgell b137f9e319 waf: fixed embed error on python2 2021-02-26 10:59:09 +11:00
bugobliterator 6d25b02508 waf: need to crc the padded bootloaders before embedding 2021-02-26 10:59:09 +11:00
Andrew Tridgell b012c472e1 waf: added crc to embedded data 2021-02-23 20:20:07 +11:00
Andy Piper 7aa1e2d63b waf: add AP_VideoTX module 2021-02-17 18:23:33 +11:00
Andrew Tridgell ee8e9e3289 waf: fixed handling of vehicle dependency check for abs paths
this fixes the use of vehicle dependent cpp files on the build server
2021-02-15 07:23:33 +11:00
Andrew Tridgell 3c825bdffc waf: make AP_NavEKF3_core.h a vehicle dependent include 2021-01-24 11:56:52 +11:00
Pierre Kancir 805493c854 ardupilotwaf: use dynamic generation for ap_periph board name 2021-01-22 05:42:12 +11:00
bugobliterator 9e15b5785b ardupilotwaf: fix spec args as distcc doesn't like it 2021-01-20 19:21:14 +11:00
Andrew Tridgell bd9dd7ff4c Tools: added vnav linux target 2021-01-20 10:06:45 +11:00
Iampete1 5e00f5ae48 Tools: ardupilotwaf: ap_library: add genrated bindings to whitle list and add support for ends with whitle listing 2021-01-19 11:18:10 +11:00
Iampete1 8d7299d052 Tools: ardupilotwaf: ap_library.py: allow vehicle in build/ 2021-01-19 11:18:10 +11:00
Andrew Tridgell 5840d24ed9 Tools: build AP_ExternalAHRS 2021-01-05 21:13:12 +11:00
Andrew Tridgell eaf7e7354a Tools: added locations.txt to ROMFS for SITL 2021-01-01 17:30:32 +11:00
Pierre Kancir 60c6666941 Tools: ardupilotwaf: fix scripting inclusion on build_binaries.py 2020-12-23 22:52:52 +11:00
Randy Mackay 28e769a79e Tools: link AP_WheelEncoder for all vehicles 2020-12-01 14:01:17 +09:00
Andrew Tridgell ce95b7e81a waf: added --enable-memory-guard option 2020-11-18 17:14:43 +11:00
Michael du Breuil 960437d446 Tools: Add the SFML configuration flags as needed for joysticks 2020-11-13 15:38:22 +11:00
Andrew Tridgell 2e60fbc6d3 waf: fixed headers check 2020-11-10 16:15:45 +11:00
Andrew Tridgell 0c1d665818 waf: support no-gcs and DAL builds 2020-11-10 16:15:45 +11:00
bugobliterator 48b59973b5 waf: add sitl_gps support to simulate AP_Periph GPS 2020-11-04 19:59:40 +11:00
Andrew Tridgell 39f25fc0f4 Tools: added models to ROMFS in SITL 2020-10-28 14:20:44 +11:00
bugobliterator e49891d605 Tools: waf: remove extraneous frame-larger-than warning 2020-10-08 09:31:35 +11:00
giacomo892 4eeccb61cd WAF: Add AP_OLC to build 2020-10-01 09:40:45 +10:00
Pierre Kancir ae29697504 Tools: build_summary: make binary path a string 2020-09-30 17:59:33 +10:00
Siddharth Purohit b27092c651 Tools: waf: don't do uavcan build config for AP_Periph 2020-09-24 12:32:19 +10:00
Andrew Tridgell 7726848a50 waf: lock in zero errors for gcc9 2020-09-22 08:07:23 +10:00
Andrew Tridgell 3da00b482e waf: enable -Werror for whitelisted compilers on ChibiOS builds 2020-09-15 09:40:03 +10:00
Peter Barker 0bb44ba933 waf: print compiler version as part of configure 2020-09-14 18:11:31 +10:00
Peter Barker 5c22e9e105 Revert "Tools: make non DEBUG SITL use -march=native"
This reverts commit 85b599b2d7.

This breaks the cygwin binaries that MissionPlanner uses for simulation
2020-09-14 11:19:11 +10:00
Pierre Kancir 85b599b2d7 Tools: make non DEBUG SITL use -march=native 2020-09-10 15:16:18 +10:00
Andrew Tridgell 6b242bf1db waf: add flash_total to apj file 2020-09-10 07:41:25 +10:00
Pierre Kancir 2e60f361fa Tools: ardupilotwaf: remove '-Werror=suggest-override' from benchmark to prevent failure
this is due to the fact that gbenchmark header should be compatible with C++03 and then don't accept C++11 feature like override ...
2020-09-06 19:13:04 +10:00
Pierre Kancir 9d9cf2501a Tools: disable Gtest and testing on Gbenchmark build 2020-09-06 19:13:04 +10: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 844d2bf7ff waf: enable MSP when we enable OSD 2020-09-02 05:56:46 +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
yaapu b658edfa20 Tools: added MSP 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
Peter Barker 904981a0c3 waf: build with -Werror=undef 2020-08-19 14:46:39 +10:00
Andrew Tridgell 5fdc400aab waf: added -Werror=cast-align 2020-07-10 13:31:27 +10:00
Peter Barker b955be50af waf: build in AP_Generator directory 2020-07-03 08:21:42 +09:00
Pierre Kancir 77b461fee4 Tools: add --debug-ekf to debug the EKF 2020-06-20 19:59:05 +10:00
Andrew Tridgell a349a2f956 Tools: fixed SITL build 2020-05-16 10:39:14 +10:00
Andrew Tridgell c5c171b359 Tools: fixed scripting build with --out on configure line
thanks to Henry for noticing
2020-05-16 10:09:15 +10:00
Andrew Tridgell be812f490f waf: added AP_LIB_EXTRA_SOURCES
used to allow building of dynamically generated library components
2020-05-12 19:55:21 +10:00
Andy Piper d0cd494178 waf: add AP_RCTelemetry to build 2020-05-05 09:23:15 +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
Andy Piper 6245197204 waf: add support for the macOS clang address sanitizer 2020-04-15 07:22:49 +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
bugobliterator 1f421edaf2 waf: chibios remove quotes from the default param filename 2020-04-10 07:04:21 +10:00
Andrew Tridgell 9f2c689ec8 waf: fixed build to produce consistent binary
this ensures that optimisation levels are added regardless of whether
clean is run before or after a configure
2020-03-28 15:28:03 +11:00
Andrew Tridgell 4ca11224ba waf: embed files from ROMFS directory in SITL 2020-03-28 15:28:03 +11:00
Andrew Tridgell 1b5e5de0d1 waf: prevent warnings about OSD_ENABLED in build 2020-03-28 15:28:03 +11:00
bugobliterator 21a6a5d061 waf: disable use of libc realloc for chibios 2020-03-24 10:32:14 +11:00
bugobliterator 51fa1773b4 waf: enable heap methods for everything but bootloader 2020-03-24 10:32:14 +11:00
Andrew Tridgell de791682e9 waf: fixed build on cygwin
this fixes a link error on cygwin with the new DSP libs
2020-02-22 22:41:24 +11:00
Andy Piper 88f0c26636 Tools: add CMSIS DSP module to waf for M4 ChibiOS and control inclusion of FFT based on HAL_WITH_DSP and GYROFFT_ENABLED. target appropriate ARM cpus
sophisticated autotest for Gyro FFT
2020-02-22 11:15:37 +11:00
Michael du Breuil ea3d8046da waf: don't embed the sandbox.lua anymore 2020-02-18 10:38:09 +11:00
Randy Mackay dc537efabe Tools: add AP_ESC_Telem to build for all vehicles 2020-02-12 11:58:34 +09:00
Matt Lawrence e6f32f4572 AP_HAL_ChibiOS: Fix waf --default-parameters
If a defaults.parm file was present in the hwdef, waf ignored the --default-parameters=xyz.parm command line argument.  This will allow it to use that command line argument specified file.
2020-02-11 11:00:01 +11:00
Jaaaky fb7c5e09e5 Tools: chibios.py remove duplicate fread from wraplist 2020-01-28 08:48:29 +11:00
Andrew Tridgell 647aaf0575 waf: added AP_Stats to Sub 2020-01-16 20:36:54 +11:00
Andrew Tridgell c2ed419401 waf: build AP_Hott_Telem 2020-01-16 20:36:54 +11:00
Patrick José Pereira 994a934f88 Tools: ardupilotwaf: Add navigator board
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-01-16 08:01:54 +11:00
Peter Barker a21a87e884 waf: factor out a cc_version_gte 2020-01-15 13:55:42 +11:00
Peter Barker 824a085097 waf: make implicit fallthroughs fatal 2020-01-15 13:55:42 +11:00
Peter Barker 0afdee5105 waf: add -werror=unused-value to catch unused expression results 2020-01-14 11:12:14 +11:00
Andrew Tridgell 82148607ee Tools: add USBID to generated apj file 2020-01-06 09:55:26 +11:00
Andy Piper 1b17955f6b waf: hack to let RunCam header enablement macro pass 2019-12-30 13:02:04 +11:00
Andy Piper 30878553d6 Tools: add AP_Camera to list of libraries
remove dummy Camera methods from Replay
add rcmapper to replay
make replay a vehicle
2019-12-30 13:02:04 +11:00
Andrew Tridgell a06da57f3e waf: fixed aligned size of bootloader in ROMFS 2019-12-23 21:46:33 +11:00
Oliver Walters 9a7b78d49d waf: added support for Piccolo CAN ESCs 2019-12-22 09:48:40 +11:00
Andy Piper abb7041c22 Tools: only enable -Wno-format-contains-nul if not clang 2019-12-01 10:27:51 +11:00
Andrew Tridgell 4ff2d744e7 waf: build AP_EFI 2019-11-17 20:10:54 +11:00
Peter Barker a4a1536614 waf: make format errors fatal 2019-11-05 11:29:08 +11:00
Andrew Tridgell ca00ca4dac waf: build AP_SerialLED 2019-11-04 13:01:59 +11:00
Michael du Breuil 7b2fdec211 ardupilotwaf: Add -Wno-format-contains-nul
MAV_FTP benefits quite a lot from using null's in it's print strings
2019-11-02 22:52:06 +11:00
Andrew Tridgell d00f4316e9 Tools: moved AC_PID dependency to core 2019-11-02 16:31:04 +11:00
Andrew Tridgell 4e33aff5d6 waf: fixed unnecessary nul termination of ROMFS 2019-10-25 21:36:55 +11:00
Andrew Tridgell c219d357f0 waf: allow for uncompressed ROMFS
this saves memory flashing bootloader on low memory boards
2019-10-24 22:03:43 +11:00
Andrew Tridgell c5afc3ff99 Tools: use crc_crc32() in app descriptor 2019-10-21 19:12:01 +11:00
Andrew Tridgell d572d630ed waf: added generation of app descriptor 2019-10-21 19:12:01 +11:00
Michael du Breuil 6be5578621 ardupilotwaf: -Werror=delete-non-virtual-dtor is a C++ flag not a C flag 2019-10-16 18:14:42 +11:00
Andrew Tridgell c18098cdf4 waf: always build AP_ADSB
needed for singleton
2019-10-16 13:13:24 +11:00
Andy Piper 1d11fe5377 Tools: add --upload-port option to waf 2019-10-01 18:12:04 +10:00
Andrew Tridgell 1635da1dd7 Tools: removed HAVE_OCLOEXEC check 2019-09-28 14:19:46 +10:00
Peter Barker 84f6e49594 waf: cope with new format of gtest submodule 2019-09-24 14:30:13 +10:00
Peter Barker 52cb509f11 waf: add suggest-override even when building in uavcan 2019-09-24 14:30:13 +10:00
Andrew Tridgell e9f8b91134 waf: fixed --build-dates option
and remove build_time from apj when --build-dates not used to avoid
changing apj file
2019-09-23 08:32:05 +10:00
Peter Barker 45a76fe7fc waf: add -Werror=format-extra-args to cxx flags 2019-09-10 10:04:48 +10:00
Andrew Tridgell c90b937972 waf: wrap more libc functions 2019-09-09 13:31:30 +10:00
Andrew Tridgell c2b06a3293 waf: wrap vsnprintf 2019-09-09 13:31:30 +10:00
Peter Barker 2273ffb267 waf: build in libraries/AP_NavEKF 2019-09-03 09:28:37 +10:00
Peter Barker 291e2e3af6 waf: squash expansion-to-defined warnings
We use these a lot in our code and we're not particularly fussed with
portability.
2019-08-27 18:41:03 +10:00
Andrew Tridgell da15fb988c waf: add a lot more wrapped functions
this allows us to catch accidential inclusion of libc functions that
we don't want
2019-08-27 15:40:43 +10:00
Andrew Tridgell abe53e1c9e waf: build AP_Filesystem 2019-08-27 15:40:43 +10:00
Andrew Tridgell 29fe4241a8 waf: use C11 for C files
needed for AP_Periph
2019-08-27 10:29:56 +10:00
Peter Barker 813694894d Tools: waf: add warning if bootloader not found 2019-08-26 11:08:11 +10:00
Peter Barker be173a9514 Tools: waf: stop adding -Wno-error=suggest-override for CAN boards 2019-08-14 16:33:29 +10:00
Peter Barker 1574464543 waf: do not -Werror=suggest-override on uavcan-enabled boards
uavcan doesn't have all of the required override keywords

SITL will still die without the keyword
2019-08-13 23:19:45 +10:00
Peter Barker c339d18ee6 Tools: add -Werror=suggest-override for gcc 2019-08-13 09:46:20 +10:00
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