CLEANUP: cfgparse: modify preprocessor guards around numa detection code

numa_detect_topology() is always define now if USE_CPU_AFFINITY is
activated. For the moment, only on Linux an actual implementation is
provided. For other platforms, it always return 0.

This change has been made to easily add implementation of NUMA detection
for other platforms. The phrasing of the documentation has also been
edited to removed the mention of Linux-only on numa-cpu-mapping
configuration option.
diff --git a/doc/configuration.txt b/doc/configuration.txt
index b1fbd64..2620706 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -1736,15 +1736,16 @@
   output of "haproxy -vv".
 
 numa-cpu-mapping
-  By default, if running on Linux, HAProxy inspects on startup the CPU topology
-  of the machine. If a multi-socket machine is detected, the affinity is
-  automatically calculated to run on the CPUs of a single node. This is done in
-  order to not suffer from the performance penalties caused by the inter-socket
-  bus latency. However, if the applied binding is non optimal on a particular
-  architecture, it can be disabled with the statement 'no numa-cpu-mapping'.
-  This automatic binding is also not applied if a nbthread statement is present
-  in the configuration, or the affinity of the process is already specified,
-  for example via the 'cpu-map' directive or the taskset utility.
+  If running on a NUMA-aware platform, HAProxy inspects on startup the CPU
+  topology of the machine. If a multi-socket machine is detected, the affinity
+  is automatically calculated to run on the CPUs of a single node. This is done
+  in order to not suffer from the performance penalties caused by the
+  inter-socket bus latency. However, if the applied binding is non optimal on a
+  particular architecture, it can be disabled with the statement 'no
+  numa-cpu-mapping'. This automatic binding is also not applied if a nbthread
+  statement is present in the configuration, or the affinity of the process is
+  already specified, for example via the 'cpu-map' directive or the taskset
+  utility.
 
 pidfile <pidfile>
   Writes PIDs of all daemons into file <pidfile> when daemon mode or writes PID
diff --git a/src/cfgparse.c b/src/cfgparse.c
index 06352e2..7b35052 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -2212,7 +2212,9 @@
 	return err_code;
 }
 
-#if defined(USE_THREAD) && defined(__linux__) && defined USE_CPU_AFFINITY
+#if defined(USE_THREAD) && defined USE_CPU_AFFINITY
+#if defined(__linux__)
+
 /* filter directory name of the pattern node<X> */
 static int numa_filter(const struct dirent *dir)
 {
@@ -2372,7 +2374,15 @@
 
 	return ha_cpuset_count(&node_cpu_set);
 }
+
+#else
+static int numa_detect_topology()
+{
+	return 0;
+}
-#endif /* __linux__ && USE_CPU_AFFINITY */
+
+#endif
+#endif /* USE_THREAD && USE_CPU_AFFINITY */
 
 /*
  * Returns the error code, 0 if OK, or any combination of :
@@ -2425,7 +2435,7 @@
 #if defined(USE_THREAD)
 		{
 			int numa_cores = 0;
-#if defined(__linux__) && defined USE_CPU_AFFINITY
+#if defined(USE_CPU_AFFINITY)
 			if (global.numa_cpu_mapping && !thread_cpu_mask_forced())
 				numa_cores = numa_detect_topology();
 #endif