From 054ddeb455b66372475142b0f281d5fc6faf3cfe Mon Sep 17 00:00:00 2001 From: Sasha Nicolas Date: Thu, 25 Oct 2018 16:42:30 -0500 Subject: [PATCH] Adding USE_OpenMP to cmake files; Adding MD5 to verify downloaded file; Removing compiler restriction. --- cmake/options.cmake | 3 +++ cmake/packages.cmake | 5 +++-- parseAPI/CMakeLists.txt | 5 +++++ parseAPI/src/debug_parse.C | 5 +++++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/cmake/options.cmake b/cmake/options.cmake index 0ee49e333b..78fdd0cb35 100644 --- a/cmake/options.cmake +++ b/cmake/options.cmake @@ -1,3 +1,6 @@ +# Use OpenMP? +option (USE_OpenMP "Use OpenMP for parallel parsing" ON) + # Use SymtabAPI or SymLite? option (LIGHTWEIGHT_SYMTAB "Use lightweight symtab interface for ParseAPI, ProcControl, and Stackwalker; disables DyninstAPI build" OFF) diff --git a/cmake/packages.cmake b/cmake/packages.cmake index 6a30490cc8..cc598e8f41 100644 --- a/cmake/packages.cmake +++ b/cmake/packages.cmake @@ -29,16 +29,17 @@ if (UNIX) PREFIX ${CMAKE_BINARY_DIR}/tbb STAMP_DIR ${CMAKE_BINARY_DIR}/tbb/src/TBB-stamp URL https://github.com/01org/tbb/archive/2018_U6.tar.gz + URL_MD5 9a0f78db4f72356068b00f29f54ee6bc SOURCE_DIR ${CMAKE_BINARY_DIR}/tbb/src/TBB/src CONFIGURE_COMMAND "" BINARY_DIR ${CMAKE_BINARY_DIR}/tbb/src/TBB/src - BUILD_COMMAND make -j${NCPU} tbb tbbmalloc compiler=gcc tbb_build_dir=${CMAKE_BINARY_DIR}/tbb/src/TBB-build tbb_build_prefix=tbb + BUILD_COMMAND make -j${NCPU} tbb tbbmalloc tbb_build_dir=${CMAKE_BINARY_DIR}/tbb/src/TBB-build tbb_build_prefix=tbb INSTALL_COMMAND sh -c "mkdir -p ${CMAKE_BINARY_DIR}/tbb/include && mkdir -p ${CMAKE_BINARY_DIR}/tbb/lib \ && cp ${CMAKE_BINARY_DIR}/tbb/src/TBB-build/tbb_release/*.so* ${CMAKE_BINARY_DIR}/tbb/lib \ && cp -r ${CMAKE_BINARY_DIR}/tbb/src/TBB/src/include/* ${CMAKE_BINARY_DIR}/tbb/include" ) set(TBB_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/tbb/include) - set(TBB_LIBRARIES ${CMAKE_BINARY_DIR}/tbb/libtbb.so ${CMAKE_BINARY_DIR}/tbb/libtbbmalloc_proxy.so) + set(TBB_LIBRARIES ${CMAKE_BINARY_DIR}/tbb/lib/libtbb.so ${CMAKE_BINARY_DIR}/tbb/lib/libtbbmalloc_proxy.so) set(TBB_FOUND 1) endif() add_library(libelf_imp SHARED IMPORTED) diff --git a/parseAPI/CMakeLists.txt b/parseAPI/CMakeLists.txt index 9253023efa..ed803206de 100644 --- a/parseAPI/CMakeLists.txt +++ b/parseAPI/CMakeLists.txt @@ -124,6 +124,11 @@ message(STATUS "Architecture is: ${CMAKE_LIBRARY_ARCHITECTURE}") FILE (GLOB headers "h/*.h") FILE (GLOB dataflowheaders "../dataflowAPI/h/*.h") set_target_properties (parseAPI PROPERTIES PUBLIC_HEADER "${headers};${dataflowheaders}") + +if (USE_OpenMP MATCHES "ON") +set_target_properties (parseAPI PROPERTIES COMPILE_FLAGS "-fopenmp" LINK_FLAGS "-fopenmp") +endif() + if (USE_COTIRE) cotire(parseAPI) endif() diff --git a/parseAPI/src/debug_parse.C b/parseAPI/src/debug_parse.C index aff0e79256..3f2af6acf6 100644 --- a/parseAPI/src/debug_parse.C +++ b/parseAPI/src/debug_parse.C @@ -62,7 +62,12 @@ int Dyninst::ParseAPI::parsing_printf_int(const char *format, ...) if(NULL == format) return -1; if (log_file == NULL) { char filename[128]; +#if defined(_OPENMP) snprintf(filename, 128, "%s-%d.txt", getenv("DYNINST_DEBUG_PARSING"), omp_get_thread_num()); +#else + snprintf(filename, 128, "%s-%d.txt", getenv("DYNINST_DEBUG_PARSING"), 0); +#endif + log_file = fopen(filename, "w"); }