[llvm] [CAS] LLVM_ENABLE_ONDISK_CAS requires `flock` on UNIX (PR #159207)
Steven Wu via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 17 09:20:02 PDT 2025
https://github.com/cachemeifyoucan updated https://github.com/llvm/llvm-project/pull/159207
>From 900c71faab152724717eb7cca574720d0f7b0396 Mon Sep 17 00:00:00 2001
From: Steven Wu <stevenwu at apple.com>
Date: Tue, 16 Sep 2025 15:37:41 -0700
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?UTF-8?q?itial=20version?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Created using spr 1.3.6
---
llvm/CMakeLists.txt | 7 -------
llvm/cmake/modules/HandleLLVMOptions.cmake | 8 ++++++++
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index c63d855ea289f..b98192968a3ab 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -879,13 +879,6 @@ option (LLVM_ENABLE_OCAMLDOC "Build OCaml bindings documentation." ON)
option (LLVM_ENABLE_BINDINGS "Build bindings." ON)
option (LLVM_ENABLE_TELEMETRY "Enable the telemetry library. If set to OFF, library cannot be enabled after build (eg., at runtime)" ON)
-set(LLVM_ENABLE_ONDISK_CAS_default ON)
-if(CMAKE_SIZEOF_VOID_P LESS 8 OR "${CMAKE_SYSTEM_NAME}" MATCHES SunOS)
- # Build OnDiskCAS by default only on 64 bit machine that is not Solaris.
- set(LLVM_ENABLE_ONDISK_CAS_default OFF)
-endif()
-option(LLVM_ENABLE_ONDISK_CAS "Build OnDiskCAS." ${LLVM_ENABLE_ONDISK_CAS_default})
-
set(LLVM_INSTALL_DOXYGEN_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/llvm/doxygen-html"
CACHE STRING "Doxygen-generated HTML documentation install directory")
set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/llvm/ocaml-html"
diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake
index 4f227e8b1069a..b3e8093713647 100644
--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -1479,3 +1479,11 @@ if(LLVM_ENABLE_LLVM_LIBC)
message(WARNING "Unable to link against LLVM libc. LLVM will be built without linking against the LLVM libc overlay.")
endif()
endif()
+
+check_symbol_exists(flock "sys/file.h" HAVE_FLOCK)
+set(LLVM_ENABLE_ONDISK_CAS_default OFF)
+if(HAVE_FLOCK OR LLVM_ON_WIN32)
+ # LLVM ONDisk CAS currently requires flock on Unix.
+ set(LLVM_ENABLE_ONDISK_CAS_default ON)
+endif()
+option(LLVM_ENABLE_ONDISK_CAS "Build OnDiskCAS." ${LLVM_ENABLE_ONDISK_CAS_default})
>From 9e273584fd6ce3522047315b7ef92d210204ebc6 Mon Sep 17 00:00:00 2001
From: Steven Wu <stevenwu at apple.com>
Date: Tue, 16 Sep 2025 15:38:52 -0700
Subject: [PATCH 2/2] Fix a typo in comment
Created using spr 1.3.6
---
llvm/cmake/modules/HandleLLVMOptions.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake
index b3e8093713647..185e78df1f5ba 100644
--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -1483,7 +1483,7 @@ endif()
check_symbol_exists(flock "sys/file.h" HAVE_FLOCK)
set(LLVM_ENABLE_ONDISK_CAS_default OFF)
if(HAVE_FLOCK OR LLVM_ON_WIN32)
- # LLVM ONDisk CAS currently requires flock on Unix.
+ # LLVM OnDisk CAS currently requires flock on Unix.
set(LLVM_ENABLE_ONDISK_CAS_default ON)
endif()
option(LLVM_ENABLE_ONDISK_CAS "Build OnDiskCAS." ${LLVM_ENABLE_ONDISK_CAS_default})
More information about the llvm-commits
mailing list