Merged,
Maxim.

On 01/14/2016 12:24, Petri Savolainen wrote:
Use only one definition for posix extension level. _GNU_SOURCE
defines _POSIX_C_SOURCE based on glibc version, and is
the only definition needed under Linux.

Signed-off-by: Petri Savolainen <petri.savolai...@nokia.com>
---
  platform/linux-generic/Makefile.am                 |  1 +
  platform/linux-generic/arch/linux/odp_cpu_cycles.c |  2 +-
  .../linux-generic/include/odp/plat/time_types.h    |  2 +-
  .../linux-generic/include/odp_posix_extensions.h   | 36 ++++++++++++++++++++++
  platform/linux-generic/odp_cpumask.c               |  5 ++-
  platform/linux-generic/odp_cpumask_task.c          |  5 ++-
  platform/linux-generic/odp_shared_memory.c         |  3 +-
  platform/linux-generic/odp_system_info.c           |  3 +-
  platform/linux-generic/odp_thread.c                |  6 ++--
  platform/linux-generic/odp_thrmask.c               |  4 ---
  platform/linux-generic/odp_time.c                  |  2 +-
  platform/linux-generic/odp_timer.c                 |  4 +--
  platform/linux-generic/pktio/loop.c                |  4 ---
  platform/linux-generic/pktio/netmap.c              |  4 +--
  platform/linux-generic/pktio/pcap.c                |  4 +--
  platform/linux-generic/pktio/pktio_common.c        |  4 ---
  platform/linux-generic/pktio/socket.c              |  4 +--
  platform/linux-generic/pktio/socket_mmap.c         |  5 ++-
  platform/linux-generic/pktio/tap.c                 |  4 +--
  19 files changed, 57 insertions(+), 45 deletions(-)
  create mode 100644 platform/linux-generic/include/odp_posix_extensions.h

diff --git a/platform/linux-generic/Makefile.am 
b/platform/linux-generic/Makefile.am
index 8064193..279e5e2 100644
--- a/platform/linux-generic/Makefile.am
+++ b/platform/linux-generic/Makefile.am
@@ -100,6 +100,7 @@ noinst_HEADERS = \
                  ${srcdir}/include/odp_packet_socket.h \
                  ${srcdir}/include/odp_packet_tap.h \
                  ${srcdir}/include/odp_pool_internal.h \
+                 ${srcdir}/include/odp_posix_extensions.h \
                  ${srcdir}/include/odp_queue_internal.h \
                  ${srcdir}/include/odp_schedule_internal.h \
                  ${srcdir}/include/odp_spin_internal.h \
diff --git a/platform/linux-generic/arch/linux/odp_cpu_cycles.c 
b/platform/linux-generic/arch/linux/odp_cpu_cycles.c
index 37a4d94..7509bf2 100644
--- a/platform/linux-generic/arch/linux/odp_cpu_cycles.c
+++ b/platform/linux-generic/arch/linux/odp_cpu_cycles.c
@@ -4,7 +4,7 @@
   * SPDX-License-Identifier:     BSD-3-Clause
   */
-#define _POSIX_C_SOURCE 199309L
+#include <odp_posix_extensions.h>
#include <stdlib.h>
  #include <time.h>
