| See also the generic INSTALL file for configure options | |
| Compilation | |
| 1. What is the process to compile libxml? | |
| As most UNIX libraries libxml follows the "standard": | |
| gunzip -c xxx.tar.gz | tar xvf - | |
| cd libxml-xxxx | |
| ./configure --help | |
| to see the options, then the compilation/installation proper | |
| ./configure [possible options] | |
| make | |
| make install | |
| At that point you may have to rerun ldconfig or similar utility to | |
| update your list of installed shared libs. | |
| At this point you can check that the library is properly functioning | |
| by running | |
| make check | |
| Please report test failures to the mailing list or bug tracker. | |
| Another option for compiling libxml is using CMake: | |
| cmake -E tar xf libxml2-xxx.tar.gz | |
| cmake -S libxml2-xxx -B libxml2-xxx-build [possible options] | |
| cmake --build libxml2-xxx-build | |
| cmake --install libxml2-xxx-build | |
| Common CMake options include: | |
| -D BUILD_SHARED_LIBS=OFF # build static libraries | |
| -D CMAKE_BUILD_TYPE=Release # specify build type | |
| -D CMAKE_INSTALL_PREFIX=/usr/local # specify the install path | |
| -D LIBXML2_WITH_ICONV=OFF # disable iconv | |
| -D LIBXML2_WITH_LZMA=OFF # disable liblzma | |
| -D LIBXML2_WITH_PYTHON=OFF # disable Python | |
| -D LIBXML2_WITH_ZLIB=OFF # disable libz | |
| You can also open the libxml source directory with its CMakeLists.txt | |
| directly in various IDEs such as CLion, QtCreator, or Visual Studio. | |
| 2. What other libraries are needed to compile/install libxml? | |
| Libxml does not require any other libraries. A platform with somewhat | |
| recent POSIX support should be sufficient (please report any violation | |
| to this rule you may find). | |
| However if found at configuration time, libxml will detect and use | |
| the following libs: | |
| libz: a highly portable and widely available compression library | |
| https://zlib.net/ | |
| liblzma: another compression library | |
| https://tukaani.org/xz/ | |
| iconv: a powerful character encoding conversion library. It's | |
| part of POSIX.1-2001, so it doesn't need to be installed | |
| on modern UNIX-like systems, specifically on Linux. | |
| https://www.gnu.org/software/libiconv/ | |
| ICU: Mainly used by Chromium on Windows. Unnecessary on most | |
| systems. | |
| Daniel | |
| veillard@redhat.com |