Commit Graph
35 Commits
Author SHA1 Message Date
Carlo Wood 77d356d275 Target specific optimization control.
This allows one to set a semi-colon separated list of regular
expressions in the environment variable PX4_NO_OPTIMIZATION
to control which (cmake generated) targets should be compiled
without optimization.

Suppressing optimization can be necessary for debugging in
a debugger, especially when trying to step through the code
or needing to print variables that otherwise are optimized out.

EXAMPLE

export PX4_NO_OPTIMIZATION="px4;^modules__uORB;^modules__systemlib$"

will result in the following messages during cmake configuration:

[...]
-- Disabling optimization for target 'platforms__posix__px4_layer'
because it matches the regexp 'px4' in env var PX4_NO_OPTIMIZATION
-- Disabling optimization for target 'modules__systemlib' because it
matches the regexp '^modules__systemlib$' in env var PX4_NO_OPTIMIZATION
-- Disabling optimization for target 'modules__uORB' because it matches
the regexp '^modules__uORB' in env var PX4_NO_OPTIMIZATION
-- Disabling optimization for target 'examples__px4_simple_app' because
it matches the regexp 'px4' in env var PX4_NO_OPTIMIZATION
-- Disabling optimization for target 'modules__uORB__uORB_tests' because
it matches the regexp '^modules__uORB' in env var PX4_NO_OPTIMIZATION
-- Disabling optimization for target 'px4' because it matches the regexp
'px4' in env var PX4_NO_OPTIMIZATION

Note that a list of all (currently used) target names can be printed
with the following command line from within the required build directory:

find . -wholename '*/CMakeFiles/*.dir/flags.make' | xargs dirname | xargs basename -a | sort -u | sed -e 's/.dir$//'
2016-09-13 16:31:08 +02:00
Carlo Wood 03d176d097 Bug fixes, typos, indentation.
Over time I made a few changes unrelated to what I'm really working on.
These changes are hereby committed first. The bug fixes are related to
what I'm doing in that I need them to be fixed for future commits.

Tools/sitl_run.sh: rename label to rcS_dir and fix usage help.
cmake/common/px4_base.cmake: Remove the check on OUT_UNPARSED_ARGUMENTS,
  and a few typos and indentation issues.
cmake/configs/posix_sitl_replay.cmake: Set the correct variable
  (config_sitl_rcS_dir) to the correct directory.
cmake/nuttx/px4_impl_nuttx.cmake: typos and indentation issues,
  and removal of a redundant FORCE (INTERNAL implies FORCE).
cmake/posix/px4_impl_posix.cmake: typos and indentation issues.
cmake/qurt/px4_impl_qurt.cmake: typos and indentation issues.
src/modules/mavlink/mavlink_ftp.cpp : possible strict-aliasing breakage.

NOTES

The second argument passed to sitl_run.sh is the value of
config_sitl_rcS_dir. This fact is missing from the usage help.
I renamed 'label' to 'rcS_dir' to better reflect this.
Also, for the 'replay' config the wrong variable was set causing
the call to sitl_run.sh to skip an argument and fail (ie the
debugger was passed as rcS_dir and so on).

The check on OUT_UNPARSED_ARGUMENTS in px4_parse_function_args
basically causes every passed IN variable to be REQUIRED and is
therefore a bug. The test for the presence of the REQUIRED arguments
follows directly after and is sufficient for this job. This bug went
unnoticed because currently every argument to OPTIONS, ONE_VALUE,
and MULTI_VALUE is actually passed to the function(s) calling
px4_parse_function_args (them being REQUIRED or not).

The changes in mavlink_ftp.cpp are to avoid a possible aliasing bug
and (mostly) to avoid the compiler warning/error: dereferencing type-
punned pointer will break strict-aliasing rules [-Werror=strict-aliasing].
2016-09-13 16:31:08 +02:00
James Goppert 818840b576 Path cleanup, low impact changes (#5340)
* Low impact changes from path_cleanup branch.

This is a step towards minimizing the diff with path_cleanup branch.

* Update ecl.

* Revert matrix update.

* Revert ecl and matrix.

* Update sitl gazebo.

* Revert sitl_gazebo and matrix changes.
2016-08-18 15:37:23 -04:00
Hidenori a8d3b15d73 RPi: add clang & clang-check support 2016-08-18 16:11:05 +02:00
Lorenz Meier 102f5b54d7 Revert "Improvements to SITL to make paths more flexible. (#5181)"
This reverts commit 699b6a2cb3.
2016-08-05 21:29:49 +02:00
James Goppert 699b6a2cb3 Improvements to SITL to make paths more flexible. (#5181) 2016-08-05 06:23:59 -04:00
Michael Schäuble d9422e0296 Add Parrot Bebop as build target (#4698)
* Add parrot bebop build structure

* Add upload functionality to bebop build

* Add modules and commands to bebop build
2016-05-31 13:04:22 +02:00
jwilson c87a8bedb6 Adding config changes to allow PX4 to be built for the Excelsior board. 2016-05-05 08:34:31 +02:00
Julian Oes 338ccb34f5 apps.h_in: fixed what is presumably a typo 2016-02-19 16:59:46 +01:00
Mark Charlebois 1d59e2c6fb Whitespace fixes
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:44 +01:00
Mark Charlebois 4c9492e10f Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:44 +01:00
Mark Charlebois 50d0771dc0 Whitespace fixes
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:43 +01:00
Mark Charlebois 014f15d8b0 Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:43 +01:00
Mark Charlebois 20f7d3d49f Whitespace fixes
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:42 +01:00
Mark Charlebois 65d89b5b97 Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:41 +01:00
Mark Charlebois 53bf98c630 Fixed HEXAGON_ARM_SYSROOT
This was being reset in px4_impl_posix.cmake

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:41 +01:00
Mark Charlebois 8ca3e8e057 Whitespace fixes
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:41 +01:00
Mark Charlebois 9f3bf8e9f4 Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:41 +01:00
Mark Charlebois c4438bf50a Fix to move DriverFramework includes to common
Nuttx now gets to link phase. But there are two unresolved symbols:

arm-none-eabi/include/c++/4.7.4/bits/basic_string.h:1128: undefined reference to `std::string::assign(char const*, unsigned int)'
arm-none-eabi/include/c++/4.7.4/bits/stl_list.h:1534: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)'

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-19 09:35:18 -08:00
Mark Charlebois 1bcb93180b Set flags for building the proper DriverFramework target
The DF_TARGET cmake variable needs to be set to (linux, darwin, qurt, nuttx)
The define __DF_LINUX or __DF_QURT needs to be set.
The __DF_DARWIN target is untested

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-16 23:24:59 -08:00
Lorenz Meier 54d1302555 Fix missing rt lib 2015-11-10 13:21:13 +01:00
Mark Charlebois 7ddd5712c5 Integrated DriverFramework
Refacored ADCSIM
Compilation succeeds. Link not yet fixed.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-10 13:21:13 +01:00
Lorenz Meier e673a25344 Fix flags for OS X 2015-09-11 11:58:04 +02:00
Mark Charlebois 08dc74afac cmake: fixes for qurt build after refactoring
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-10 09:29:21 -07:00
James Goppert d0c89b8396 Attempted to fix qurt build, some cleanup of old module funcs. 2015-09-09 23:11:25 -04:00
James Goppert bf18c84652 Cleanup of module building. 2015-09-09 23:00:58 -04:00
Mark Charlebois 5a59d7d74f cmake: added support for topic_listener.cpp
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-09 10:15:37 -07:00
Mark Charlebois b561215017 cmake: fixes for apps.h generation for posix and qurt
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-08 19:17:53 -07:00
James Goppert 73a328473e Fix for posix linker script. 2015-09-08 21:22:05 -04:00
James Goppert 126325bace Work on posix. 2015-09-08 20:50:18 -04:00
Mark Charlebois 9c8dd69f29 Removed debug
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-08 16:14:11 -07:00
Mark Charlebois 91cf77c68b Added more missing modules for posix
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-08 16:12:45 -07:00
Mark Charlebois 3d42a24398 Added missing modules for posix
MOst of the link errors are resolved. Param is still an issue.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-08 16:02:07 -07:00
Mark Charlebois 7e1c984234 Hack to get posix build partially working
Created a dummy build_git_version.h so I did not have to figure out
how to generate it.

Commented out topic_listener.cpp from src/systemcmds/CMakeLists.txt
because it depends on a generated cpp file.

Link doesn't work mut many modules build

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-08 15:39:13 -07:00
James Goppert 1d6b31d196 Switch to cmake build system. 2015-09-07 20:37:45 -04:00