Commit Graph

307 Commits

Author SHA1 Message Date
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
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
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
Andy Piper
abb7041c22 Tools: only enable -Wno-format-contains-nul if not clang 2019-12-01 10:27:51 +11:00
Peter Barker
a4a1536614 waf: make format errors fatal 2019-11-05 11:29:08 +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
c219d357f0 waf: allow for uncompressed ROMFS
this saves memory flashing bootloader on low memory boards
2019-10-24 22:03:43 +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
1635da1dd7 Tools: removed HAVE_OCLOEXEC check 2019-09-28 14:19:46 +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
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
29fe4241a8 waf: use C11 for C files
needed for AP_Periph
2019-08-27 10:29:56 +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
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
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
Peter Barker
85fe4ae6dd waf: add sitl rgbled option 2019-05-21 09:21:56 +10: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
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
3c9646dfef waf: allow hwdef.dat to override build optimization 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
Peter Barker
6137704032 Tools: ardupilotwaf: add -Werror=inconsistent-missing-override for clang 2019-02-20 19:23:54 +11: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
Michael du Breuil
7b259fb09f ardupilotwaf: Enable heap for scripting builds 2018-12-31 19:25:23 -07: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
Peter Barker
8949cdd87a Tools: waf: use ctx rather than build for fatal errors 2018-12-01 09:41:24 +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
Michael du Breuil
472cd9f48c Tools: Add a runtime scripting check flag 2018-11-14 01:41:35 +00: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
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
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
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
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
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
Andrew Tridgell
c5f3beb297 waf: added --enable-asserts option for ChibiOS 2018-08-03 13:44:59 +10:00
Andrew Tridgell
655828d2f8 waf: use wildcard OSD fonts for SITL 2018-07-09 19:41:56 +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
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
Peter Barker
e9a07bdd6f Tools: create CHIBIOS_GIT_VERSION build-time define 2018-06-18 19:10:37 +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
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
Peter Barker
b26d140316 Tools: ardupilotwaf: remove redundant --no-trigraph 2018-03-05 13:28:03 +00: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
Andrew Tridgell
7d5ed1bc9b waf: simplify board classes for ChibiOS
rely in hwdef.dat
2018-03-02 12:52:50 +11:00
Andrew Tridgell
fed1579187 waf: auto-enable CAN for ChibiOS builds
use presence of CAN pins in hwdef.dat to automatically enable if
available
2018-03-02 12:52:50 +11:00
Andrew Tridgell
89430793dd waf: allow env variable overrides in hwdef.dat
this allows hwdef.dat to control files that are built and flags to the
build
2018-03-02 12:52:50 +11:00
Andrew Tridgell
61debe95e0 Tools: started on OMNIBUSF7V2 support 2018-03-02 12:52:50 +11:00
Andrew Tridgell
035da5047a waf: added fmuv2 build
based on fmuv3, but with 1M target flash
2018-03-01 15:25:55 +11:00
Peter Barker
053d789843 Tools: ardupilotwaf: disable SLP vectorization for clang++ in SITL
There appears to be a problem caused by clang++'s optimisations to do
with SLP vectorizations.

