aports/testing/avida/10-remove-forced-tcmalloc.patch
2020-05-19 12:28:37 +00:00

59 lines
2 KiB
Diff

The tcmalloc build currently fails on musl (see e.g. [1]). Avida's build system doesn't make it easy to
disable tcmalloc, so this patch is needed.
[1] https://github.com/gperftools/gperftools/issues/693
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 30008d679..f1598704a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,7 +17,7 @@ SET(LIBRARY_OUTPUT_PATH
ADD_SUBDIRECTORY(libs/apto)
-IF(NOT WIN32)
+IF(NOT WIN32 AND AVD_ENABLE_TCMALLOC)
ADD_SUBDIRECTORY(libs/tcmalloc-1.4)
ENDIF(NOT WIN32)
ADD_SUBDIRECTORY(avida-core)
diff --git a/avida-core/CMakeLists.txt b/avida-core/CMakeLists.txt
index d9d063ef6..053956a91 100644
--- a/avida-core/CMakeLists.txt
+++ b/avida-core/CMakeLists.txt
@@ -388,36 +388,6 @@ ENDIF(WIN32)
#ENDIF(WIN32)
-# Locate TCMalloc
-IF(NOT TARGET tcmalloc-1.4)
- FIND_LIBRARY(TCMALLOC_LIBRARY tcmalloc-1.4 PATHS ${PROJECT_SOURCE_DIR}/../cbuild/lib ${PROJECT_SOURCE_DIR}/../libs/tcmalloc-1.4/cbuild/lib)
- ADD_LIBRARY(tcmalloc-1.4 STATIC IMPORTED)
- SET_PROPERTY(TARGET tcmalloc-1.4 PROPERTY IMPORTED_LOCATION "${TCMALLOC_LIBRARY}")
-ENDIF(NOT TARGET tcmalloc-1.4)
-
-
-# Handle the TCMalloc library
-# ------------------------------------------------------------------------------
-IF(UNIX)
- IF (CMAKE_CXX_COMPILER MATCHES ".*icpc.*")
- SET(AVD_ENABLE_TCMALLOC FALSE)
- ELSE (CMAKE_CXX_COMPILER MATCHES ".*icpc.*")
- SET(AVD_ENABLE_TCMALLOC TRUE)
- ENDIF (CMAKE_CXX_COMPILER MATCHES ".*icpc.*")
-ELSE(UNIX)
- SET(AVD_ENABLE_TCMALLOC FALSE)
-ENDIF(UNIX)
-IF(AVD_ENABLE_TCMALLOC)
- # Locate TCMalloc
- IF(NOT TARGET tcmalloc-1.4)
- FIND_LIBRARY(TCMALLOC_LIBRARY tcmalloc-1.4 PATHS ${PROJECT_SOURCE_DIR}/../cbuild/lib ${PROJECT_SOURCE_DIR}/../libs/tcmalloc/cbuild/lib)
- ADD_LIBRARY(tcmalloc-1.4 STATIC IMPORTED)
- SET_PROPERTY(TARGET tcmalloc-1.4 PROPERTY IMPORTED_LOCATION "${TCMALLOC_LIBRARY}")
- ENDIF(NOT TARGET tcmalloc-1.4)
-ENDIF(AVD_ENABLE_TCMALLOC)
-
-
-
# Target Processing
# - For each enabled target, process its build instructions. Must occur after
# - avida-core has been defined.