1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-18 18:42:46 +02:00

Adding LZMA as dep for XML2 on 2.8.0 or higher

LibXML2 config doesn't specify lzma as a dependency, which breaks
cross-compilation builds using new linkers (ld 2.21 or higher).

There is a bug on libxml2 to fix that, but since it's going to take
a while for things to go round and back, so we should have a harmless
addition of the library until then.

llvm-svn: 190409
This commit is contained in:
Renato Golin 2013-09-10 14:24:17 +00:00
parent 0218bab3d0
commit b535ff7f80

View File

@ -300,6 +300,20 @@ endif()
find_package(LibXml2)
if (LIBXML2_FOUND)
set(CLANG_HAVE_LIBXML 1)
# When cross-compiling, liblzma is not detected as a dependency for libxml2,
# which makes linking c-index-test fail. But for native builds, all libraries
# are installed and checked by CMake before Makefiles are generated and everything
# works according to the plan. However, if a -llzma is added to native builds,
# an additional requirement on the static liblzma.a is required, but will not
# be checked by CMake, breaking native compilation.
# Since this is only pertinent to cross-compilations, and there's no way CMake
# can check for every foreign library on every OS, we add the dep and warn the dev.
if ( DEFINED CMAKE_CROSSCOMPILING )
if (NOT PC_LIBXML_VERSION VERSION_LESS "2.8.0")
message(STATUS "Adding LZMA as a dep to XML2 for cross-compilation, make sure liblzma.a is available.")
set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} "-llzma")
endif ()
endif ( CMAKE_CROSSCOMPILING )
endif ()
include(CheckCXXCompilerFlag)