[libxml2] Rework README



commit 411f98039ed21823247efc1ad5b65259d4ec8080
Author: Nick Wellnhofer <wellnhofer aevum de>
Date:   Mon Feb 14 01:30:37 2022 +0100

    Rework README
    
    - Merge INSTALL.libxml2, CONTRIBUTING and AUTHORS into README
    - Convert to Markdown
    - Redact and update content
    - Update links

 AUTHORS         |   5 ---
 CONTRIBUTING    |  20 ----------
 INSTALL.libxml2 |  71 ---------------------------------
 README          |  40 -------------------
 README.md       | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 121 insertions(+), 136 deletions(-)
---
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..ce83d620
--- /dev/null
+++ b/README.md
@@ -0,0 +1,121 @@
+# libxml2
+
+libxml2 is an XML toolkit implemented in C, originally developed for
+the GNOME Project.
+
+Full documentation is available at
+<https://gitlab.gnome.org/GNOME/libxml2/-/wikis>.
+
+Bugs should be reported at
+<https://gitlab.gnome.org/GNOME/libxml2/-/issues>.
+
+A mailing list xml gnome org is available. You can subscribe at
+<https://mail.gnome.org/mailman/listinfo/xml>. The list archive is at
+<https://mail.gnome.org/archives/xml/>.
+
+## License
+
+This code is released under the MIT License, see the Copyright file.
+
+## Build instructions
+
+libxml2 can be built with GNU Autotools, CMake, or several other build
+systems in platform-specific subdirectories.
+
+### Autotools (for POSIX systems like Linux, BSD, macOS)
+
+If you build from a Git tree, you have to install Autotools and start
+by generating the configuration files with:
+
+    ./autogen.sh
+
+If you build from a source tarball, extract the archive with:
+
+    tar xf libxml2-xxx.tar.gz
+    cd libxml2-xxx
+
+To see a list of build options:
+
+    ./configure --help
+
+Also see the INSTALL file for additional instructions. Then you can
+configure and build the library:
+
+    ./configure [possible options]
+    make
+
+Now you can run the test suite with:
+
+    make check
+
+Please report test failures to the mailing list or bug tracker.
+
+Then you can install the library:
+
+    make install
+
+At that point you may have to rerun ldconfig or a similar utility to
+update your list of installed shared libs.
+
+### CMake (mainly for Windows)
+
+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.
+
+## Dependencies
+
+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 libraries:
+
+- [libz](https://zlib.net/), a highly portable and widely available
+  compression library.
+- [liblzma](https://tukaani.org/xz/), another compression library.
+- [libiconv](https://www.gnu.org/software/libiconv/), a character encoding
+  conversion library. The iconv function is part of POSIX.1-2001, so
+  libiconv isn't required on modern UNIX-like systems like Linux, BSD or
+  macOS.
+- [ICU](https://icu.unicode.org/), a Unicode library. Mainly useful as an
+  alternative to iconv on Windows. Unnecessary on most other systems.
+
+## Contributing
+
+The current version of the code can be found in GNOME's GitLab at 
+at <https://gitlab.gnome.org/GNOME/libxml2>. The best way to get involved
+is by creating issues and merge requests on GitLab. Alternatively, you can
+start discussions and send patches to the mailing list. If you want to
+work with patches, please format them with git-format-patch and use plain
+text attachments.
+
+All code must conform to C89 and pass the GitLab CI tests. Add regression
+tests if possible.
+
+## Authors
+
+- Daniel Veillard
+- Bjorn Reese
+- William Brack
+- Igor Zlatkovic for the Windows port
+- Aleksey Sanin
+- Nick Wellnhofer
+


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]