* Cygwin: repaired NuttX build after 1f63d85869
all the NuttX specific WINTOOL define handling was skiped in cmake Make.defs generation
The Nuttx build is makfile based and needs its cygwin treatment
Additionally the ${PX4_SOURCE_DIR}/src/include which was added through cmake needs path conversion
The two root causes for the special handling are:
- ARM GCC for Windows doesn't support cygwin paths passed as an argument
so they need to be either relative or converted via cypath tool
- Symbolic links are totally different under Windows and because NuttX uses them extensively
it has special handling scripts that need to be fed with the correct defines
* Cygwin: NuttX include paths all converted in Make.defs.in
differentiate between WINTOOL define (MSYS & cygwin) and cygwin using uname command:
- MSYS needs symbolic link handling for ARM GCC but no path conversion
- Cygwin needs both
* NuttX cmake
* px4_macros:Pass the stringified predicate as second arg to static assert
CC_ASSERT mapes to the c++ static_assert or provides the same
funtionality for c via the other macros. The c++ static assert
takes 2 argumants the prdicate and a message. This fixes the
lacking second argument.
* Updated nuttx and apps submodule to upstream nuttx 7.21+==master
This is the latest uptake of upstream nuttx and apps.
* ROMFS generate with xxd instead of objcopy
* delete nuttx-patches
* NuttX update submodules to latest px4_nuttx-master
* fix nuttx apps and board dependency
* docker_run update to latest container 2017-08-29
* cmake ROMFS portable sed usage
* NuttX update submodules to latest px4_nuttx-master
Add CMake target for strip since these changes break adb_upload_to_bebop.
GCC users should add the cross compiler bin path to PATH (location of arm-linux-gnueabihf-g++).
Clang user should do the following:
* set CMAKE_CXX_COMPILER to clang++ by providing -DCMAKE_CXX_COMPILER=clang++ to cmake
* get GCC cross compiler - needed because Clang does not ship a CRT
* create a symlink for clang and clang++ in GCC cross compiler bin dir.
* add GCC bin dir to PATH
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
The reason for this change is that RPi2 and RPi3 are compatible, and
hopefully all differences coming up can be resolved without ifdefs but
at runtime.
The Toolchain-arm-linux-gnueabihf.cmake is currently used for
the SnapdragonFlight Apps processor.
The sysroot is required for cross building for Ubuntu 14.04 armhf.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The Toolchain-arm-linux-gnueabihf.cmake is currently used for
the SnapdragonFlight Apps processor.
The sysroot is required for cross building for Ubuntu 14.04 armhf.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The environment variable HEXAGON_TOOLS_ROOT must be set to the location
of the installed HexagonTools. This could be a global install at
/opt/HEXAGON_Tools/7.2.10/Tools or it could be a personal install
${HOME}/Qualcomm/HEXAGON_Tools/7.2.10/Tools.
The default install path used by the installer is exported in the Vagrantfile.
There is still an issue that the hexagon linker fails on mmap of the shared folder.
If the shared folder was mounted via NFS for Linux and MacOS the problem would be
resolved.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Enable build of posix_eagle_release.
Added path to ARM cross compiler in qrlsdk install.
Fixed warnings in Toolchain-arm-linux-gnueabihf.cmake
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Switched to 7.2.10 since the Linux version of this is available.
Added -DHAS_C9X flag to fix isses with undefined math functions
when using hexagon-clang++.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>