forked from OSchip/llvm-project
Revert "build: reduce CMake handling for zlib"
This reverts commit 68a235d07f
.
This commit broke the clang-x64-windows-msvc build bot and a follow-up
commit did not fix it. Reverting to fix the bot.
This commit is contained in:
parent
34397b7560
commit
e406cca5f9
|
@ -9,13 +9,22 @@ endif ()
|
||||||
|
|
||||||
string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} CLANG_TOOLS_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
|
string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} CLANG_TOOLS_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
|
||||||
|
|
||||||
|
if(CLANG_BUILT_STANDALONE)
|
||||||
|
# Set HAVE_LIBZ according to recorded LLVM_ENABLE_ZLIB value. This
|
||||||
|
# value is forced to 0 if zlib was not found, so it is fine to use it
|
||||||
|
# instead of HAVE_LIBZ (not recorded).
|
||||||
|
if(LLVM_ENABLE_ZLIB)
|
||||||
|
set(HAVE_LIBZ 1)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
llvm_canonicalize_cmake_booleans(
|
llvm_canonicalize_cmake_booleans(
|
||||||
CLANG_BUILD_EXAMPLES
|
CLANG_BUILD_EXAMPLES
|
||||||
CLANG_ENABLE_ARCMT
|
CLANG_ENABLE_ARCMT
|
||||||
CLANG_ENABLE_STATIC_ANALYZER
|
CLANG_ENABLE_STATIC_ANALYZER
|
||||||
ENABLE_BACKTRACES
|
ENABLE_BACKTRACES
|
||||||
ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER
|
ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER
|
||||||
LLVM_ENABLE_ZLIB
|
HAVE_LIBZ
|
||||||
LLVM_ENABLE_PER_TARGET_RUNTIME_DIR
|
LLVM_ENABLE_PER_TARGET_RUNTIME_DIR
|
||||||
LLVM_ENABLE_PLUGINS
|
LLVM_ENABLE_PLUGINS
|
||||||
LLVM_ENABLE_THREADS)
|
LLVM_ENABLE_THREADS)
|
||||||
|
|
|
@ -16,7 +16,7 @@ config.host_triple = "@LLVM_HOST_TRIPLE@"
|
||||||
config.target_triple = "@TARGET_TRIPLE@"
|
config.target_triple = "@TARGET_TRIPLE@"
|
||||||
config.host_cxx = "@CMAKE_CXX_COMPILER@"
|
config.host_cxx = "@CMAKE_CXX_COMPILER@"
|
||||||
config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
|
config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
|
||||||
config.have_zlib = @LLVM_ENABLE_ZLIB@
|
config.have_zlib = @HAVE_LIBZ@
|
||||||
config.clang_arcmt = @CLANG_ENABLE_ARCMT@
|
config.clang_arcmt = @CLANG_ENABLE_ARCMT@
|
||||||
config.clang_default_cxx_stdlib = "@CLANG_DEFAULT_CXX_STDLIB@"
|
config.clang_default_cxx_stdlib = "@CLANG_DEFAULT_CXX_STDLIB@"
|
||||||
config.clang_staticanalyzer = @CLANG_ENABLE_STATIC_ANALYZER@
|
config.clang_staticanalyzer = @CLANG_ENABLE_STATIC_ANALYZER@
|
||||||
|
|
|
@ -50,7 +50,7 @@ if config.enable_per_target_runtime_dir:
|
||||||
else:
|
else:
|
||||||
set_default("target_suffix", "-%s" % config.target_arch)
|
set_default("target_suffix", "-%s" % config.target_arch)
|
||||||
|
|
||||||
set_default("have_zlib", "@LLVM_ENABLE_ZLIB@")
|
set_default("have_zlib", "@HAVE_LIBZ@")
|
||||||
set_default("libcxx_used", "@LLVM_LIBCXX_USED@")
|
set_default("libcxx_used", "@LLVM_LIBCXX_USED@")
|
||||||
|
|
||||||
# LLVM tools dir can be passed in lit parameters, so try to
|
# LLVM tools dir can be passed in lit parameters, so try to
|
||||||
|
|
|
@ -4,8 +4,17 @@ set(LLVM_BUILD_MODE "%(build_mode)s")
|
||||||
set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/%(build_config)s")
|
set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/%(build_config)s")
|
||||||
set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/%(build_config)s")
|
set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/%(build_config)s")
|
||||||
|
|
||||||
|
if(LLD_BUILT_STANDALONE)
|
||||||
|
# Set HAVE_LIBZ according to recorded LLVM_ENABLE_ZLIB value. This
|
||||||
|
# value is forced to 0 if zlib was not found, so it is fine to use it
|
||||||
|
# instead of HAVE_LIBZ (not recorded).
|
||||||
|
if(LLVM_ENABLE_ZLIB)
|
||||||
|
set(HAVE_LIBZ 1)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
llvm_canonicalize_cmake_booleans(
|
llvm_canonicalize_cmake_booleans(
|
||||||
LLVM_ENABLE_ZLIB
|
HAVE_LIBZ
|
||||||
LLVM_LIBXML2_ENABLED
|
LLVM_LIBXML2_ENABLED
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ config.lld_libs_dir = "@LLVM_LIBRARY_OUTPUT_INTDIR@"
|
||||||
config.lld_tools_dir = "@LLVM_RUNTIME_OUTPUT_INTDIR@"
|
config.lld_tools_dir = "@LLVM_RUNTIME_OUTPUT_INTDIR@"
|
||||||
config.target_triple = "@TARGET_TRIPLE@"
|
config.target_triple = "@TARGET_TRIPLE@"
|
||||||
config.python_executable = "@PYTHON_EXECUTABLE@"
|
config.python_executable = "@PYTHON_EXECUTABLE@"
|
||||||
config.have_zlib = @LLVM_ENABLE_ZLIB@
|
config.have_zlib = @HAVE_LIBZ@
|
||||||
config.sizeof_void_p = @CMAKE_SIZEOF_VOID_P@
|
config.sizeof_void_p = @CMAKE_SIZEOF_VOID_P@
|
||||||
|
|
||||||
# Support substitution of the tools and libs dirs with user parameters. This is
|
# Support substitution of the tools and libs dirs with user parameters. This is
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
#include <compression.h>
|
#include <compression.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LLVM_ENABLE_ZLIB
|
#if defined(HAVE_LIBZ)
|
||||||
#include <zlib.h>
|
#include <zlib.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -582,7 +582,7 @@ bool GDBRemoteCommunication::DecompressPacket() {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LLVM_ENABLE_ZLIB
|
#if defined(HAVE_LIBZ)
|
||||||
if (decompressed_bytes == 0 && decompressed_bufsize != ULONG_MAX &&
|
if (decompressed_bytes == 0 && decompressed_bufsize != ULONG_MAX &&
|
||||||
decompressed_buffer != nullptr &&
|
decompressed_buffer != nullptr &&
|
||||||
m_compression_type == CompressionType::ZlibDeflate) {
|
m_compression_type == CompressionType::ZlibDeflate) {
|
||||||
|
|
|
@ -1045,7 +1045,7 @@ void GDBRemoteCommunicationClient::MaybeEnableCompression(
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LLVM_ENABLE_ZLIB
|
#if defined(HAVE_LIBZ)
|
||||||
if (avail_type == CompressionType::None) {
|
if (avail_type == CompressionType::None) {
|
||||||
for (auto compression : supported_compressions) {
|
for (auto compression : supported_compressions) {
|
||||||
if (compression == "zlib-deflate") {
|
if (compression == "zlib-deflate") {
|
||||||
|
|
|
@ -56,6 +56,7 @@ check_include_file(sys/types.h HAVE_SYS_TYPES_H)
|
||||||
check_include_file(termios.h HAVE_TERMIOS_H)
|
check_include_file(termios.h HAVE_TERMIOS_H)
|
||||||
check_include_file(unistd.h HAVE_UNISTD_H)
|
check_include_file(unistd.h HAVE_UNISTD_H)
|
||||||
check_include_file(valgrind/valgrind.h HAVE_VALGRIND_VALGRIND_H)
|
check_include_file(valgrind/valgrind.h HAVE_VALGRIND_VALGRIND_H)
|
||||||
|
check_include_file(zlib.h HAVE_ZLIB_H)
|
||||||
check_include_file(fenv.h HAVE_FENV_H)
|
check_include_file(fenv.h HAVE_FENV_H)
|
||||||
check_symbol_exists(FE_ALL_EXCEPT "fenv.h" HAVE_DECL_FE_ALL_EXCEPT)
|
check_symbol_exists(FE_ALL_EXCEPT "fenv.h" HAVE_DECL_FE_ALL_EXCEPT)
|
||||||
check_symbol_exists(FE_INEXACT "fenv.h" HAVE_DECL_FE_INEXACT)
|
check_symbol_exists(FE_INEXACT "fenv.h" HAVE_DECL_FE_INEXACT)
|
||||||
|
@ -117,8 +118,17 @@ endif()
|
||||||
# Don't look for these libraries if we're using MSan, since uninstrumented third
|
# 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.
|
# party code may call MSan interceptors like strlen, leading to false positives.
|
||||||
if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
|
if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
|
||||||
|
set(HAVE_LIBZ 0)
|
||||||
if(LLVM_ENABLE_ZLIB)
|
if(LLVM_ENABLE_ZLIB)
|
||||||
find_package(ZLIB REQUIRED)
|
foreach(library z zlib_static zlib)
|
||||||
|
string(TOUPPER ${library} library_suffix)
|
||||||
|
check_library_exists(${library} compress2 "" HAVE_LIBZ_${library_suffix})
|
||||||
|
if(HAVE_LIBZ_${library_suffix})
|
||||||
|
set(HAVE_LIBZ 1)
|
||||||
|
set(ZLIB_LIBRARIES "${library}")
|
||||||
|
break()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Don't look for these libraries on Windows.
|
# Don't look for these libraries on Windows.
|
||||||
|
@ -505,8 +515,11 @@ else( LLVM_ENABLE_THREADS )
|
||||||
message(STATUS "Threads disabled.")
|
message(STATUS "Threads disabled.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(LLVM_ENABLE_ZLIB)
|
if (LLVM_ENABLE_ZLIB )
|
||||||
find_package(ZLIB REQUIRED)
|
# Check if zlib is available in the system.
|
||||||
|
if ( NOT HAVE_ZLIB_H OR NOT HAVE_LIBZ )
|
||||||
|
set(LLVM_ENABLE_ZLIB 0)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (LLVM_ENABLE_DOXYGEN)
|
if (LLVM_ENABLE_DOXYGEN)
|
||||||
|
|
|
@ -109,6 +109,9 @@
|
||||||
/* Define to 1 if you have the `pthread_setname_np' function. */
|
/* Define to 1 if you have the `pthread_setname_np' function. */
|
||||||
#cmakedefine HAVE_PTHREAD_SETNAME_NP ${HAVE_PTHREAD_SETNAME_NP}
|
#cmakedefine HAVE_PTHREAD_SETNAME_NP ${HAVE_PTHREAD_SETNAME_NP}
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `z' library (-lz). */
|
||||||
|
#cmakedefine HAVE_LIBZ ${HAVE_LIBZ}
|
||||||
|
|
||||||
/* Define to 1 if you have the <link.h> header file. */
|
/* Define to 1 if you have the <link.h> header file. */
|
||||||
#cmakedefine HAVE_LINK_H ${HAVE_LINK_H}
|
#cmakedefine HAVE_LINK_H ${HAVE_LINK_H}
|
||||||
|
|
||||||
|
@ -223,6 +226,9 @@
|
||||||
/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
|
/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
|
||||||
#cmakedefine HAVE_VALGRIND_VALGRIND_H ${HAVE_VALGRIND_VALGRIND_H}
|
#cmakedefine HAVE_VALGRIND_VALGRIND_H ${HAVE_VALGRIND_VALGRIND_H}
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <zlib.h> header file. */
|
||||||
|
#cmakedefine HAVE_ZLIB_H ${HAVE_ZLIB_H}
|
||||||
|
|
||||||
/* Have host's _alloca */
|
/* Have host's _alloca */
|
||||||
#cmakedefine HAVE__ALLOCA ${HAVE__ALLOCA}
|
#cmakedefine HAVE__ALLOCA ${HAVE__ALLOCA}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
set(system_libs ${ZLIB_LIBRARY})
|
set(system_libs)
|
||||||
|
if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ )
|
||||||
|
set(system_libs ${system_libs} ${ZLIB_LIBRARIES})
|
||||||
|
endif()
|
||||||
if( MSVC OR MINGW )
|
if( MSVC OR MINGW )
|
||||||
# libuuid required for FOLDERID_Profile usage in lib/Support/Windows/Path.inc.
|
# libuuid required for FOLDERID_Profile usage in lib/Support/Windows/Path.inc.
|
||||||
# advapi32 required for CryptAcquireContextW in lib/Support/Windows/Path.inc.
|
# advapi32 required for CryptAcquireContextW in lib/Support/Windows/Path.inc.
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
#if !LLVM_ENABLE_ZLIB
|
#if LLVM_ENABLE_ZLIB == 0 || !HAVE_ZLIB_H
|
||||||
|
|
||||||
static const uint32_t CRCTable[256] = {
|
static const uint32_t CRCTable[256] = {
|
||||||
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
|
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
|
||||||
|
|
|
@ -17,13 +17,13 @@
|
||||||
#include "llvm/Support/Compiler.h"
|
#include "llvm/Support/Compiler.h"
|
||||||
#include "llvm/Support/Error.h"
|
#include "llvm/Support/Error.h"
|
||||||
#include "llvm/Support/ErrorHandling.h"
|
#include "llvm/Support/ErrorHandling.h"
|
||||||
#if LLVM_ENABLE_ZLIB
|
#if LLVM_ENABLE_ZLIB == 1 && HAVE_ZLIB_H
|
||||||
#include <zlib.h>
|
#include <zlib.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
#if LLVM_ENABLE_ZLIB
|
#if LLVM_ENABLE_ZLIB == 1 && HAVE_LIBZ
|
||||||
static Error createError(StringRef Err) {
|
static Error createError(StringRef Err) {
|
||||||
return make_error<StringError>(Err, inconvertibleErrorCode());
|
return make_error<StringError>(Err, inconvertibleErrorCode());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
llvm_canonicalize_cmake_booleans(
|
llvm_canonicalize_cmake_booleans(
|
||||||
BUILD_SHARED_LIBS
|
BUILD_SHARED_LIBS
|
||||||
HAVE_LIBXAR
|
HAVE_LIBXAR
|
||||||
|
HAVE_LIBZ
|
||||||
HAVE_OCAMLOPT
|
HAVE_OCAMLOPT
|
||||||
HAVE_OCAML_OUNIT
|
HAVE_OCAML_OUNIT
|
||||||
LLVM_ENABLE_DIA_SDK
|
LLVM_ENABLE_DIA_SDK
|
||||||
LLVM_ENABLE_FFI
|
LLVM_ENABLE_FFI
|
||||||
LLVM_ENABLE_THREADS
|
LLVM_ENABLE_THREADS
|
||||||
LLVM_ENABLE_ZLIB
|
|
||||||
LLVM_INCLUDE_GO_TESTS
|
LLVM_INCLUDE_GO_TESTS
|
||||||
LLVM_LIBXML2_ENABLED
|
LLVM_LIBXML2_ENABLED
|
||||||
LLVM_LINK_LLVM_DYLIB
|
LLVM_LINK_LLVM_DYLIB
|
||||||
|
|
|
@ -36,7 +36,7 @@ config.host_cxx = "@HOST_CXX@"
|
||||||
config.host_ldflags = '@HOST_LDFLAGS@'
|
config.host_ldflags = '@HOST_LDFLAGS@'
|
||||||
config.llvm_use_intel_jitevents = @LLVM_USE_INTEL_JITEVENTS@
|
config.llvm_use_intel_jitevents = @LLVM_USE_INTEL_JITEVENTS@
|
||||||
config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
|
config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
|
||||||
config.have_zlib = @LLVM_ENABLE_ZLIB@
|
config.have_zlib = @HAVE_LIBZ@
|
||||||
config.have_libxar = @HAVE_LIBXAR@
|
config.have_libxar = @HAVE_LIBXAR@
|
||||||
config.have_dia_sdk = @LLVM_ENABLE_DIA_SDK@
|
config.have_dia_sdk = @LLVM_ENABLE_DIA_SDK@
|
||||||
config.enable_ffi = @LLVM_ENABLE_FFI@
|
config.enable_ffi = @LLVM_ENABLE_FFI@
|
||||||
|
|
|
@ -21,7 +21,7 @@ using namespace llvm;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
#if LLVM_ENABLE_ZLIB
|
#if LLVM_ENABLE_ZLIB == 1 && HAVE_LIBZ
|
||||||
|
|
||||||
void TestZlibCompression(StringRef Input, int Level) {
|
void TestZlibCompression(StringRef Input, int Level) {
|
||||||
SmallString<32> Compressed;
|
SmallString<32> Compressed;
|
||||||
|
|
Loading…
Reference in New Issue