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
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
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
6b6c35a435
waf: use relative paths for ChibiOS build
...
this fixes the ChibiOS build on cygwin by reducing path lengths to
below the cygwin limit
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
Luis Vale Gonçalves
e88be33c9e
Updated the usbmodem line for upload
...
Added a * to enable recognition of usbmodems
2018-02-16 10:17:45 +11:00
Andrew Tridgell
4dc88c6022
waf: added crazyflie2
2018-02-14 18:27:00 +11:00
Andrew Tridgell
320c3b53a4
waf: make it easier to list USB IDs to load fw to
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
2cbf04a3d0
waf: use new bootloader path
2018-02-10 19:13:18 +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
b0c16f7eb9
waf: auto-build abin files for ChibiOS
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
5c259459ea
waf: build with AP_TempCalibration
2018-02-08 17:36:33 +11:00
Andrew Tridgell
0258c5baf4
waf: added AP_Radio to build
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
Andrew Tridgell
1c0b598c05
waf: fixed permissions on px_mkfw.py
2018-02-07 20:33:45 +11:00
Siddharth Purohit
d1a497f223
waf: add more wraps to compile uavcan
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
Siddharth Purohit
90ca9626cc
waf: use gcc/g++ by default if available else throw warning
2018-01-31 12:22:23 +11:00
Andrew Tridgell
4bc3a649cc
waf: default port list for uploader
2018-01-20 17:40:07 +11:00
Andrew Tridgell
d7c62602ed
waf: added AP_RCProtocol to list of libraries for all vehicles
2018-01-20 17:40:07 +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
4f0839a493
waf: improved dependencies in ChibiOS build
2018-01-16 09:46:21 +11: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
ce9473f0e8
waf: fixed handling of waf clean with new hwdef generation
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
9482ab1840
waf: use common makefile for ChibiOS if no custom present
2018-01-15 11:46:02 +11:00
Andrew Tridgell
e3f4860666
waf: cope with serial exceptions in px_uploader.py
...
this allows the loader to continue on a USB removal/reinsert
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
bugobliterator
3aba8bf706
waf: add mac usb com ports to list of devices for upload
2018-01-15 11:46:02 +11:00
Andrew Tridgell
a2681f1d1c
waf: support ChibiOS FMUv4
2018-01-15 11:46:02 +11:00
Andrew Tridgell
964f081bab
waf: fixed comment
2018-01-15 11:46:02 +11:00
Peter Barker
550ab6ac62
waf: chibios trigraph warning fix
2018-01-15 11:46:02 +11:00
Andrew Tridgell
b48b436923
waf: implement --default-parameters option for ChibiOS
2018-01-15 11:46:02 +11:00
Andrew Tridgell
38022d03b6
waf: disable gtest build on ChibiOS
2018-01-15 11:46:02 +11:00
Andrew Tridgell
4e6c26cf77
waf: simplify chibios libch.a building
2018-01-15 11:46:02 +11:00
Andrew Tridgell
e026a408f3
waf: added AP_RAMTRON and AP_IOMCU to build
2018-01-15 11:46:02 +11:00
bugobliterator
925e3a2dcb
waf: added ChibiOS support
2018-01-15 11:46:02 +11:00
Andrew Tridgell
9869b98da3
waf: added ap_version_append_int()
...
used for date defines
2018-01-15 11:46:02 +11:00
Peter Barker
c56529f39c
Tools: waf: remove GCS_Console
2018-01-09 13:46:22 +00:00
mirkix
793578c0a9
ardupilotwaf: add new board PocketPilot
2017-12-27 16:01:55 +00:00
Mark Whitehorn
fd5039f8cd
Tools: link SBusOut library
2017-11-30 10:20:04 +11: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
Andrew Tridgell
766a2a4bc0
Tools: link volz library
2017-11-21 14:10:54 +11:00
Staroselskii Georgii
62cb2b6845
waf: boards: add Edge
2017-10-20 13:03:08 -07:00
Lucas De Marchi
cd81b27c05
build: protect ap_version.h from inclusion
2017-09-23 21:37:45 -07:00
José Roberto de Souza
c6b19131ba
ardupilotwaf: AeroFC: Remove unused tools
...
before
BUILD SUMMARY
Build directory: /home/zehortigoza/dev/ardupilot/build/aerofc-v1
Target Text Data BSS Total
------------------------------------------------
bin/arducopter 860324 2032 55220 917576
bin/arducopter-heli 844204 2028 55028 901260
after
BUILD SUMMARY
Build directory: /home/zehortigoza/dev/ardupilot/build/aerofc-v1
Target Text Data BSS Total
------------------------------------------------
bin/arducopter 852248 2024 55156 909428
bin/arducopter-heli 836120 2020 54964 893104
2017-09-21 13:40:41 -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
Lucas De Marchi
8a9a08ed9b
build: generalize link fix
2017-08-16 10:51:59 -07:00
Miguel Arroyo
a2f327678b
waf: Fix for lttng linking
2017-08-16 10:51:59 -07:00
Francisco Ferreira
d41dd7e7e7
waf: add workaround for PE linker not removing unused methods
2017-08-15 21:51:08 +01: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
Kevin Lopez Alvarez
34c977f046
waf: Initial waf support for ppro
2017-07-24 13:45:37 +10:00
Peter Barker
7042d3e9c9
Global: all vehicles get AP_Relay and AP_ServoRelayEvent libraries
2017-07-17 00:06:31 +01: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
Peter Barker
ee16205438
Tools: ardupilotwaf: include startup tone in ROMFS
2017-05-01 13:28:27 +01:00
Francisco Ferreira
2f326fe5e0
build: remove obsolote mkblctrl from PX4 builds
2017-04-27 13:32:43 +01:00
Andrew Tridgell
385d1c1951
waf: cope with spaces in directory name in mavgen
2017-04-22 13:48:19 +10: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
Pierre Kancir
b541949262
WAF: Px4.py remove unused PX4_UAVCAN_ROOT and UAVCAN_LIBUAVCAN_PATH
2017-04-17 13:32:27 -07: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
05c5a2ac9b
build: add adc driver for aerofc
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
b1b07f4e70
build: make bootloader path relative to ROMFS
...
Differentiating if the path should be relative to the build dir or the
ROMFS dir based purely on the type of the item is not a good approach.
This prepares the way to have more files on ROMFS with different names
on src and dst.
2017-03-24 12:06:19 +11:00
Lucas De Marchi
8db111e0a0
build: do not add sercon for aerofc
2017-03-24 12:06:19 +11:00
Lucas De Marchi
d3df9c8d39
build: use dummy tone_alarm on aerofc
...
This allows us to use tone_alarm in the init script besides the calls
from ArduPilot code.
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
65f2c9eca1
build: remove batt_smbus from waf as well
...
It has been removed from make build system, but not from waf.
2017-02-12 01:14:04 +00:00
Lucas De Marchi
00ef0cec2e
build: shut up cmake regarding deprecated macros
...
Yes, we know we are using them. Remove warnings like:
CMake Deprecation Warning at /usr/share/cmake/Modules/CMakeForceCompiler.cmake:93 (message):
The CMAKE_FORCE_CXX_COMPILER macro is deprecated. Instead just set
CMAKE_CXX_COMPILER and allow CMake to identify the compiler.
Call Stack (most recent call first):
cmake/toolchains/Toolchain-arm-none-eabi.cmake:37 (cmake_force_cxx_compiler)
/home/lucas/p/dronecode/ardupilot/build/px4-v2/modules/PX4Firmware/CMakeFiles/3.6.2/CMakeSystem.cmake:6 (include)
CMakeLists.txt:204 (project)
2017-02-06 09:27:22 -08:00
Lucas De Marchi
3d29010366
build: allow to pass flags to cmake
...
These are flags to cmake itself, not to the compiler and is not in the
form of -DXX=YY
2017-02-06 09:27:22 -08: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
Andrew Tridgell
6747f42986
waf: ensure that we can link to a package before using it
...
this copes with a PKG_CONFIG_PATH that points at a package for the
wrong architecture
2017-01-30 13:55:57 +11:00
Andrew Tridgell
9d592e005d
waf: removed install of oreoled.bin
2017-01-29 16:31:06 +11:00
Andrew Tridgell
977cd3c486
waf: re-enable uavcan on FMUv2
2017-01-29 16:31:06 +11:00
mirkix
61a88a9b5e
ardupilotwaf: Add BeagleBone Blue
2017-01-26 23:15:52 -08:00
Andrew Tridgell
1dd6d568ab
waf: removed remaining PX4 rangefinder drivers
2017-01-27 18:12:05 +11:00
Andrew Tridgell
2add60bc37
waf: removed PX4 trone driver
2017-01-27 18:11:29 +11:00
Randy Mackay
99ba42c26d
Build: do not build PX4Firmware rgbled driver
2017-01-27 15:24:09 +09:00
Andrew Tridgell
d07d2d9a40
Tools: adapt to new RC_Channel API
2017-01-12 17:39:37 +11: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
321cad640c
waf: trim PX4 config to reduce firmware size
...
removed unused drivers
2016-12-19 08:07:12 +11:00
Andrew Tridgell
95b848f2b6
waf: fixes for FMUv3
2016-12-19 08:07:12 +11:00
Andrew Tridgell
74a871576c
waf: added FMUv3 to build
2016-12-19 08:07:12 +11:00
Andrew Tridgell
35bed59bd4
Tools: Add EKF3 and remove EK1
2016-12-19 08:07:10 +11:00
Andrew Tridgell
7e0d904657
Tools: link in AP_FlashStorage
2016-12-02 09:49:39 +11:00
Andrew Tridgell
4ef4016e5e
mk: removed PX4 irlock driver
2016-11-28 08:39:07 +11:00
Andrew Tridgell
752a5035d0
waf: remove px4flow from build
2016-11-28 08:26:57 +11:00
Julien Beraud
c6107d812d
waf: Don't use lttng in static builds
...
already done for libiio and libdl
2016-11-16 01:23:10 -02:00
Andrew Tridgell
111d8c05dc
waf: link in less drivers on Pixracer
2016-11-10 12:55:48 +11:00
Andrew Tridgell
dc439d281e
Tools: removed PX4 airspeed drivers
2016-11-09 17:07:59 +11:00
floaledm
8d0fd7cea8
Tools: add AP_Frsky_Telem
2016-11-08 07:42:39 +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
cc683c1db1
build: use gcc/g++ first
...
We currently are unable to build on MacOSX unless we give waf the
--check-cxx-compiler g++. Change the compiler order to search for
gcc/g++ first instead of clang/clang++.
2016-10-14 17:30:46 -03: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
Gustavo Jose de Sousa
5d7ca3fd27
waf: build_summary: don't call size for empty list of nodes
...
Otherwise, that will cause an error.
2016-08-31 00:19:51 -03:00
Gustavo Jose de Sousa
87862a08ab
waf: ap_library: make headers whitelist portable
...
Otherwise it won't work for platforms that don't use Unix style paths.
2016-08-26 13:13:56 -03:00
Gustavo Jose de Sousa
a6b55d90a7
waf: cmake: define a dictionary of supported generators
...
On Windows, using MSYS Makefiles generator doesn't work very well when the
CMakeLists.txt files use custom commands with paths as arguments. Furthermore,
MinGW Makefiles generator can't be used if sh.exe is in the system's path and
some build systems rely on sh for certain tasks (which is the case of PX4
Firmware build). Because of that, the list of generators for Windows has been
narrowed to Ninja and NMake Makefiles.
2016-08-24 12:15:42 -03:00
Gustavo Jose de Sousa
07592d650e
waf: px4: copy with shutil module instead of cp program
...
In order to make it independent of host platform.
2016-08-24 12:15:42 -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
Gustavo Jose de Sousa
f430ef3825
waf: toolchain: override find_g{xx,cc}() instead of wrapping configure()
...
That's more correct than setting Waf environment variables:
(1) We don't need to worry about differences between OSes - the previous
implementation was actually broken for Windows because the program names in
the environment variables were missing the ".exe" extension.
(2) That looks better than looping over possible compiler names and running
the configuration transactionally multiple times.
2016-08-24 12:15:42 -03:00
Gustavo Jose de Sousa
31965689cb
waf: persist implicit dependency information across clean
...
Implicit dependency scanning takes significant time and, since it doesn't
produce files, it's okay to keep the resulting information across clean
commands as long as the scanner is triggered again if there's need to. This
commit accomplishes that.
The advantage of this approach can be observed by the following timings when
building the group "bin":
Method Time
------------------------------------------------------------------------
Fully clean build 5m18.633s
Clean build with scanning result persisted 4m23.346s
Clean build with ccache but non-persistent scan results 1m40.125s
Clean build with scanning results persisted and with ccache 14.843s
While at it, move management of information persisted across clean commands to
a separate module.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa
6abcf6150c
waf: ap_library: use ap_persistent_task_sigs for header checking tasks
...
In order to make clean builds faster.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa
ef4fd0e2d3
waf: add --clean-all-sigs option
...
Explanation on the option help string.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa
0b7a98d40c
waf: allow persisting tasks signatures across clean commands
...
That allows some time consuming tasks that don't really produce anything on the
file system to keep their signature after a clean command is issued.
2016-08-24 10:46:23 -03: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
a6ec802d28
ap_library: always check included headers when necessary
...
This approach is better then the previous one mainly because the latter
required creating the task generator for the checks in a separate group and
posting that target implied in posting the whole previous build groups.
Some notes:
- This is implemented so that headers aren't checked more than once, so there
might be some checking tasks that won't do anything because the headers are
checked on another task. Even so, those headers are added to the result of
scan() in order to provide a consistent output to the user.
- It is safe manipulating the shared variable dispatched_headers because the
scan() is called before the task is added to the execution queue.
- Although we force ap_library_check_headers.scan() to always be called,
that's OK, because we use the scanning result of the compilation task, which
returns a cached value if there's no need to rescan.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa
51bef96811
waf: px4: accommodate use of ap_library
...
- Use AP_LIBRARIES_OBJECTS_KW instead of AP_STLIB_FEATURES.
- Change the feature name to one that makes more sense.
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
9a6fcafade
waf: ap_library: add tool
...
That's a tool for creating task generators for libraries object files. One of
the key objectives of this patch is to provide a way to avoid recompiling
sources that are independent of vehicles.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa
b191269cc8
waf: px4: run firmware task after link task
...
This fix a bug introduced by 06a5156
("waf: px4: reconfigure PX4Firmware for
each program"), with the removal of the call fw_task.set_run_after(cp_lib).
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa
8fb6ccc8b7
waf: px4: use copy of "use" in px4_import_objects_from_use()
...
Utils.to_list() returns the argument if it is a list, which means that
px4_import_objects_from_use() cleared that attribute when processing the queue.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa
424f6490fc
waf: px4: add missing import Errors
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa
2e1ac0de8d
waf: make get_legacy_defines() "public"
...
That function will be used by an upcoming separate tool.
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
d1c5691501
waf: build_summary: let the user register the post build callback
...
That allows more control from the user's point of view.
2016-07-28 17:50:19 -03:00
Gustavo Jose de Sousa
4bd17ab90c
waf: git_submodule: allow warning about skipped submodules updates
...
Provide a function to register a post build routine to do the warnings. Do that
way so that the user can chose when to add the callback to the build (i.e.
allow the user to assert a desired order for the post build callbacks to be
called).
2016-07-25 16:45:57 -03:00
Gustavo Jose de Sousa
4cd70842d9
waf: git_submodule: don't update submodule if non-fastforward
...
Don't cause trouble to developers working on submodules.
2016-07-25 16:45:57 -03:00
Andrew Tridgell
db8bf48747
build: added AP_ICEngine to build
2016-07-25 10:06:03 +10:00
Andrew Tridgell
241b6edfcf
Build: added AP_Button to build
2016-07-22 15:01:20 +10:00
Andrew Tridgell
fd286498af
PX4: added otp to the build
2016-07-21 18:05:00 +10:00
Lucas De Marchi
2b1b23cabf
build: fix static linking through --static option
2016-07-20 18:03:20 -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
Gustavo Jose de Sousa
849a83315a
waf: git_submodule: fix for Waf 1.9
...
Tasks cwd must be Node objects in Waf 1.9
2016-07-14 14:00:07 -03:00
Andrew Tridgell
d25db426a3
waf: added AP_Module to the build
2016-07-14 13:39:47 +10:00
Lucas De Marchi
b375b33189
waf: allow to disable tests
...
This allows to completely disable the tests. Even the gtest submodule is
not checked out allowing integration on build servers without needing to
download one more submodule.
This is different from the --notests flag. The latter only disables
executing the tests, but always use the submodule.
2016-07-13 15:38:50 -03:00
Lucas De Marchi
8967220652
waf: pass uselib_store in check_package()
...
This guarantees waf will always add the flags with our known prefix.
2016-07-13 15:24:42 -03:00
Andrew Tridgell
1b12371e25
waf: use define_name in libdl check
2016-07-13 15:24:42 -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
Andrew Tridgell
2980d47e23
waf: added check_package() function for pkg-config checks
...
this converts existing pkg-config checks to use check_package, which
sets up all the needed variables after a check.
This also disables libdl and libiio for static builds, where they make
no sense
2016-07-13 15:24:41 -03:00
Lucas De Marchi
ee62b61fc7
waf: use STDC format macros
2016-07-13 14:18:27 +10:00
Lucas De Marchi
8a27680fbb
build: check for endian.h and byteswap.h
2016-07-08 19:49:32 -03:00
Siddharth Bharat Purohit
71c2f69a63
waf: add support for sitl build on mac
2016-07-07 11:35:17 -03:00
Gustavo Jose de Sousa
a748c52f06
waf: bump to version 1.9.0
...
Some things worth mentioning:
- That version contains commits we had cherry picked on our submodule.
- There's a patch on top with a fix for the new process spawning used on
version 1.9.0. That has already been applied to upstream's master, but not
released yet.
- This patch also does necessary changes on our build system in order to
accommodate the upgrade. Basically:
- Use full task class names when calling create_task().
- Use always_run class attribute instead of the decorator, which is
deprecated.
2016-06-29 11:18:22 -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
Lucas De Marchi
a9919420c6
waf: allow to disable libiio at configuration
...
We default to autodetection for libiio so if the libraries are available
we enable it. However this may not always be desired.
2016-06-23 19:08:13 -03:00
Lucas De Marchi
348678888b
waf: allow to disable lttng at configuration
...
We default to autodetection for LTTNG so if the libraries are available
we enable it. However this may not always be desired.
2016-06-23 19:07:26 -03:00
Gustavo Jose de Sousa
6fa97c2289
waf: px4: require cmake version at least 3.2
...
That way we avoid build errors due to things not supported in earlier versions.
2016-06-03 09:55:17 -03:00
Gustavo Jose de Sousa
03728ac2f7
waf: cmake: enable minimum version checking
...
By using the environment variable CMAKE_MIN_VERSION.
2016-06-03 09:55:17 -03:00
Gustavo Jose de Sousa
8e9752c3d3
waf: px4: setup build summary
...
- Pass the correct nodes as the binaries for the programs task generators.
- Print extra information specific to PX4 build.
2016-05-25 17:47:00 -03:00
Gustavo Jose de Sousa
d65a7897e4
waf: px4: keep ELF files around
...
Including px4io. We need them for the build summary. Also, that makes it easier
to use gdb on them.
2016-05-25 17:47:00 -03:00
Gustavo Jose de Sousa
4f3af94c57
waf: build_summary: add Waf tool
2016-05-25 17:47:00 -03:00
Gustavo Jose de Sousa
afcabda21c
waf: use better style for add_option() calls
...
Setting the "help" keyword argument may not fit in one line sometimes. This
patch adds the following convention to calls to add_option() in order to
address that issue in a better way:
1) The "help" keyword must always be the last argument to be passed.
2) If the help string is a literal string or a literal string with some
operation (e.g. "%" operator) and setting the "help" keyword in the code
doesn't fit a line (considering the limit of characters in a line), then
the help string must be a triple-quoted string. That has the advantage of
not having to have several "+" operations for long help strings. In that
case, the help message must start on the next line and the closing
triple-quotes must be on a separate line together with the closing
parenthesis.
The requirement (1) makes it easier to make the style exception in (2)
acceptable.
2016-05-25 17:47:00 -03:00
Gustavo Jose de Sousa
64b8ec61c7
waf: set lib as output dir for static libraries
2016-05-25 17:47:00 -03:00
Gustavo Jose de Sousa
236a62f4b9
waf: create program_dir directory
...
There's an upcoming patch that moves all static libraries to
`build/<board>/lib/`. That way, the program directory won't be created
automatically by the build system and that will cause problems for PX4 builds,
since it builds ardupilot programs as static libraries and copies stuff to the
program directory.
2016-05-25 17:47:00 -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
Gustavo Jose de Sousa
80f03b618b
waf: toolchain: add find_toolchain_program()
2016-05-25 17:47:00 -03:00
Gustavo Jose de Sousa
06a515645e
waf: px4: reconfigure PX4Firmware for each program
...
A (possible) bug in CMake makes it not to relink firmware_nuttx sometimes when
the following sequence of events happen with very short period of time in
between them:
1) cmake target build_firmware_px4fmu-v2 just finishes
2) px4-extra-files/libap_program.a is replaced with the next library
3) cmake target build_firmware_px4fmu-v2 is run
It's unfortunate to have to reconfigure PX4Firmware with a different path
because of the overhead added.
That problem was found with CMake 3.5.2 and is reproducible with the following
bash script (with git HEAD at ae3cb05
'HAL_PX4: disable "Overtime in task"
msg'):
```
modules/waf/waf-light configure --board px4-v2
modules/waf/waf-light build --targets bin/arduplane,bin/arducopter-quad
fails=0
total=0
while true; do
cp build/px4-v2/bin/libarducopter-quad.a \
build/px4-v2/px4-extra-files/libap_program.a
cmake --build build/px4-v2/modules/PX4Firmware \
--target build_firmware_px4fmu-v2 &> /dev/null
h1=$(sha256sum build/px4-v2/modules/PX4Firmware/src/firmware/nuttx/firmware_nuttx \
| cut -d" " -f1)
cp build/px4-v2/bin/libarduplane.a build/px4-v2/px4-extra-files/libap_program.a
cmake --build build/px4-v2/modules/PX4Firmware \
--target build_firmware_px4fmu-v2 &> /dev/null
h2=$(sha256sum build/px4-v2/modules/PX4Firmware/src/firmware/nuttx/firmware_nuttx \
| cut -d" " -f1)
[[ $h1 == $h2 ]] && ((fails++))
((total++))
printf "\r%d/%d" $fails $total
done
```
2016-05-25 11:51:40 -03:00
Gustavo Jose de Sousa
fee5053493
waf: cmake: reconfigure when configuration data change
...
Create a new configuration task a configuration in the CMakeConfig object
changes. That allows building targets for different configurations in one waf
build run.
2016-05-25 11:51:40 -03:00
Gustavo Jose de Sousa
ce0ae66b19
waf: cmake: add CMAKE_VARS to task uid()
...
To allow the correct multiple instantiations of the cmake_configuration tasks
for different states CMake variables.
2016-05-25 11:51:40 -03:00
Gustavo Jose de Sousa
b6a5052a97
waf: cmake: use CMakeConfig class instead of taskgen
...
That will make it easier to allow reconfiguration of cmake builds on a single
waf build run.
2016-05-25 11:51:40 -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
Andrew Tridgell
a1c52415e9
waf: pass mavlink include path into cmake build
2016-05-21 15:25:18 +10:00
Andrew Tridgell
7e7c21d114
waf: update for MAVLink2 build
2016-05-21 15:25:17 +10:00
Gustavo Jose de Sousa
bc62164ac9
waf: mavgen: scan for implicit dependencies
...
Process the input file to catch dependencies. Otherwise, changes in included
files wouldn't trigger the code regeneration.
2016-05-19 18:47:07 -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
f10c150e70
waf: cxx_checks: add check_librt()
...
That function verifies for the necessity of linking against librt. If so, then
it checks if it is possible to do so.
2016-05-19 18:15:06 -03:00