diff --git a/platform/linux-generic/include/odp/plat/time_types.h 
b/platform/linux-generic/include/odp/plat/time_types.h
index 14c35f0..1b9409b 100644
--- a/platform/linux-generic/include/odp/plat/time_types.h
+++ b/platform/linux-generic/include/odp/plat/time_types.h
@@ -23,7 +23,7 @@ extern "C" {
/**
   * @internal Time structure used to isolate linux-generic implementation from
- * the linux timespec structure, which is dependent on _POSIX_C_SOURCE level.
+ * the linux timespec structure, which is dependent on POSIX extension level.
   */
  typedef struct odp_time_t {
        int64_t tv_sec;      /**< @internal Seconds */
diff --git a/platform/linux-generic/include/odp_posix_extensions.h 
b/platform/linux-generic/include/odp_posix_extensions.h
new file mode 100644
index 0000000..4b6e335
--- /dev/null
+++ b/platform/linux-generic/include/odp_posix_extensions.h
@@ -0,0 +1,36 @@
+/* Copyright (c) 2016, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#ifndef ODP_POSIX_EXTENSIONS_H
+#define ODP_POSIX_EXTENSIONS_H
+
+/*
+ * This should be the only file to define POSIX extension levels. When
+ * extensions are needed it should be included first in each C source file.
+ * Header files should not include it.
+ */
+
+/*
+ * Enable POSIX and GNU extensions
+ *
+ * This macro defines:
+ *   o  _BSD_SOURCE, _SVID_SOURCE, _ATFILE_SOURCE, _LARGEā€FILE64_SOURCE,
+ *      _ISOC99_SOURCE, _XOPEN_SOURCE_EXTENDED, _POSIX_SOURCE
+ *   o  _POSIX_C_SOURCE with the value:
+ *        * 200809L since  glibc v2.10 (== POSIX.1-2008 base specification)
+ *        * 200112L before glibc v2.10 (== POSIX.1-2001 base specification)
+ *        * 199506L before glibc v2.5
+ *        * 199309L before glibc v2.1
+ *   o  _XOPEN_SOURCE with the value:
+ *        * 700 since  glibc v2.10
+ *        * 600 before glibc v2.10
+ *        * 500 before glibc v2.2
+ */
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
+#endif
diff --git a/platform/linux-generic/odp_cpumask.c 
b/platform/linux-generic/odp_cpumask.c
index 5cd6a38..c5c1260 100644
--- a/platform/linux-generic/odp_cpumask.c
+++ b/platform/linux-generic/odp_cpumask.c
@@ -4,9 +4,8 @@
   * SPDX-License-Identifier:     BSD-3-Clause
   */
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
+#include <odp_posix_extensions.h>
+
  #include <sched.h>
  #include <pthread.h>
diff --git a/platform/linux-generic/odp_cpumask_task.c b/platform/linux-generic/odp_cpumask_task.c
index 49dbdb7..41f2bc9 100644
--- a/platform/linux-generic/odp_cpumask_task.c
+++ b/platform/linux-generic/odp_cpumask_task.c
@@ -4,9 +4,8 @@
   * SPDX-License-Identifier:     BSD-3-Clause
   */
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
+#include <odp_posix_extensions.h>
+
  #include <sched.h>
  #include <pthread.h>
diff --git a/platform/linux-generic/odp_shared_memory.c b/platform/linux-generic/odp_shared_memory.c
index ab48dda..7847cc9 100644
--- a/platform/linux-generic/odp_shared_memory.c
+++ b/platform/linux-generic/odp_shared_memory.c
@@ -4,8 +4,7 @@
   * SPDX-License-Identifier:     BSD-3-Clause
   */
-/*ftruncate _POSIX_C_SOURCE 200809L */
-#define _POSIX_C_SOURCE 200809L
+#include <odp_posix_extensions.h>
#include <odp/shared_memory.h>
  #include <odp_internal.h>
diff --git a/platform/linux-generic/odp_system_info.c 
b/platform/linux-generic/odp_system_info.c
index 31df29e..35804a2 100644
--- a/platform/linux-generic/odp_system_info.c
+++ b/platform/linux-generic/odp_system_info.c
@@ -4,7 +4,8 @@
   * SPDX-License-Identifier:     BSD-3-Clause
   */
-#define _GNU_SOURCE
+#include <odp_posix_extensions.h>
+
  #include <odp/system_info.h>
  #include <odp_internal.h>
  #include <odp_debug_internal.h>
diff --git a/platform/linux-generic/odp_thread.c 
b/platform/linux-generic/odp_thread.c
index 06a5dcd..4ac1c37 100644
--- a/platform/linux-generic/odp_thread.c
+++ b/platform/linux-generic/odp_thread.c
@@ -4,11 +4,9 @@
   * SPDX-License-Identifier:     BSD-3-Clause
   */
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
+#include <odp_posix_extensions.h>
+
  #include <sched.h>
-
  #include <odp/thread.h>
  #include <odp/thrmask.h>
  #include <odp_internal.h>
diff --git a/platform/linux-generic/odp_thrmask.c 
b/platform/linux-generic/odp_thrmask.c
index 154ae81..4545a82 100644
--- a/platform/linux-generic/odp_thrmask.c
+++ b/platform/linux-generic/odp_thrmask.c
@@ -4,10 +4,6 @@
   * SPDX-License-Identifier:     BSD-3-Clause
   */
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
-
  #include <odp/thrmask.h>
  #include <odp/cpumask.h>
diff --git a/platform/linux-generic/odp_time.c b/platform/linux-generic/odp_time.c
index 2cb84f2..b6442ad 100644
--- a/platform/linux-generic/odp_time.c
+++ b/platform/linux-generic/odp_time.c
@@ -4,7 +4,7 @@
   * SPDX-License-Identifier:     BSD-3-Clause
   */
-#define _POSIX_C_SOURCE 200809L
+#include <odp_posix_extensions.h>
#include <time.h>
  #include <odp/time.h>
diff --git a/platform/linux-generic/odp_timer.c 
b/platform/linux-generic/odp_timer.c
index 5c1f8ca..3848235 100644
--- a/platform/linux-generic/odp_timer.c
+++ b/platform/linux-generic/odp_timer.c
@@ -21,8 +21,8 @@
  #define TB_SET_PAD(x) (void)(x)
  #endif
-/* For snprint, POSIX timers and sigevent */
-#define _POSIX_C_SOURCE 200112L
+#include <odp_posix_extensions.h>
+
  #include <errno.h>
  #include <stdlib.h>
  #include <time.h>
diff --git a/platform/linux-generic/pktio/loop.c 
b/platform/linux-generic/pktio/loop.c
index 47745ad..d51f0d3 100644
--- a/platform/linux-generic/pktio/loop.c
+++ b/platform/linux-generic/pktio/loop.c
@@ -5,10 +5,6 @@
   * SPDX-License-Identifier:     BSD-3-Clause
   */
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
-
  #include <odp.h>
  #include <odp_packet_internal.h>
  #include <odp_packet_io_internal.h>
diff --git a/platform/linux-generic/pktio/netmap.c 
b/platform/linux-generic/pktio/netmap.c
index 11ebd55..774e813 100644
--- a/platform/linux-generic/pktio/netmap.c
+++ b/platform/linux-generic/pktio/netmap.c
@@ -6,9 +6,7 @@
#ifdef ODP_NETMAP -#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
+#include <odp_posix_extensions.h>
#include <odp_packet_netmap.h>
  #include <odp_packet_socket.h>
diff --git a/platform/linux-generic/pktio/pcap.c 
b/platform/linux-generic/pktio/pcap.c
index 0817bf5..6511132 100644
--- a/platform/linux-generic/pktio/pcap.c
+++ b/platform/linux-generic/pktio/pcap.c
@@ -34,9 +34,7 @@
   * The total length of the string is limited by PKTIO_NAME_LEN.
   */
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
+#include <odp_posix_extensions.h>
#include <odp.h>
  #include <odp_packet_internal.h>
diff --git a/platform/linux-generic/pktio/pktio_common.c 
b/platform/linux-generic/pktio/pktio_common.c
index 5729db6..be9db33 100644
--- a/platform/linux-generic/pktio/pktio_common.c
+++ b/platform/linux-generic/pktio/pktio_common.c
@@ -5,10 +5,6 @@
   * SPDX-License-Identifier:     BSD-3-Clause
   */
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
-
  #include <odp_packet_io_internal.h>
  #include <odp_classification_internal.h>
diff --git a/platform/linux-generic/pktio/socket.c b/platform/linux-generic/pktio/socket.c
index dfdab18..1417fb4 100644
--- a/platform/linux-generic/pktio/socket.c
+++ b/platform/linux-generic/pktio/socket.c
@@ -5,9 +5,7 @@
   * SPDX-License-Identifier:     BSD-3-Clause
   */
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
+#include <odp_posix_extensions.h>
#include <sys/socket.h>
  #include <stdio.h>
diff --git a/platform/linux-generic/pktio/socket_mmap.c 
b/platform/linux-generic/pktio/socket_mmap.c
index fcaaaf6..1d2eb3c 100644
--- a/platform/linux-generic/pktio/socket_mmap.c
+++ b/platform/linux-generic/pktio/socket_mmap.c
@@ -5,9 +5,8 @@
   * SPDX-License-Identifier:     BSD-3-Clause
   */
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
+#include <odp_posix_extensions.h>
+
  #include <odp_packet_io_internal.h>
#include <sys/socket.h>
diff --git a/platform/linux-generic/pktio/tap.c 
b/platform/linux-generic/pktio/tap.c
index 99e15ce..1eb4f56 100644
--- a/platform/linux-generic/pktio/tap.c
+++ b/platform/linux-generic/pktio/tap.c
@@ -27,9 +27,7 @@
   * The total length of the 'iface' is limited by IF_NAMESIZE.
   */
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
+#include <odp_posix_extensions.h>
#include <errno.h>
  #include <fcntl.h>

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to