It *looks* like it doesn't push enough operands into one of the vectors,
so you end up with a division by zero when attempting to execute an SSE
instruction.
2018-03-01 13:12:10 +11:00
Andrew Tridgell
4dc88c6022 waf: added crazyflie2 2018-02-14 18:27:00 +11:00
ljwang
59ee3c8f62 AP_HAL: support mini-pix 2018-02-14 18:27:00 +11:00
Alexey Bulatov
7302618bbc waf: add support UAVCAN for Edge board 2018-02-13 13:52:44 +11:00
Andrew Tridgell
8b5291975b waf: disable uavcan and fatfs on skyviper-v2450 2018-02-08 22:10:46 +11:00
Andrew Tridgell
36695fe1f6 waf: create abin files for some px4 builds
needed for skyviper web UI upload
2018-02-08 18:56:51 +11:00
Andrew Tridgell
258ae49952 waf: support PX4 boards with no microSD or USB 2018-02-08 18:56:51 +11:00
Andrew Tridgell
86d43061e9 waf: added skyviper-v2450-px4 build 2018-02-08 17:36:33 +11:00
Andrew Tridgell
2db74a642b waf: added skyviper-f412-rev1 board
older board with SPI 20789
2018-02-08 17:36:33 +11:00
Andrew Tridgell
779de02acb waf: disable double-promotion warnings on ChibiOS
these are not useful
2018-02-08 17:36:33 +11:00
Andrew Tridgell
13a3c56a02 waf: added board name to ChibiOS build 2018-02-07 20:33:45 +11:00
Siddharth Purohit
b1499ee8f2 waf: add option to compile with uavcan for chibios boards 2018-02-07 20:33:45 +11:00
Andrew Tridgell
3d50bbe2c0 waf: added mini-pix build target 2018-02-07 20:33:45 +11:00
Andrew Tridgell
6ee0c48ab1 waf: added revo-mini build type 2018-02-07 20:33:45 +11:00
Peter Barker
7c232323da waf: added support for Sparky2 STM23F405 board 2018-01-20 17:40:07 +11:00
Alexey Bulatov
e16ac3da23 ardupilotwaf: Disable exceptions for UAVCAN on linux boards 2018-01-17 07:24:17 -08:00
Alexey Bulatov
0998ac102b ardupilotwaf: Add libraries instead of assignment 2018-01-17 07:24:17 -08:00
Andrew Tridgell
681792acf3 waf: added skyviper-v2450 build target
derived from fmuv3
2018-01-15 11:46:02 +11:00
Andrew Tridgell
c708201fc6 waf: added flag for no FATFS in ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell
2978649cd4 waf: moved to generated loader script 2018-01-15 11:46:02 +11:00
Andrew Tridgell
5af4f8b364 waf: added mindpx-v2 build target 2018-01-15 11:46:02 +11:00
Andrew Tridgell
a2681f1d1c waf: support ChibiOS FMUv4 2018-01-15 11:46:02 +11:00
Peter Barker
550ab6ac62 waf: chibios trigraph warning fix 2018-01-15 11:46:02 +11:00
bugobliterator
925e3a2dcb waf: added ChibiOS support 2018-01-15 11:46:02 +11:00
mirkix
793578c0a9 ardupilotwaf: add new board PocketPilot 2017-12-27 16:01:55 +00:00
Peter Barker
fa68738726 Tools: waf: avoid trigraph warnings by adding -Wno-trigraphs 2017-11-23 10:40:30 +11:00
HeBin
c700e69541 Tools: add Robsense PhenixPro Devkit Board support 2017-11-22 10:10:21 -08:00
Staroselskii Georgii
62cb2b6845 waf: boards: add Edge 2017-10-20 13:03:08 -07:00
Lucas De Marchi
83b9518a49 build: remove raspilot 2017-09-12 15:06:19 -07:00
Francisco Ferreira
efc42edabe waf: remove URUS 2017-09-11 10:04:11 -07:00
davidaroyer
bde8252359 waf: add support for Aerotenna OcPoC-Zynq hardware 2017-09-08 07:30:49 -07:00
Lucas De Marchi
bfe2acac33 build: add -Wno-attributes for PX4
This will allow us to use [[fallthrough]] attribute as an
statement.
2017-08-22 23:59:13 -07:00
Kevin Lopez Alvarez
34c977f046 waf: Initial waf support for ppro 2017-07-24 13:45:37 +10:00
Gustavo Sousa
930f3b4aca build: boards: enable --upload option for linux boards
Make it use rsync command. That's a workaround to allow user using --upload
option, which in fact appends the 'rsync' to the command chain. A bad
side-effect of this is that the build summary is output twice for a command
like 'waf copter --upload'.
2017-07-02 08:58:26 -07:00
Lucas De Marchi
d02013c91b build: aerofc-v1: add default param file into ROMFS 2017-06-06 18:42:17 -07:00
Lucas De Marchi
f6d43aea25 build: px4: allow to embed defaults file into ROMFS 2017-06-06 18:42:17 -07:00
Andrew Tridgell
c8d6311047 waf: added -Werror=switch
match the stm32 build, so errors are found in SITL
2017-04-19 20:48:42 +10:00
Eugene Shamaev
59ef501a19 waf: add support for building with UAVCAN 2017-04-10 22:38:13 +01:00
Lucas De Marchi
fab0358a0f build: document special fields in px4 boards 2017-03-24 12:06:19 +11:00
Lucas De Marchi
81a9a70910 ROMFS: use different UART for errors in aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi
3eb16fd881 build: PX4: install rc.<board-name> as init script 2017-03-24 12:06:19 +11:00