]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Update PLATFORMS.md to explicitly list Thread Local Storage as requirement for BIND 9
authorOndřej Surý <ondrej@isc.org>
Wed, 4 Dec 2019 05:30:16 +0000 (06:30 +0100)
committerOndřej Surý <ondrej@isc.org>
Wed, 4 Dec 2019 13:17:19 +0000 (14:17 +0100)
PLATFORMS
PLATFORMS.md

index 56b45c9357768f23de3ba60f5820cb671dea5487..6dfdad4d81423c879eeeb006abfa5d740c3cc8eb 100644 (file)
--- a/PLATFORMS
+++ b/PLATFORMS
@@ -5,16 +5,28 @@ Supported platforms
 In general, this version of BIND will build and run on any POSIX-compliant
 system with a C11-compliant C compiler, BSD-style sockets with
 RFC-compliant IPv6 support, POSIX-compliant threads, the libuv
-asynchronous I/O library, and the OpenSSL cryptography library. Atomic
-operations support from the compiler is needed, either in the form of
-builtin operations, C11 atomics, or the Interlocked family of functions on
-Windows.
+asynchronous I/O library, and the OpenSSL cryptography library.
 
-BIND 9.15 requires fairly recent version of libuv library to run (>= 1.x).
-For some of the older systems listed below, you will have to install
-updated libuv package from sources such as EPEL, PPA and other native
-sources for updated packages. The other option is to install libuv from
-sources.
+The following C11 features are used in BIND 9:
+
+  * Atomic operations support from the compiler is needed, either in the
+    form of builtin operations, C11 atomics, or the Interlocked family of
+    functions on Windows.
+
+  * Thread Local Storage support from the compiler is needed, either in
+    the form of C11 _Thread_local/thread_local, the __thread GCC
+    extension, or the __declspec(thread) MSVC extension on Windows.
+
+BIND 9.15 requires a fairly recent version of libuv (at least 1.x). For
+some of the older systems listed below, you will have to install an
+updated libuv package from sources such as EPEL, PPA, or other native
+sources for updated packages. The other option is to build and install
+libuv from source.
+
+Certain optional BIND features have additional library dependencies. These
+include libxml2 and libjson-c for statistics, libmaxminddb for
+geolocation, libfstrm and libprotobuf-c for DNSTAP, and libidn2 for
+internationalized domain name conversion.
 
 ISC regularly tests BIND on many operating systems and architectures, but
 lacks the resources to test all of them. Consequently, ISC is only able to
@@ -58,10 +70,10 @@ Server 2012 R2, none of these are tested regularly by ISC.
 
 Community maintained
 
-These systems may not all have easily available the required dependencies
-for building BIND although it will be possible in many cases to compile
+These systems may not all have the required dependencies for building BIND
+easily available, although it will be possible in many cases to compile
 those directly from source. The community and interested parties may wish
-to help with maintenance and we welcome patch contributions, although we
+to help with maintenance, and we welcome patch contributions, although we
 cannot guarantee that we will accept them. All contributions will be
 assessed against the risk of adverse effect on officially supported
 platforms.
@@ -84,6 +96,4 @@ These are platforms on which BIND 9.15 is known not to build or run:
   * Platforms that don't support atomic operations (via compiler or
     library)
   * Linux without NPTL (Native POSIX Thread Library)
-  * Platforms where libuv cannot be compiled
-
-Platform quirks
+  * Platforms on which libuv cannot be compiled
index 52041d07a7496449955cc7f45eec7694ad2d540c..cb94bc63d9094fdaf9a2605a9e18e63898613c91 100644 (file)
 In general, this version of BIND will build and run on any POSIX-compliant
 system with a C11-compliant C compiler, BSD-style sockets with RFC-compliant
 IPv6 support, POSIX-compliant threads, the `libuv` asynchronous I/O library,
-and the OpenSSL cryptography library.  Atomic operations support from the
-compiler is needed, either in the form of builtin operations, C11 atomics,
-or the `Interlocked` family of functions on Windows.
+and the OpenSSL cryptography library.
+
+The following C11 features are used in BIND 9:
+
+* Atomic operations support from the compiler is needed, either in the form of
+  builtin operations, C11 atomics, or the `Interlocked` family of functions on
+  Windows.
+
+* Thread Local Storage support from the compiler is needed, either in the form
+  of C11 `_Thread_local`/`thread_local`, the `__thread` GCC extension, or
+  the `__declspec(thread)` MSVC extension on Windows.
 
 BIND 9.15 requires a fairly recent version of `libuv` (at least 1.x).  For
 some of the older systems listed below, you will have to install an updated