diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake --- a/llvm/cmake/config-ix.cmake +++ b/llvm/cmake/config-ix.cmake @@ -56,7 +56,6 @@ check_include_file(termios.h HAVE_TERMIOS_H) check_include_file(unistd.h HAVE_UNISTD_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_symbol_exists(FE_ALL_EXCEPT "fenv.h" HAVE_DECL_FE_ALL_EXCEPT) check_symbol_exists(FE_INEXACT "fenv.h" HAVE_DECL_FE_INEXACT) @@ -120,15 +119,18 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") set(HAVE_LIBZ 0) if(LLVM_ENABLE_ZLIB) - foreach(library z zlib_static zlib) - string(TOUPPER ${library} library_suffix) - check_library_exists(${library} compress2 "" HAVE_LIBZ_${library_suffix}) + # Check for ZLib. + include(FindZLib) + + if (ZLIB_FOUND) + include_directories(${ZLIB_INCLUDE_DIRS}) + set(HAVE_ZLIB_H 1) + string(TOUPPER ${ZLIB_LIBRARIES} library_suffix) + check_library_exists(${ZLIB_LIBRARIES} 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.