Commit e6c7ed6d authored by Saleem Abdulrasool's avatar Saleem Abdulrasool
Browse files

build: make `LLVM_ENABLE_ZLIB` a tri-bool for users

Treat the flag `LLVM_ENABLE_ZLIB` as a tri-bool, `FORCE_ON` being `ON`,
and `ON` being an auto-detect.  This is needed as many of the builders
enable the flag without having zlib available.
parent 68a235d0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -347,7 +347,7 @@ option(LLVM_ENABLE_LIBPFM "Use libpfm for performance counters if available." ON

option(LLVM_ENABLE_THREADS "Use threads if available." ON)

option(LLVM_ENABLE_ZLIB "Use zlib for compression/decompression if available." ON)
set(LLVM_ENABLE_ZLIB "ON" CACHE STRING "Use zlib for compression/decompression if available. Can be ON, OFF, or FORCE_ON")

set(LLVM_Z3_INSTALL_DIR "" CACHE STRING "Install directory of the Z3 solver.")

+15 −5
Original line number Diff line number Diff line
@@ -117,10 +117,6 @@ endif()
# Don't look for these libraries if we're using MSan, since uninstrumented third
# party code may call MSan interceptors like strlen, leading to false positives.
if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
  if(LLVM_ENABLE_ZLIB)
    find_package(ZLIB REQUIRED)
  endif()

  # Don't look for these libraries on Windows.
  if (NOT PURE_WINDOWS)
    # Skip libedit if using ASan as it contains memory leaks.
@@ -506,7 +502,21 @@ else( LLVM_ENABLE_THREADS )
endif()

if(LLVM_ENABLE_ZLIB)
  if(LLVM_ENABLE_ZLIB STREQUAL FORCE_ON)
    find_package(ZLIB REQUIRED)
  else()
    find_package(ZLIB)
  endif()

  if(ZLIB_FOUND)
    set(LLVM_ENABLE_ZLIB "YES" CACHE STRING
      "Use zlib for compression/decompression if available. Can be ON, OFF, or FORCE_ON"
      FORCE)
  else()
    set(LLVM_ENABLE_ZLIB "NO" CACHE STRING
      "Use zlib for compression/decompression if available. Can be ON, OFF, or FORCE_ON"
      FORCE)
  endif()
endif()

if (LLVM_ENABLE_DOXYGEN)
+4 −1
Original line number Diff line number Diff line
if(LLVM_ENABLE_ZLIB)
  set(system_libs ${ZLIB_LIBRARY})
endif()

if( MSVC OR MINGW )
  # libuuid required for FOLDERID_Profile usage in lib/Support/Windows/Path.inc.
  # advapi32 required for CryptAcquireContextW in lib/Support/Windows/Path.inc.