diff --git a/Vagrantfile b/Vagrantfile index c24bfe6859..cea1289500 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -33,11 +33,14 @@ Vagrant.configure(2) do |config| # your network. # config.vm.network "public_network" + # Virtualbox requires a private network to use NFS + config.vm.network "private_network", type: "dhcp" + # Share an additional folder to the guest VM. The first argument is # the path on the host to the actual folder. The second argument is # the path on the guest to mount the folder. And the optional third # argument is a set of non-required options. - config.vm.synced_folder ".", "/Firmware" + config.vm.synced_folder ".", "/Firmware", type: "nfs" # Provider-specific configuration so you can fine-tune various # backing providers for Vagrant. These expose provider-specific options. @@ -85,6 +88,8 @@ Vagrant.configure(2) do |config| tar -jxf gcc-arm-none-eabi-4_8-2014q3-20140805-linux.tar.bz2 exportline="export PATH=$HOME/gcc-arm-none-eabi-4_8-2014q3/bin:\$PATH" if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi + exportline2="export HEXAGON_TOOLS_ROOT=$HOME/Qualcomm/HEXAGON_Tools/7.2.10/Tools" + if grep -Fxq "$exportline2" ~/.profile; then echo nothing to do ; else echo $exportline2 >> ~/.profile; fi . ~/.profile popd # setup ccache diff --git a/cmake/toolchains/Toolchain-hexagon-7.2.10.cmake b/cmake/toolchains/Toolchain-hexagon-7.2.10.cmake index 4e27436ec7..1ab6fd4060 100644 --- a/cmake/toolchains/Toolchain-hexagon-7.2.10.cmake +++ b/cmake/toolchains/Toolchain-hexagon-7.2.10.cmake @@ -34,8 +34,12 @@ include(CMakeForceCompiler) list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) include(common/px4_base) -if(NOT HEXAGON_TOOLS_ROOT) - set(HEXAGON_TOOLS_ROOT $ENV{HOME}/Qualcomm/HEXAGON_Tools/7.2.10/Tools) +if ("$ENV{HEXAGON_TOOLS_ROOT}" STREQUAL "") + message(FATAL_ERROR + "The HexagonTools version 7.2.10 must be installed and the environment variable HEXAGON_TOOLS_ROOT must be set" + "(e.g. export HEXAGON_TOOLS_ROOT=/opt/HEXAGON_Tools/7.2.10/Tools)") +else() + set(HEXAGON_TOOLS_ROOT $ENV{HEXAGON_TOOLS_ROOT}) endif() macro (list2string out in) @@ -239,3 +243,12 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # for libraries and headers in the target directories set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + +# The Hexagon compiler doesn't support the -rdynamic flag and this is set +# in the base cmake scripts. We have to redefine the __linux_compiler_gnu +# macro for cmake 2.8 to work +set(__LINUX_COMPILER_GNU 1) +macro(__linux_compiler_gnu lang) + set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "") +endmacro() + diff --git a/src/lib/dspal b/src/lib/dspal index 95e91546f4..c8e885aac5 160000 --- a/src/lib/dspal +++ b/src/lib/dspal @@ -1 +1 @@ -Subproject commit 95e91546f42e6d88d34a2bb29d0f428a8706c9e4 +Subproject commit c8e885aac51aa34855bb3880d3dc916b9e278083