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
Lucas De Marchi
b17acfee12
Add aerofc support
...
Flight Controller board that comes on Intel Aero RTF Drone.
2017-03-24 12:06:19 +11:00
Lucas De Marchi
1bf17fa50f
build: remove version that is not required anymore
...
Now bootloader, board name and px4io pass the name directly to the PX4
build system so we don't need to keep the version.
2017-01-30 18:59:34 -08:00
Lucas De Marchi
1a58d3c447
build: px4: pass px4io name directly
2017-01-30 18:59:34 -08:00
Lucas De Marchi
da297d2028
build: px4: pass board name directly
2017-01-30 18:59:34 -08:00
Lucas De Marchi
c81d32a0b2
build: px4: pass bootloader name directly
...
Don't derive the bootloader name from the version. Other boards using
the PX4 layer may not necessarily have "px4fmu" name, let alone the
version.
2017-01-30 18:59:34 -08:00
mirkix
61a88a9b5e
ardupilotwaf: Add BeagleBone Blue
2017-01-26 23:15:52 -08:00
Andrew Tridgell
b7081f42cd
waf: exclude some files from ROMFS
...
no need to include oreoled on FMUv2 as its Solo only
2016-12-19 08:07:13 +11:00
Andrew Tridgell
74a871576c
waf: added FMUv3 to build
2016-12-19 08:07:12 +11:00
Lucas De Marchi
57aec40acb
build: disable O_CLOEXEC for PX4 and VRBRAIN
2016-11-07 12:37:30 -03:00
Lucas De Marchi
217da05c64
build: Add Urus board to waf
2016-10-27 11:53:26 -02:00
Martin Evans
c0b913a975
build: Add Dark board to waf
2016-10-24 10:01:55 -02:00
Lucas De Marchi
95d5752011
build: fix configure check for headers
...
When we are checking if a header is available we can't pass -I argument
to our missing/ directory. Otherwise we would end up telling the build
that a header is available when it actually isn't.
This fixes the build of sitl in MacOS with clang.
2016-09-03 01:19:14 -03:00
José Roberto de Souza
6a9addb2a8
waf: Add Intel Aero to waf build
...
This will be the first board that only build with waf.
2016-09-03 01:03:17 -03:00
Lucas De Marchi
e31a06cfdb
waf: fix programs searches
...
Here we do the following:
1) Move the pkg-config check to boards.py so we only check of it for
linux boards
2) Use cfg.find_toolchain_program() if possible, for example, for AR
2016-08-24 12:15:42 -03:00
Andrew Tridgell
3769e0fc64
waf: build support for Disco
2016-07-20 13:28:28 +10:00
Gustavo Jose de Sousa
9a9b59a97f
waf: boards: fix funny CXXFLAGS typo
2016-07-18 15:26:07 -03:00
Andrew Tridgell
a5adae5fb4
waf: make linux check for libdl
...
needed for libiio
2016-07-13 15:24:42 -03:00
Andrew Tridgell
3322d7c321
waf: don't build bebop static
...
need dynamic for libiio
2016-07-13 15:24:42 -03:00
Lucas De Marchi
ee62b61fc7
waf: use STDC format macros
2016-07-13 14:18:27 +10:00
Siddharth Bharat Purohit
71c2f69a63
waf: add support for sitl build on mac
2016-07-07 11:35:17 -03:00
Lucas De Marchi
3a5bc141bb
build: use format macros in all linux boards
...
This doesn't work for px4 since it manually defines __STDC_FORMAT_MACROS
in some px4 modules, which needs to be updated.
2016-06-25 12:51:55 -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
Lucas De Marchi
563614e84b
waf: check for libiio for all linux boards
2016-05-23 12:06:42 -03:00
Lucas De Marchi
04fc1e22da
waf: check for lttng-ust for all linux boards
2016-05-23 12:06:42 -03:00
Lucas De Marchi
9ac6c399e9
waf: accept env variable to append library
...
Change check_librt() to do everything it needs to check for librt.
2016-05-23 12:06:42 -03:00
Gustavo Jose de Sousa
0f60c8ed4f
waf: boards: check for librt when necessary
2016-05-19 18:15:06 -03:00
Gustavo Jose de Sousa
e630c2b33f
waf: cxx_checks: define ap_common_checks() instead of configure()
...
That allow loading the cxx_checks tool before the calls to configure_env().
That way, we can add check functions to be used across boards.
2016-05-19 18:15:06 -03:00
Gustavo Jose de Sousa
ff46384258
waf: add --debug configuration option
...
That sets a variant <board>-debug.
2016-05-07 22:55:03 -03:00
Lucas De Marchi
9e3ec3a16d
waf: define git versions in a generated ap_version.h header
2016-05-06 13:11:28 -03:00
Julien Beraud
5418f71aae
waf: add libiio support for bebop
...
check for the presence of libiio to enable the compilation of
the bebop rangefinder that needs it.
If the build remains static, there needs to be a rootfs that contains
the libiio.a file because it is not included in the debian package.
A solution can be to compile libiio and copy libiio.a in /usr/lib[/arch]
2016-05-03 16:43:39 -03:00
Lucas De Marchi
e6907a607b
waf: link with winmm on cygwin
...
Otherwise it fails to link:
[335/335] Linking build/sitl/bin/arducopter-quad.exe
ArduCopter/libArduCopter_libs.a(SIM_Aircraft.cpp.4.o):SIM_Aircraft.cpp:(.text$_ZN4SITL8AircraftC2EPKcS2_+0x230): undefined reference to `_imp__timeGetTime@0'
ArduCopter/libArduCopter_libs.a(SIM_Aircraft.cpp.4.o):SIM_Aircraft.cpp:(.text$_ZN4SITL8Aircraft16setup_frame_timeEff+0x9f): undefined reference to `_imp__timeGetTime@0'
ArduCopter/libArduCopter_libs.a(SIM_Aircraft.cpp.4.o):SIM_Aircraft.cpp:(.text$_ZN4SITL8Aircraft16setup_frame_timeEff+0x125): undefined reference to `_imp__timeGetTime@0'
ArduCopter/libArduCopter_libs.a(SIM_Aircraft.cpp.4.o):SIM_Aircraft.cpp:(.text$_ZN4SITL8Aircraft15sync_frame_timeEv+0x21): undefined reference to `_imp__timeGetTime@0'
ArduCopter/libArduCopter_libs.a(SIM_Aircraft.cpp.4.o):SIM_Aircraft.cpp:(.text$_ZN4SITL8Aircraft15sync_frame_timeEv+0x152): undefined reference to `_imp__timeGetTime@0'
ArduCopter/libArduCopter_libs.a(SIM_Aircraft.cpp.4.o):SIM_Aircraft.cpp:(.text$_ZNK4SITL8Aircraft16get_wall_time_usEv+0xe): more undefined references to `_imp__timeGetTime@0' follow
collect2: error: ld returned 1 exit status
2016-04-19 19:02:25 -03:00
Ricardo de Almeida Gonzaga
5e45c9dfb0
waf: add cxx_checks tool
...
In order to start generating AP_Config header and detect
parameter such as the existence of cmath functions.
2016-04-05 20:44:15 -07:00
Ricardo de Almeida Gonzaga
14dbc16d46
waf: start using 'AP_Common/missing' to all boards
2016-04-05 20:44:15 -07:00
Francisco Ferreira
d54a22baaa
waf: boards: change no-unknown-pragmas to all compilers instead of only Clang
2016-03-30 01:32:45 -03:00
Gustavo Jose de Sousa
95aeb0346e
waf: load compilers tools in toolchain tool
...
It makes more sense the toolchain Waf tool to be responsible of loading the
compilers. Furthermore, that allows toolchain tool to have control on doing
configuration before and after loading compiler tools.
2016-03-23 17:11:02 -03:00
Francisco Ferreira
a8aae048c2
waf: boards: change toolchain to a board class attribute
2016-03-20 00:17:02 -03:00
Francisco Ferreira
f8727f7362
waf: boards: fix bug in boards environment merge
2016-03-20 00:17:02 -03:00
Francisco Ferreira
bf3dda9156
waf: boards: support Clang by adding necessary flags
...
Don't add unsupported flag when compiler is Clang
2016-03-20 00:17:02 -03:00
Francisco Ferreira
3b3d59efd1
waf: boards: load toolchain and compiler before configuring env
2016-03-20 00:17:02 -03:00
Gustavo Jose de Sousa
95848488e7
waf: boards: define PX4 boards
2016-03-14 11:54:31 -03:00
Gustavo Jose de Sousa
841771096d
waf: let toolchain loading in charge of the Board class
...
That allows boards (i.e. subclasses of Board) to use toolchain related
information for configuration. The upcoming PX4 build is an example.
2016-03-14 11:54:31 -03:00
Gustavo Jose de Sousa
8664c0344d
waf: allow boards to tweak build
...
We define a function build() that can be overrode by Board subclasses.
2016-03-14 11:54:30 -03:00
Gustavo Jose de Sousa
1fe795f283
waf: boards: set Board as an abstract board
...
Let's have a unified way to do that - no need for checking the board name
anymore.
2016-03-14 11:54:30 -03:00
Gustavo Jose de Sousa
93156e4325
waf: boards: allow defining abstract boards
...
That avoids instantiation of wrong board classes and also listing invalid board
names in the help message.
2016-03-14 11:54:30 -03:00
Gustavo Jose de Sousa
b53f38bb02
waf: boards: cache board in a variable
...
That allows subsequent calls to get_board() to work nicely, with no need of
instantiating a board on every single call.
2016-03-14 11:54:30 -03:00
Gustavo Jose de Sousa
36b49debf6
waf: boards: allow defining board name
...
If the name is not defined, then the class name will be used.
2016-03-14 11:54:30 -03:00
Gustavo Jose de Sousa
4f55c75767
waf: boards: pass configure context to configure_env()
...
There will be cases when the configuration context will be needed.
2016-03-14 11:54:30 -03:00
Gustavo Jose de Sousa
86c1c6da5c
waf: fix environment boolean values
...
It is more natural to use `env.FOO = True` then `env.foo = [True]`.
2016-03-03 14:58:03 -03:00
Gustavo Jose de Sousa
79b724dce8
waf: ardupilotwaf: fix board env processing
...
Two things are fixed with this patch:
1. We sort dictionaries' keys if they aren't OrderedDict instances. Since
dict objects don't guarantee order, environment variables may have contents
in wrong order, causing unnecessary rebuilds.
2. We only use prepend_value() if there's already a value set for the key
and that value is list. Before this change, boards couldn't set
non-iterable values.
2016-03-03 14:58:03 -03:00
Staroselskii Georgii
1107190656
waf: boards: add navio2
2016-02-27 03:06:50 -03:00
Lucas De Marchi
15ce176818
waf: add -Wundef to all boards
2016-02-19 12:34:24 -02:00
Gustavo Jose de Sousa
393bea8945
waf: boards: use classes for boards definition
...
In order to provide board-specific behavior. For example, the incoming PX4
build will require custom build behavior.
2016-02-18 14:33:46 -02:00
Lucas De Marchi
a01b933cb9
waf: add missing warnings from AP_Common.h
...
Copy the missing warnings from AP_Common.h and reorder the warnings to
be more clear on intent. This will later let us remove the warnings from
the header.
2016-02-12 20:41:29 +11:00
Lucas De Marchi
d844b90d5e
waf: remove duplicated warning flag
2016-01-30 13:47:28 -02:00
pkancir
85f0ef9265
waf : use LINKFLAGS for pthread
...
-pthread is the one supposed to be used because it defines pre-defined
macros as -lpthread doesn't, like was done in
2016-01-14 18:59:04 -02:00
Gustavo Jose de Sousa
d5e7b321f6
waf: add most linux boards
2016-01-11 16:31:59 -02:00
Caio Marcelo de Oliveira Filho
6856950bd3
waf: use ConfigSet for board environments
...
Instead of a dictionary of dictionaries, have a dictionary of
ConfigSets. Using ConfigSet have two benefits: (1) allow easily copying
values from other, (2) have syntax for specifying the keys directly as
attributes.
With this change now it's easier to specify minlure without
repetition. New boards can override a value, append or prepend depending
on the need.
DEFINES attribute is treated as a dictionary instead of a list, so
that's easier to override values (at expense of ordering). When reading
the board environment, the code converts back to a list.
The board configuration is now stored in a separate file, there's also a
function to get the boards names.
2015-12-03 07:54:32 +11:00