From 3f2a29c060fb22c270cbfb4f6ad62b614d59ed13 Mon Sep 17 00:00:00 2001 From: Pavel Labath Date: Mon, 4 Dec 2017 16:46:20 +0000 Subject: [PATCH] Revert "[cmake] Enable zlib support on windows" This reverts commit r319533 as it broke llvm-config --system-libs output and everything that depends on it (which is mostly out of tree or downstream folks, but includes a couple of llvm buildbots as well). I think I have a fix for this in D40779, but I want someone to look review it first. In the mean time, I am reverting this change, as it seems to break a lot of people. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319663 91177308-0d34-0410-b5e6-96231b3b80d8 --- cmake/config-ix.cmake | 74 ++++++++++++++++++++++------------------------ lib/Support/CMakeLists.txt | 6 ++-- 2 files changed, 38 insertions(+), 42 deletions(-) diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake index 836c4941f5d..caa538082fc 100644 --- a/cmake/config-ix.cmake +++ b/cmake/config-ix.cmake @@ -127,49 +127,45 @@ if(HAVE_LIBPTHREAD) set(LLVM_PTHREAD_LIB ${CMAKE_THREAD_LIBS_INIT}) 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.*") - find_library(ZLIB_LIBRARY_PATH NAMES z zlib) - if (LLVM_ENABLE_ZLIB AND ZLIB_LIBRARY_PATH) - check_library_exists(${ZLIB_LIBRARY_PATH} compress2 "" HAVE_LIBZ) +# Don't look for these libraries on Windows. Also don't look for them if we're +# using MSan, since uninstrumented third party code may call MSan interceptors +# like strlen, leading to false positives. +if( NOT PURE_WINDOWS AND NOT LLVM_USE_SANITIZER MATCHES "Memory.*") + if (LLVM_ENABLE_ZLIB) + check_library_exists(z compress2 "" HAVE_LIBZ) else() set(HAVE_LIBZ 0) endif() - - # Don't look for these libraries on Windows. - if (NOT PURE_WINDOWS) - # Skip libedit if using ASan as it contains memory leaks. - if (LLVM_ENABLE_LIBEDIT AND HAVE_HISTEDIT_H AND NOT LLVM_USE_SANITIZER MATCHES ".*Address.*") - check_library_exists(edit el_init "" HAVE_LIBEDIT) - else() - set(HAVE_LIBEDIT 0) - endif() - if(LLVM_ENABLE_TERMINFO) - set(HAVE_TERMINFO 0) - foreach(library tinfo terminfo curses ncurses ncursesw) - string(TOUPPER ${library} library_suffix) - check_library_exists(${library} setupterm "" HAVE_TERMINFO_${library_suffix}) - if(HAVE_TERMINFO_${library_suffix}) - set(HAVE_TERMINFO 1) - set(TERMINFO_LIBS "${library}") - break() - endif() - endforeach() - else() - set(HAVE_TERMINFO 0) - endif() - - find_library(ICONV_LIBRARY_PATH NAMES iconv libiconv libiconv-2 c) - set(LLVM_LIBXML2_ENABLED 0) - set(LIBXML2_FOUND 0) - if((LLVM_ENABLE_LIBXML2) AND ((CMAKE_SYSTEM_NAME MATCHES "Linux") AND (ICONV_LIBRARY_PATH) OR APPLE)) - find_package(LibXml2) - if (LIBXML2_FOUND) - set(LLVM_LIBXML2_ENABLED 1) - include_directories(${LIBXML2_INCLUDE_DIR}) - set(LIBXML2_LIBS "xml2") + # Skip libedit if using ASan as it contains memory leaks. + if (LLVM_ENABLE_LIBEDIT AND HAVE_HISTEDIT_H AND NOT LLVM_USE_SANITIZER MATCHES ".*Address.*") + check_library_exists(edit el_init "" HAVE_LIBEDIT) + else() + set(HAVE_LIBEDIT 0) + endif() + if(LLVM_ENABLE_TERMINFO) + set(HAVE_TERMINFO 0) + foreach(library tinfo terminfo curses ncurses ncursesw) + string(TOUPPER ${library} library_suffix) + check_library_exists(${library} setupterm "" HAVE_TERMINFO_${library_suffix}) + if(HAVE_TERMINFO_${library_suffix}) + set(HAVE_TERMINFO 1) + set(TERMINFO_LIBS "${library}") + break() endif() + endforeach() + else() + set(HAVE_TERMINFO 0) + endif() + + find_library(ICONV_LIBRARY_PATH NAMES iconv libiconv libiconv-2 c) + set(LLVM_LIBXML2_ENABLED 0) + set(LIBXML2_FOUND 0) + if((LLVM_ENABLE_LIBXML2) AND ((CMAKE_SYSTEM_NAME MATCHES "Linux") AND (ICONV_LIBRARY_PATH) OR APPLE)) + find_package(LibXml2) + if (LIBXML2_FOUND) + set(LLVM_LIBXML2_ENABLED 1) + include_directories(${LIBXML2_INCLUDE_DIR}) + set(LIBXML2_LIBS "xml2") endif() endif() endif() diff --git a/lib/Support/CMakeLists.txt b/lib/Support/CMakeLists.txt index f2a59ec2743..5d95a9a9a56 100644 --- a/lib/Support/CMakeLists.txt +++ b/lib/Support/CMakeLists.txt @@ -1,7 +1,4 @@ set(system_libs) -if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ ) - set(system_libs ${system_libs} ${ZLIB_LIBRARY_PATH}) -endif() if( MSVC OR MINGW ) # libuuid required for FOLDERID_Profile usage in lib/Support/Windows/Path.inc. set(system_libs ${system_libs} psapi shell32 ole32 uuid) @@ -24,6 +21,9 @@ elseif( CMAKE_HOST_UNIX ) set(system_libs ${system_libs} atomic) endif() set(system_libs ${system_libs} ${LLVM_PTHREAD_LIB}) + if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ ) + set(system_libs ${system_libs} z) + endif() if( UNIX AND NOT (BEOS OR HAIKU) ) set(system_libs ${system_libs} m) endif() -- 2.11.0