This is an automated email from the git hooks/post-receive script. cbaines-guest pushed a commit to branch master in repository osrm.
commit 166a1a240e56679286d414d20b0d7245cee24b9a Author: Christopher Baines <m...@cbaines.net> Date: Sat Apr 4 15:50:32 2015 +0100 Add patch to fix build --- CMakeLists.txt | 5 +++- cmake/check_stxxl.cmake | 24 ++++++++++++++++++ debian/patches/fix-build | 65 ++++++++++++++++++++++++++++++++++++++++++++++++ debian/patches/series | 1 + 4 files changed, 94 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b6a40f9..7c5b638 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -172,7 +172,7 @@ endif() # Activate C++11 if(NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - ADD_DEFINITIONS(-std=c++11) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ") endif() # Configuring other platform dependencies @@ -261,6 +261,9 @@ target_link_libraries(OSRM ${STXXL_LIBRARY}) target_link_libraries(osrm-extract ${STXXL_LIBRARY}) target_link_libraries(osrm-prepare ${STXXL_LIBRARY}) +# check if we need to link against libgomp +include(check_stxxl) + if(MINGW) # STXXL needs OpenMP library target_link_libraries(osrm-extract gomp) diff --git a/cmake/check_stxxl.cmake b/cmake/check_stxxl.cmake new file mode 100644 index 0000000..7f399f0 --- /dev/null +++ b/cmake/check_stxxl.cmake @@ -0,0 +1,24 @@ +INCLUDE (CheckCXXSourceCompiles) +unset(STXXL_WORKS CACHE) +set (STXXL_CHECK_SRC "#include <stxxl/vector>\n int main() { stxxl::vector<int> vec; return 0;}") +set (CMAKE_TRY_COMPILE_CONFIGURATION ${CMAKE_BUILD_TYPE}) +set (CMAKE_REQUIRED_INCLUDES "${STXXL_INCLUDE_DIR}") +set (CMAKE_REQUIRED_LIBRARIES "${STXXL_LIBRARY}") + +CHECK_CXX_SOURCE_COMPILES("${STXXL_CHECK_SRC}" STXXL_WORKS) + +if(STXXL_WORKS) + message(STATUS "STXXL can be used without linking against libgomp") +else() + message(STATUS "Linking STXXL failed without libgomp, retrying ..") + find_package(OpenMP) + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${OpenMP_CXX_FLAGS}") + CHECK_CXX_SOURCE_COMPILES("${STXXL_CHECK_SRC}" STXXL_LINKS) + + if (STXXL_LINKS) + message(STATUS "STXXL needs to link against OpenMP") + target_link_libraries(osrm-extract gomp) + else() + message(FATAL_ERROR "STXXL failed failed, libgomp missing?") + endif() +endif() diff --git a/debian/patches/fix-build b/debian/patches/fix-build new file mode 100644 index 0000000..5d82773 --- /dev/null +++ b/debian/patches/fix-build @@ -0,0 +1,65 @@ +Description: fix build issue + This patch backports two commits [1] to make OSRM build. The problem is + described in this issue [2]. + . + 1: 6a8fbcef5c693aca7421bba3625d13f43e887c95 + 137975c7f330291b4d728d5ef7f049d36d571ed1 + 2: https://github.com/Project-OSRM/osrm-backend/issues/1361 + . + osrm (4.5.0-1) UNRELEASED; urgency=medium + . + [ Andreas Tille ] + * Initial release (Closes: #701506) + . + [ Christopher Baines ] + * New upstream release. +Author: Christopher Baines <m...@cbaines.net> + +--- osrm-4.5.0.orig/CMakeLists.txt ++++ osrm-4.5.0/CMakeLists.txt +@@ -172,7 +172,7 @@ endif() + + # Activate C++11 + if(NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") +- ADD_DEFINITIONS(-std=c++11) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ") + endif() + + # Configuring other platform dependencies +@@ -261,6 +261,9 @@ target_link_libraries(OSRM ${STXXL_LIBRA + target_link_libraries(osrm-extract ${STXXL_LIBRARY}) + target_link_libraries(osrm-prepare ${STXXL_LIBRARY}) + ++# check if we need to link against libgomp ++include(check_stxxl) ++ + if(MINGW) + # STXXL needs OpenMP library + target_link_libraries(osrm-extract gomp) +--- /dev/null ++++ osrm-4.5.0/cmake/check_stxxl.cmake +@@ -0,0 +1,24 @@ ++INCLUDE (CheckCXXSourceCompiles) ++unset(STXXL_WORKS CACHE) ++set (STXXL_CHECK_SRC "#include <stxxl/vector>\n int main() { stxxl::vector<int> vec; return 0;}") ++set (CMAKE_TRY_COMPILE_CONFIGURATION ${CMAKE_BUILD_TYPE}) ++set (CMAKE_REQUIRED_INCLUDES "${STXXL_INCLUDE_DIR}") ++set (CMAKE_REQUIRED_LIBRARIES "${STXXL_LIBRARY}") ++ ++CHECK_CXX_SOURCE_COMPILES("${STXXL_CHECK_SRC}" STXXL_WORKS) ++ ++if(STXXL_WORKS) ++ message(STATUS "STXXL can be used without linking against libgomp") ++else() ++ message(STATUS "Linking STXXL failed without libgomp, retrying ..") ++ find_package(OpenMP) ++ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${OpenMP_CXX_FLAGS}") ++ CHECK_CXX_SOURCE_COMPILES("${STXXL_CHECK_SRC}" STXXL_LINKS) ++ ++ if (STXXL_LINKS) ++ message(STATUS "STXXL needs to link against OpenMP") ++ target_link_libraries(osrm-extract gomp) ++ else() ++ message(FATAL_ERROR "STXXL failed failed, libgomp missing?") ++ endif() ++endif() diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..7bb87fc --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +fix-build -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/osrm.git _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel