Commit 3ed99b77 authored by Alexander Smorkalov's avatar Alexander Smorkalov

Code review notes applied.

Toolchain for arm hardfp added.
parent ffb9da14
...@@ -115,29 +115,16 @@ file(GLOB lib_srcs "${tbb_src_dir}/src/tbb/*.cpp") ...@@ -115,29 +115,16 @@ file(GLOB lib_srcs "${tbb_src_dir}/src/tbb/*.cpp")
file(GLOB lib_hdrs "${tbb_src_dir}/src/tbb/*.h") file(GLOB lib_hdrs "${tbb_src_dir}/src/tbb/*.h")
list(APPEND lib_srcs "${tbb_src_dir}/src/rml/client/rml_tbb.cpp") list(APPEND lib_srcs "${tbb_src_dir}/src/rml/client/rml_tbb.cpp")
if (ANDROID) add_definitions(-D__TBB_DYNAMIC_LOAD_ENABLED=0 #required
add_definitions(-D__TBB_DYNAMIC_LOAD_ENABLED=0 #required -D__TBB_BUILD=1 #required
-D__TBB_BUILD=1 #required -D__TBB_SURVIVE_THREAD_SWITCH=0 #no cilk on Android?
-D__TBB_SURVIVE_THREAD_SWITCH=0 #no cilk on Android? -DUSE_PTHREAD #required
-DUSE_PTHREAD #required -DTBB_USE_GCC_BUILTINS=1 #required
-DTBB_USE_GCC_BUILTINS=1 #required -DTBB_USE_DEBUG=0 #just to be sure
-DTBB_USE_DEBUG=0 #just to be sure -DTBB_NO_LEGACY=1 #don't need backward compatibility
-DTBB_NO_LEGACY=1 #don't need backward compatibility -DDO_ITT_NOTIFY=0 #it seems that we don't need these notifications on Android
-DDO_ITT_NOTIFY=0 #it seems that we don't need these notifications on Android
)
else()
add_definitions(-D__TBB_DYNAMIC_LOAD_ENABLED=1 #required
-D__TBB_BUILD=1 #required
-D__TBB_SURVIVE_THREAD_SWITCH=1 #cilk
-DUSE_PTHREAD #required
-DTBB_USE_GCC_BUILTINS=1 #required
-DTBB_USE_DEBUG=0 #just to be sure
-DTBB_NO_LEGACY=1 #don't need backward compatibility
-DDO_ITT_NOTIFY=0 #Required
) )
endif()
if(ANDROID_COMPILER_IS_CLANG) if(ANDROID_COMPILER_IS_CLANG)
add_definitions(-D__TBB_GCC_BUILTIN_ATOMICS_PRESENT=1) add_definitions(-D__TBB_GCC_BUILTIN_ATOMICS_PRESENT=1)
ocv_warnings_disable(CMAKE_CXX_FLAGS -Wmissing-prototypes) ocv_warnings_disable(CMAKE_CXX_FLAGS -Wmissing-prototypes)
...@@ -155,13 +142,8 @@ else() ...@@ -155,13 +142,8 @@ else()
set(TBB_SOURCE_FILES ${lib_srcs} ${lib_hdrs} "${CMAKE_CURRENT_SOURCE_DIR}/${tbb_version_file}") set(TBB_SOURCE_FILES ${lib_srcs} ${lib_hdrs} "${CMAKE_CURRENT_SOURCE_DIR}/${tbb_version_file}")
endif() endif()
if (BUILD_SHARED_LIBS) add_library(tbb ${TBB_SOURCE_FILES})
add_library(tbb SHARED ${TBB_SOURCE_FILES}) target_link_libraries(tbb c m dl)
target_link_libraries(tbb c m dl)
else()
add_library(tbb STATIC ${TBB_SOURCE_FILES})
target_link_libraries(tbb c m dl)
endif()
ocv_warnings_disable(CMAKE_CXX_FLAGS -Wundef -Wmissing-declarations) ocv_warnings_disable(CMAKE_CXX_FLAGS -Wundef -Wmissing-declarations)
string(REPLACE "-Werror=non-virtual-dtor" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") string(REPLACE "-Werror=non-virtual-dtor" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
......
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc-4.6)
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++-4.6)
#suppress compiller varning
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-psabi" )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-psabi" )
# can be any other plases
set(ARM_LINUX_SYSROOT /usr/arm-linux-gnueabihf CACHE PATH "ARM cross compilation system root")
set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${ARM_LINUX_SYSROOT})
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
...@@ -10,9 +10,9 @@ set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-psabi" ) ...@@ -10,9 +10,9 @@ set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-psabi" )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-psabi" ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-psabi" )
# can be any other plases # can be any other plases
set(__arm_linux_eabi_root /usr/arm-linux-gnueabi) set(ARM_LINUX_SYSROOT /usr/arm-linux-gnueabi CACHE PATH "ARM cross compilation system root")
set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${__arm_linux_eabi_root}) set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${ARM_LINUX_SYSROOT})
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
......
#!/bin/sh #!/bin/sh
cd `dirname $0`/.. cd `dirname $0`/..
mkdir -p build mkdir -p build_hardfp
cd build cd build_hardfp
cmake -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_TOOLCHAIN_FILE=../armlinux.toolchain.cmake $@ ../../.. cmake -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_TOOLCHAIN_FILE=../arm-gnueabi-hardfp.toolchain.cmake $@ ../../..
#!/bin/sh
cd `dirname $0`/..
mkdir -p build_softfp
cd build_softfp
cmake -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_TOOLCHAIN_FILE=../arm-gnueabi-softfp.toolchain.cmake $@ ../../..
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment