File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -14,8 +14,7 @@ foreach(var ${vars})
1414 if ("${var} " MATCHES "USE_GMP|CHECK_OLEAN_VERSION" )
1515 # must forward options that generate incompatible .olean format
1616 list (APPEND STAGE0_ARGS "-D${var} =${${var} }" )
17- endif ()
18- if ("${var} " MATCHES "LLVM*|PKG_CONFIG|USE_LAKE" )
17+ elseif ("${var} " MATCHES "LLVM*|PKG_CONFIG|USE_LAKE|USE_MIMALLOC" )
1918 list (APPEND STAGE0_ARGS "-D${var} =${${var} }" )
2019 endif ()
2120 elseif (("${var} " MATCHES "CMAKE_.*" ) AND NOT ("${var} " MATCHES "CMAKE_BUILD_TYPE" ) AND NOT ("${var} " MATCHES "CMAKE_HOME_DIRECTORY" ))
@@ -55,11 +54,21 @@ if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Emscripten")
5554 BUILD_IN_SOURCE ON
5655 INSTALL_COMMAND "" )
5756 set (CADICAL ${CMAKE_BINARY_DIR} /cadical/cadical${CMAKE_EXECUTABLE_SUFFIX} CACHE FILEPATH "path to cadical binary" FORCE )
58- set ( EXTRA_DEPENDS " cadical" )
57+ list ( APPEND EXTRA_DEPENDS cadical)
5958 endif ()
6059 list (APPEND CL_ARGS -DCADICAL=${CADICAL} )
6160endif ()
6261
62+ if (USE_MIMALLOC)
63+ ExternalProject_add (mimalloc
64+ PREFIX mimalloc
65+ GIT_REPOSITORY https://github.com/microsoft/mimalloc
66+ GIT_TAG v2.2.3
67+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} /mimalloc -DMI_OVERRIDE=OFF
68+ -DMI_INSTALL_TOPLEVEL=ON "-DCMAKE_C_FLAGS=-DMI_SHARED_LIB=1 -DMI_SHARED_LIB_EXPORT=1" )
69+ list (APPEND EXTRA_DEPENDS mimalloc)
70+ endif ()
71+
6372ExternalProject_add (stage0
6473 SOURCE_DIR "${LEAN_SOURCE_DIR} /stage0"
6574 SOURCE_SUBDIR src
Original file line number Diff line number Diff line change 3131 stdenv = pkgs . overrideCC pkgs . stdenv lean-packages . llvmPackages . clang ;
3232 } ( {
3333 buildInputs = with pkgs ; [
34- cmake gmp libuv mimalloc ccache cadical pkg-config
34+ cmake gmp libuv ccache cadical pkg-config
3535 lean-packages . llvmPackages . llvm # llvm-symbolizer for asan/lsan
3636 gdb
3737 tree # for CI
6565 ZLIB = pkgsDist . zlib ;
6666 # for CI coredumps
6767 GDB = pkgsDist . gdb ;
68- MIMALLOC = pkgsDist . mimalloc ;
6968 } ) ;
7069 in {
7170 packages = {
Original file line number Diff line number Diff line change @@ -306,11 +306,6 @@ endif()
306306
307307if (USE_MIMALLOC)
308308 set (SMALL_ALLOCATOR OFF )
309- find_package (Mimalloc 2.0.0 REQUIRED )
310- include_directories (${MIMALLOC_INCLUDE_DIRS} )
311- string (APPEND LEANC_EXTRA_CC_FLAGS " -I${MIMALLOC_INCLUDE_DIRS} " )
312- list (JOIN MIMALLOC_LDFLAGS " " MIMALLOC_LDFLAGS)
313- string (APPEND LEAN_EXTRA_LINKER_FLAGS " ${MIMALLOC_LDFLAGS} " )
314309 set (LEAN_MIMALLOC "#define LEAN_MIMALLOC" )
315310endif ()
316311
@@ -554,6 +549,9 @@ else()
554549 set (LEAN_IS_STAGE0 "#define LEAN_IS_STAGE0 0" )
555550endif ()
556551configure_file ("${LEAN_SOURCE_DIR} /config.h.in" "${LEAN_BINARY_DIR} /include/lean/config.h" )
552+ if (USE_MIMALLOC)
553+ file (COPY "${LEAN_BINARY_DIR} /../mimalloc/include/mimalloc.h" DESTINATION "${LEAN_BINARY_DIR} /include/lean" )
554+ endif ()
557555install (DIRECTORY ${LEAN_BINARY_DIR} /include/ DESTINATION include)
558556configure_file (${LEAN_SOURCE_DIR} /lean.mk.in ${LEAN_BINARY_DIR} /share/lean/lean.mk )
559557install (DIRECTORY ${LEAN_BINARY_DIR} /share/ DESTINATION share)
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -13,7 +13,7 @@ Author: Leonardo de Moura
1313#include < lean/config.h>
1414
1515#ifdef LEAN_MIMALLOC
16- #include < mimalloc.h>
16+ #include < lean/ mimalloc.h>
1717#endif
1818
1919#ifdef __cplusplus
Original file line number Diff line number Diff line change @@ -4,6 +4,10 @@ stackinfo.cpp compact.cpp init_module.cpp io.cpp hash.cpp
44platform.cpp alloc.cpp allocprof.cpp sharecommon.cpp stack_overflow.cpp
55process.cpp object_ref.cpp mpn.cpp mutex.cpp libuv.cpp uv/net_addr.cpp uv/event_loop.cpp
66uv/timer.cpp uv/tcp.cpp uv/udp.cpp)
7+ if (USE_MIMALLOC)
8+ list (PREPEND RUNTIME_OBJS ${LEAN_BINARY_DIR} /../mimalloc/lib/mimalloc.o)
9+ endif ()
10+
711add_library (leanrt_initial-exec STATIC ${RUNTIME_OBJS} )
812set_target_properties (leanrt_initial-exec PROPERTIES
913 ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} )
You can’t perform that action at this time.
0 commit comments