diff --git a/cmake/configs/qurt_eagle_travis.cmake b/cmake/configs/qurt_eagle_travis.cmake index ecae71721c..f4a5c8c85a 100644 --- a/cmake/configs/qurt_eagle_travis.cmake +++ b/cmake/configs/qurt_eagle_travis.cmake @@ -1,7 +1,9 @@ include(qurt/px4_impl_qurt) +set(CONFIG_SHMEM "1") + # Run a full link with build stubs to make sure qurt target isn't broken -set(QURT_ENABLE_STUBS "0") +set(QURT_ENABLE_STUBS "1") set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/cmake_hexagon/toolchain/Toolchain-qurt.cmake) include(${CMAKE_SOURCE_DIR}/cmake/cmake_hexagon/qurt_app.cmake) diff --git a/src/firmware/qurt/CMakeLists.txt b/src/firmware/qurt/CMakeLists.txt index 2aaad07b54..bd17e56913 100644 --- a/src/firmware/qurt/CMakeLists.txt +++ b/src/firmware/qurt/CMakeLists.txt @@ -10,13 +10,24 @@ FASTRPC_STUB_GEN(px4muorb.idl) # Enable build without HexagonSDK to check link dependencies if ("${QURT_ENABLE_STUBS}" STREQUAL "1") - add_definitions(-DQURT_EXE_BUILD) + add_definitions(-D QURT_EXE_BUILD=1) + include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${FASTRPC_DSP_INCLUDES} + ) add_executable(mainapp - ${CMAKE_SOURCE_DIR}/src/platforms/qurt/dspal/dspal_stub.c ${CMAKE_BINARY_DIR}/src/firmware/qurt/px4muorb_skel.c ${CMAKE_BINARY_DIR}/apps.h) -else() + target_link_libraries(mainapp + -Wl,--start-group + ${module_libraries} + ${target_libraries} + df_driver_framework + ${df_driver_libs} + -Wl,--end-group + ) +else() message("module_libraries = ${module_libraries}") message("target_libraries = ${target_libraries}") message("df_driver_libs = ${df_driver_libs}") @@ -33,7 +44,6 @@ else() ${df_driver_libs} m ) - endif() # vim: set noet ft=cmake fenc=utf-8 ff=unix : diff --git a/src/platforms/qurt/dspal/dspal_stub.c b/src/platforms/qurt/dspal/dspal_stub.c deleted file mode 100644 index 72faedb719..0000000000 --- a/src/platforms/qurt/dspal/dspal_stub.c +++ /dev/null @@ -1,47 +0,0 @@ -/**************************************************************************** - * - * Copyright (C) 2015 Mark Charlebois. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ -#ifdef QURT_EXE_BUILD -#include -#include - -int main(int argc, char *argv[]) -{ - int ret = 0; - - // This code is never run. It is used solely to test linking in the - // TravisCI build test - - return ret; -} - -#endif diff --git a/src/platforms/qurt/stubs/stubs_posix.c b/src/platforms/qurt/stubs/stubs_posix.c index 3dd4720cb3..bc21907a93 100644 --- a/src/platforms/qurt/stubs/stubs_posix.c +++ b/src/platforms/qurt/stubs/stubs_posix.c @@ -135,3 +135,16 @@ int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr) { return 1; } +int pthread_mutexattr_init(pthread_mutexattr_t *attr) +{ + return -1; +} +int pthread_mutexattr_destroy(pthread_mutexattr_t *attr) +{ + return -1; +} +int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type) +{ + return -1; +} + diff --git a/src/platforms/qurt/stubs/stubs_qurt.c b/src/platforms/qurt/stubs/stubs_qurt.c index 03da646cb0..09a28f52b4 100644 --- a/src/platforms/qurt/stubs/stubs_qurt.c +++ b/src/platforms/qurt/stubs/stubs_qurt.c @@ -1,8 +1,42 @@ +/**************************************************************************** + * + * Copyright (C) 2015 Mark Charlebois. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ #include #include #include -#ifdef CONFIG_ARCH_BOARD_EAGLE +// This code is never run. It is used solely to test linking in the +// TravisCI build test to make sure all symbols are resolved. +__EXPORT int _start_main(void); void HAP_debug(const char *msg, int level, const char *filename, int line) { @@ -16,4 +50,15 @@ int dlinit(int a, char **b) { return 1; } -#endif + +int main(int argc, char *argv[]) +{ + int ret = 0; + + return ret; +} + +int _start_main() +{ + return -1; +}