From 0fc622e5917c5451dc8786095bf2eee4c3284e6e Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Mon, 31 Jan 2022 18:37:33 +0100 Subject: [PATCH] WIP --- deps/Boost/Boost.cmake | 3 ++- deps/CMakeLists.txt | 5 +++-- deps/GMP/GMP.cmake | 5 +++-- deps/MPFR/MPFR.cmake | 1 + deps/MSan_Deps/Chromium_prebuilt_libraries/Chromium.cmake | 2 +- deps/MSan_Deps/fontconfig/fontconfig.cmake | 2 +- deps/OpenSSL/OpenSSL.cmake | 3 ++- 7 files changed, 13 insertions(+), 8 deletions(-) diff --git a/deps/Boost/Boost.cmake b/deps/Boost/Boost.cmake index fcb06d9689..2d276b3188 100644 --- a/deps/Boost/Boost.cmake +++ b/deps/Boost/Boost.cmake @@ -133,6 +133,7 @@ ExternalProject_Add( dep_Boost URL "https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz" URL_HASH SHA256=aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a + DEPENDS ${RUNTIME_LIBS} DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost CONFIGURE_COMMAND "${_bootstrap_cmd}" PATCH_COMMAND ${_patch_command} @@ -159,4 +160,4 @@ if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8") ) # Only override boost::Polygon Voronoi implementation with Vojtech's GMP hacks on 64bit platforms. list(APPEND _dep_list "dep_boost_polygon") -endif () \ No newline at end of file +endif () diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index 19178b4fd0..4084b320f8 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -174,14 +174,15 @@ if (DEP_MSAN) endif () set(_msan_common_flags "${_msan_linker_flags} -fno-omit-frame-pointer") set(_msan_only_cxx_flags "-nostdinc++ -isystem ${DESTDIR}/usr/local/include -isystem ${DESTDIR}/usr/local/include/c++/v1") - set(_msan_only_ld_flags "-Wl,-L${DESTDIR}/usr/local/lib,-lc++ -undefined dynamic_lookup") + set(_msan_only_ld_flags "-Wl,-L${DESTDIR}/usr/local/lib,-lc++") # For dependencies that are configure using CFLAGS, CXXFLAGS and LDFLAGS instead of CMAKE_*_FLAGS. set(MSAN_CMAKE_C_FLAGS "${_msan_common_flags}") set(MSAN_CMAKE_CXX_FLAGS "${_msan_common_flags} ${_msan_only_cxx_flags}") - set(MSAN_CMAKE_LD_FLAGS "${_msan_common_flags} ${_msan_only_ld_flags}") + set(MSAN_CMAKE_LD_FLAGS "${_msan_only_ld_flags}") set(_msan_all_flags "${_msan_common_flags} ${_msan_only_cxx_flags} ${_msan_only_ld_flags}") + set(MSAN_CMAKE_ARGS ${_MSAN_CMAKE_ARGS} -DCMAKE_C_FLAGS:STRING=${MSAN_CMAKE_C_FLAGS} -DCMAKE_CXX_FLAGS:STRING=${MSAN_CMAKE_CXX_FLAGS} -DCMAKE_EXE_LINKER_FLAGS=${_msan_only_ld_flags} -DCMAKE_SHARED_LINKER_FLAGS=${_msan_only_ld_flags} -DCMAKE_BUILD_RPATH:STRING=${DESTDIR}/usr/local/lib) set(DEP_CMAKE_OPTS ${DEP_CMAKE_OPTS} ${MSAN_CMAKE_ARGS}) diff --git a/deps/GMP/GMP.cmake b/deps/GMP/GMP.cmake index 9f2fa741a2..7dfd0523be 100644 --- a/deps/GMP/GMP.cmake +++ b/deps/GMP/GMP.cmake @@ -23,7 +23,7 @@ else () if (DEP_MSAN) set(_gmp_ccflags "${_gmp_ccflags} ${MSAN_CMAKE_C_FLAGS}") - set(_gmp_cxxflags "${_gmp_cxxflags} ${MSAN_CMAKE_CXX_FLAGS} ${MSAN_CMAKE_LD_FLAGS} ${MSAN_CMAKE_RPATH}") + set(_gmp_cxxflags "${_gmp_cxxflags} ${MSAN_CMAKE_CXX_FLAGS} ${MSAN_CMAKE_LD_FLAGS} -Wl,--rpath=${DESTDIR}/usr/local/lib") endif () if (APPLE) @@ -51,10 +51,11 @@ else () ExternalProject_Add(dep_GMP URL https://gmplib.org/download/gmp/gmp-6.2.1.tar.bz2 URL_HASH SHA256=eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c + DEPENDS ${RUNTIME_LIBS} DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/GMP BUILD_IN_SOURCE ON CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_cxxflags}" ./configure ${_cross_compile_arg} --enable-shared=no --enable-cxx=yes --enable-static=yes "--prefix=${DESTDIR}/usr/local" ${_gmp_build_tgt} BUILD_COMMAND make -j INSTALL_COMMAND make install ) -endif () \ No newline at end of file +endif () diff --git a/deps/MPFR/MPFR.cmake b/deps/MPFR/MPFR.cmake index fffed0478f..31a45ccb8f 100644 --- a/deps/MPFR/MPFR.cmake +++ b/deps/MPFR/MPFR.cmake @@ -28,6 +28,7 @@ else () ExternalProject_Add(dep_MPFR URL http://ftp.vim.org/ftp/gnu/mpfr/mpfr-3.1.6.tar.bz2 https://www.mpfr.org/mpfr-3.1.6/mpfr-3.1.6.tar.bz2 # mirrors are allowed URL_HASH SHA256=cf4f4b2d80abb79e820e78c8077b6725bbbb4e8f41896783c899087be0e94068 + DEPENDS ${RUNTIME_LIBS} DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/MPFR BUILD_IN_SOURCE ON CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_cxxflags}" ./configure ${_cross_compile_arg} --prefix=${DESTDIR}/usr/local --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR}/usr/local ${_gmp_build_tgt} diff --git a/deps/MSan_Deps/Chromium_prebuilt_libraries/Chromium.cmake b/deps/MSan_Deps/Chromium_prebuilt_libraries/Chromium.cmake index f68381c67a..53ce81f766 100644 --- a/deps/MSan_Deps/Chromium_prebuilt_libraries/Chromium.cmake +++ b/deps/MSan_Deps/Chromium_prebuilt_libraries/Chromium.cmake @@ -13,5 +13,5 @@ ExternalProject_Add(dep_Chromium_Libs BUILD_IN_SOURCE ON CONFIGURE_COMMAND "" BUILD_COMMAND "" - INSTALL_COMMAND ${CMAKE_COMMAND} "-D_MSAN_COPY_FROM=./instrumented_libraries_prebuilt/msan/lib" "-D_MSAN_COPY_TO=${DESTDIR}/usr/local/lib" -P ${CMAKE_CURRENT_LIST_DIR}/copy_chromium_prebuilt_libraries.cmake + INSTALL_COMMAND ${CMAKE_COMMAND} "-D_MSAN_COPY_FROM=./instrumented_libraries_prebuilt/msan/lib" "-D_MSAN_COPY_TO=${DESTDIR}/usr/lib" -P ${CMAKE_CURRENT_LIST_DIR}/copy_chromium_prebuilt_libraries.cmake ) diff --git a/deps/MSan_Deps/fontconfig/fontconfig.cmake b/deps/MSan_Deps/fontconfig/fontconfig.cmake index 2d0f347548..db75f514ad 100644 --- a/deps/MSan_Deps/fontconfig/fontconfig.cmake +++ b/deps/MSan_Deps/fontconfig/fontconfig.cmake @@ -1,6 +1,6 @@ set(_fontconfig_cflags "-fsanitize=memory -fsanitize-recover=memory -I${DESTDIR}/usr/local/include -I${DESTDIR}/usr/local/include/c++/v1") set(_fontconfig_cxxflags "-fsanitize=memory -nostdinc++ -fsanitize-recover=memory -I${DESTDIR}/usr/local/include -I${DESTDIR}/usr/local/include/c++/v1") -set(_fontconfig_ldflags "-fsanitize=memory -fsanitize-recover=memory -L${DESTDIR}/usr/local/lib -Wl,-rpath,${DESTDIR}/usr/local/lib,-L${DESTDIR}/usr/local/lib,-lc++") +set(_fontconfig_ldflags "-fsanitize=memory -fsanitize-recover=memory -Wl,-rpath,${DESTDIR}/usr/local/lib,-L${DESTDIR}/usr/local/lib,-lc++") ExternalProject_Add(dep_fontconfig URL https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.13.1.tar.gz diff --git a/deps/OpenSSL/OpenSSL.cmake b/deps/OpenSSL/OpenSSL.cmake index a0820ee607..d6838834c9 100644 --- a/deps/OpenSSL/OpenSSL.cmake +++ b/deps/OpenSSL/OpenSSL.cmake @@ -21,6 +21,7 @@ ExternalProject_Add(dep_OpenSSL EXCLUDE_FROM_ALL ON URL "https://github.com/openssl/openssl/archive/OpenSSL_1_1_0l.tar.gz" URL_HASH SHA256=e2acf0cf58d9bff2b42f2dc0aee79340c8ffe2c5e45d3ca4533dd5d4f5775b1d + DEPENDS ${RUNTIME_LIBS} DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenSSL BUILD_IN_SOURCE ON CONFIGURE_COMMAND ${_conf_cmd} ${_cross_arch} @@ -34,4 +35,4 @@ ExternalProject_Add(dep_OpenSSL "${MSAN_CMAKE_LD_FLAGS}" BUILD_COMMAND make depend && make "-j${NPROC}" INSTALL_COMMAND make install_sw -) \ No newline at end of file +)