From a5af82b3e873d1f644f79989f16eb3a28b322f3a Mon Sep 17 00:00:00 2001 From: Bruno Dias Date: Fri, 31 Jan 2025 16:12:03 -0300 Subject: [PATCH] Fixed nix build for macos. --- CMakeLists.txt | 9 +++++---- flake.lock | 12 ++++++------ nix/default.nix | 2 ++ 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e4a27ed1e..1f1d806d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,6 +65,7 @@ option(C3_USE_TB "Use TB" OFF) set(C3_MIMALLOC_TAG "v1.7.3" CACHE STRING "Used version of mimalloc") option(C3_WITH_LLVM "Build with LLVM" ON) option(C3_LLD_DIR "Use custom LLD directory" "") +option(C3_LLVM_CRT_LIBRARY_DIR "Use custom llvm's compiler-rt directory" "") set(C3_USE_MIMALLOC OFF) if(C3_USE_MIMALLOC) @@ -261,10 +262,10 @@ if(C3_WITH_LLVM) if (APPLE) set(lld_libs ${lld_libs} xar) - find_file(RT_ASAN_DYNAMIC NAMES libclang_rt.asan_osx_dynamic.dylib PATHS "${LLVM_LIBRARY_DIR}/clang/${LLVM_MAJOR_VERSION}/lib/darwin") - find_file(RT_TSAN_DYNAMIC NAMES libclang_rt.tsan_osx_dynamic.dylib PATHS "${LLVM_LIBRARY_DIR}/clang/${LLVM_MAJOR_VERSION}/lib/darwin") - find_file(RT_UBSAN_DYNAMIC NAMES libclang_rt.ubsan_osx_dynamic.dylib PATHS "${LLVM_LIBRARY_DIR}/clang/${LLVM_MAJOR_VERSION}/lib/darwin") - find_file(RT_LSAN_DYNAMIC NAMES libclang_rt.lsan_osx_dynamic.dylib PATHS "${LLVM_LIBRARY_DIR}/clang/${LLVM_MAJOR_VERSION}/lib/darwin") + find_file(RT_ASAN_DYNAMIC NAMES libclang_rt.asan_osx_dynamic.dylib PATHS "${C3_LLVM_CRT_LIBRARY_DIR}/lib/darwin") + find_file(RT_TSAN_DYNAMIC NAMES libclang_rt.tsan_osx_dynamic.dylib PATHS "${C3_LLVM_CRT_LIBRARY_DIR}/lib/darwin") + find_file(RT_UBSAN_DYNAMIC NAMES libclang_rt.ubsan_osx_dynamic.dylib PATHS "${C3_LLVM_CRT_LIBRARY_DIR}/lib/darwin") + find_file(RT_LSAN_DYNAMIC NAMES libclang_rt.lsan_osx_dynamic.dylib PATHS "${C3_LLVM_CRT_LIBRARY_DIR}/lib/darwin") set(sanitizer_runtime_libraries ${RT_ASAN_DYNAMIC} ${RT_TSAN_DYNAMIC} diff --git a/flake.lock b/flake.lock index 76e12ad98..0f0b430a5 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1730958623, - "narHash": "sha256-JwQZIGSYnRNOgDDoIgqKITrPVil+RMWHsZH1eE1VGN0=", + "lastModified": 1738297584, + "narHash": "sha256-AYvaFBzt8dU0fcSK2jKD0Vg23K2eIRxfsVXIPCW9a0E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "85f7e662eda4fa3a995556527c87b2524b691933", + "rev": "9189ac18287c599860e878e905da550aa6dec1cd", "type": "github" }, "original": { diff --git a/nix/default.nix b/nix/default.nix index 6706ae2e3..b6bfc5ed7 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -38,12 +38,14 @@ in llvmPackages.stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ "-DC3_ENABLE_CLANGD_LSP=${if debug then "ON" else "OFF"}" "-DC3_LLD_DIR=${llvmPackages.lld.lib}/lib" + "-DC3_LLVM_CRT_LIBRARY_DIR=${llvmPackages.compiler-rt}" ]; nativeBuildInputs = [ cmake llvmPackages.llvm llvmPackages.lld + llvmPackages.compiler-rt ]; buildInputs = [