From 5d7b673d5fd6663b20c675dd382d9fb43b42af18 Mon Sep 17 00:00:00 2001 From: Anatoly Burakov Date: Thu, 4 Oct 2018 11:20:33 +0100 Subject: [PATCH] mk: build with _GNU_SOURCE defined by default We use _GNU_SOURCE all over the place, but often times we miss defining it, resulting in broken builds on musl. Rather than fixing every library's and driver's and application's makefile, fix it by simply defining _GNU_SOURCE by default for all builds. Remove all usages of _GNU_SOURCE in source files and makefiles, and also fixup a couple of instances of using __USE_GNU instead of _GNU_SOURCE. Signed-off-by: Anatoly Burakov --- app/meson.build | 7 +++++- app/test-pmd/Makefile | 2 -- buildtools/pmdinfogen/pmdinfogen.c | 1 - drivers/bus/dpaa/Makefile | 1 - drivers/bus/dpaa/meson.build | 1 - drivers/bus/fslmc/meson.build | 1 - drivers/bus/pci/linux/Makefile | 2 -- drivers/bus/pci/meson.build | 1 - drivers/crypto/dpaa2_sec/Makefile | 1 - drivers/crypto/dpaa_sec/Makefile | 1 - drivers/mempool/dpaa/Makefile | 1 - drivers/meson.build | 4 ++++ drivers/net/mlx5/mlx5_ethdev.c | 2 -- drivers/net/mlx5/mlx5_socket.c | 2 -- drivers/net/softnic/conn.c | 1 - examples/cmdline/Makefile | 1 - examples/ethtool/ethtool-app/Makefile | 2 +- examples/ip_pipeline/conn.c | 1 - examples/l2fwd-cat/Makefile | 2 -- examples/l2fwd-cat/meson.build | 1 - examples/load_balancer/Makefile | 1 - examples/meson.build | 4 ++++ .../performance-thread/l3fwd-thread/main.c | 2 -- .../performance-thread/pthread_shim/main.c | 1 - .../pthread_shim/pthread_shim.c | 1 - examples/qos_sched/Makefile | 2 -- examples/tep_termination/Makefile | 1 - examples/vhost/Makefile | 1 - examples/vhost_crypto/Makefile | 1 - examples/vhost_crypto/meson.build | 2 +- examples/vhost_scsi/Makefile | 4 ++-- examples/vhost_scsi/meson.build | 2 +- lib/librte_cmdline/Makefile | 1 - lib/librte_cmdline/cmdline.c | 24 ------------------- lib/librte_eal/bsdapp/eal/Makefile | 5 ---- lib/librte_eal/linuxapp/eal/Makefile | 16 ------------- lib/librte_eal/meson.build | 1 - lib/librte_pdump/Makefile | 1 - lib/librte_sched/Makefile | 2 -- lib/meson.build | 4 ++++ mk/target/generic/rte.vars.mk | 3 +++ test/test/Makefile | 2 -- test/test/meson.build | 3 +++ 43 files changed, 29 insertions(+), 90 deletions(-) diff --git a/app/meson.build b/app/meson.build index 99e0b93ec3..e68d949e9a 100644 --- a/app/meson.build +++ b/app/meson.build @@ -11,13 +11,18 @@ apps = ['pdump', # for BSD only lib_execinfo = cc.find_library('execinfo', required: false) +default_cflags = machine_args + +# specify -D_GNU_SOURCE unconditionally +default_cflags += '-D_GNU_SOURCE' + foreach app:apps build = true name = app allow_experimental_apis = false sources = [] includes = [] - cflags = machine_args + cflags = default_cflags objs = [] # other object files to link against, used e.g. for # instruction-set optimized versions of code diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile index 8e4ff5b0ec..d5258eae4a 100644 --- a/app/test-pmd/Makefile +++ b/app/test-pmd/Makefile @@ -72,8 +72,6 @@ endif endif -CFLAGS_cmdline.o := -D_GNU_SOURCE - include $(RTE_SDK)/mk/rte.app.mk endif diff --git a/buildtools/pmdinfogen/pmdinfogen.c b/buildtools/pmdinfogen/pmdinfogen.c index 0f35ca46bb..dc0b6d5ff4 100644 --- a/buildtools/pmdinfogen/pmdinfogen.c +++ b/buildtools/pmdinfogen/pmdinfogen.c @@ -8,7 +8,6 @@ * */ -#define _GNU_SOURCE #include #include #include diff --git a/drivers/bus/dpaa/Makefile b/drivers/bus/dpaa/Makefile index 381a5c6595..800e5cd20d 100644 --- a/drivers/bus/dpaa/Makefile +++ b/drivers/bus/dpaa/Makefile @@ -14,7 +14,6 @@ CFLAGS := -I$(SRCDIR) $(CFLAGS) CFLAGS += -O3 $(WERROR_FLAGS) CFLAGS += -Wno-pointer-arith CFLAGS += -Wno-cast-qual -CFLAGS += -D _GNU_SOURCE CFLAGS += -I$(RTE_BUS_DPAA)/ CFLAGS += -I$(RTE_BUS_DPAA)/include CFLAGS += -I$(RTE_BUS_DPAA)/base/qbman diff --git a/drivers/bus/dpaa/meson.build b/drivers/bus/dpaa/meson.build index 11a3c94990..1fcb4e9137 100644 --- a/drivers/bus/dpaa/meson.build +++ b/drivers/bus/dpaa/meson.build @@ -28,4 +28,3 @@ if cc.has_argument('-Wno-cast-qual') endif includes += include_directories('include', 'base/qbman') -cflags += ['-D_GNU_SOURCE'] diff --git a/drivers/bus/fslmc/meson.build b/drivers/bus/fslmc/meson.build index 18c45495b1..4b0521577d 100644 --- a/drivers/bus/fslmc/meson.build +++ b/drivers/bus/fslmc/meson.build @@ -26,4 +26,3 @@ sources = files('fslmc_bus.c', allow_experimental_apis = true includes += include_directories('mc', 'qbman/include', 'portal') -cflags += ['-D_GNU_SOURCE'] diff --git a/drivers/bus/pci/linux/Makefile b/drivers/bus/pci/linux/Makefile index 96ea1d540b..90404468b0 100644 --- a/drivers/bus/pci/linux/Makefile +++ b/drivers/bus/pci/linux/Makefile @@ -4,5 +4,3 @@ SRCS += pci.c SRCS += pci_uio.c SRCS += pci_vfio.c - -CFLAGS += -D_GNU_SOURCE diff --git a/drivers/bus/pci/meson.build b/drivers/bus/pci/meson.build index ef9492bb87..a3140ff977 100644 --- a/drivers/bus/pci/meson.build +++ b/drivers/bus/pci/meson.build @@ -13,7 +13,6 @@ if host_machine.system() == 'linux' 'linux/pci_uio.c', 'linux/pci_vfio.c') includes += include_directories('linux') - cflags += ['-D_GNU_SOURCE'] else sources += files('bsd/pci.c') includes += include_directories('bsd') diff --git a/drivers/crypto/dpaa2_sec/Makefile b/drivers/crypto/dpaa2_sec/Makefile index 8ab83c00b2..8b8dfd2abb 100644 --- a/drivers/crypto/dpaa2_sec/Makefile +++ b/drivers/crypto/dpaa2_sec/Makefile @@ -20,7 +20,6 @@ LIB = librte_pmd_dpaa2_sec.a CFLAGS += -DALLOW_EXPERIMENTAL_API CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -CFLAGS += -D _GNU_SOURCE ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) ifeq ($(shell test $(GCC_VERSION) -gt 70 && echo 1), 1) diff --git a/drivers/crypto/dpaa_sec/Makefile b/drivers/crypto/dpaa_sec/Makefile index 674a7a3988..5ce95c23fd 100644 --- a/drivers/crypto/dpaa_sec/Makefile +++ b/drivers/crypto/dpaa_sec/Makefile @@ -11,7 +11,6 @@ LIB = librte_pmd_dpaa_sec.a # build flags CFLAGS += -DALLOW_EXPERIMENTAL_API -CFLAGS += -D _GNU_SOURCE CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) diff --git a/drivers/mempool/dpaa/Makefile b/drivers/mempool/dpaa/Makefile index 9cf36856ca..ead5029fd8 100644 --- a/drivers/mempool/dpaa/Makefile +++ b/drivers/mempool/dpaa/Makefile @@ -10,7 +10,6 @@ LIB = librte_mempool_dpaa.a CFLAGS := -I$(SRCDIR) $(CFLAGS) CFLAGS += -O3 $(WERROR_FLAGS) -CFLAGS += -D _GNU_SOURCE CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/ CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa diff --git a/drivers/meson.build b/drivers/meson.build index 47b4215a30..567f4a19c2 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -16,6 +16,10 @@ default_cflags = machine_args if cc.has_argument('-Wno-format-truncation') default_cflags += '-Wno-format-truncation' endif + +# specify -D_GNU_SOURCE unconditionally +default_cflags += '-D_GNU_SOURCE' + foreach class:driver_classes drivers = [] std_deps = [] diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c index cacdf8e189..d178ed6a18 100644 --- a/drivers/net/mlx5/mlx5_ethdev.c +++ b/drivers/net/mlx5/mlx5_ethdev.c @@ -3,8 +3,6 @@ * Copyright 2015 Mellanox Technologies, Ltd */ -#define _GNU_SOURCE - #include #include #include diff --git a/drivers/net/mlx5/mlx5_socket.c b/drivers/net/mlx5/mlx5_socket.c index a3a5229112..00106171d3 100644 --- a/drivers/net/mlx5/mlx5_socket.c +++ b/drivers/net/mlx5/mlx5_socket.c @@ -3,8 +3,6 @@ * Copyright 2016 Mellanox Technologies, Ltd */ -#define _GNU_SOURCE - #include #include #include diff --git a/drivers/net/softnic/conn.c b/drivers/net/softnic/conn.c index 990cf40fce..8b66580887 100644 --- a/drivers/net/softnic/conn.c +++ b/drivers/net/softnic/conn.c @@ -8,7 +8,6 @@ #include #include -#define __USE_GNU #include #include diff --git a/examples/cmdline/Makefile b/examples/cmdline/Makefile index 7893c85b3e..a617cce115 100644 --- a/examples/cmdline/Makefile +++ b/examples/cmdline/Makefile @@ -56,7 +56,6 @@ SRCS-y := main.c commands.c parse_obj_list.c CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -CFLAGS_parse_obj_list.o := -D_GNU_SOURCE include $(RTE_SDK)/mk/rte.extapp.mk diff --git a/examples/ethtool/ethtool-app/Makefile b/examples/ethtool/ethtool-app/Makefile index 4cd9efdd57..9ecfc0b893 100644 --- a/examples/ethtool/ethtool-app/Makefile +++ b/examples/ethtool/ethtool-app/Makefile @@ -16,7 +16,7 @@ APP = ethtool # all source are stored in SRCS-y SRCS-y := main.c ethapp.c -CFLAGS += -O3 -D_GNU_SOURCE -pthread -I$(SRCDIR)/../lib +CFLAGS += -O3 -pthread -I$(SRCDIR)/../lib CFLAGS += $(WERROR_FLAGS) LDLIBS += -L$(subst ethtool-app,lib,$(RTE_OUTPUT))/lib diff --git a/examples/ip_pipeline/conn.c b/examples/ip_pipeline/conn.c index 6b08e9e8e8..30fca80c14 100644 --- a/examples/ip_pipeline/conn.c +++ b/examples/ip_pipeline/conn.c @@ -8,7 +8,6 @@ #include #include -#define __USE_GNU #include #include diff --git a/examples/l2fwd-cat/Makefile b/examples/l2fwd-cat/Makefile index aec770c28b..b6eeabde1a 100644 --- a/examples/l2fwd-cat/Makefile +++ b/examples/l2fwd-cat/Makefile @@ -23,7 +23,6 @@ CFLAGS += -O3 $(shell pkg-config --cflags libdpdk) LDFLAGS_SHARED = $(shell pkg-config --libs libdpdk) LDFLAGS_STATIC = -Wl,-Bstatic $(shell pkg-config --static --libs libdpdk) -CFLAGS += -D_GNU_SOURCE LDFLAGS += -lpqos build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build @@ -66,7 +65,6 @@ endif EXTRA_CFLAGS += -O3 -g -Wfatal-errors CFLAGS += -I$(PQOS_INSTALL_PATH)/../include -CFLAGS_cat.o := -D_GNU_SOURCE LDLIBS += -L$(PQOS_INSTALL_PATH) LDLIBS += -lpqos diff --git a/examples/l2fwd-cat/meson.build b/examples/l2fwd-cat/meson.build index 1234e7b556..4e2777a033 100644 --- a/examples/l2fwd-cat/meson.build +++ b/examples/l2fwd-cat/meson.build @@ -9,7 +9,6 @@ pqos = cc.find_library('pqos', required: false) build = pqos.found() ext_deps += pqos -cflags += '-D_GNU_SOURCE' cflags += '-I/usr/local/include' # assume pqos lib installed in /usr/local sources = files( 'cat.c', 'l2fwd-cat.c' diff --git a/examples/load_balancer/Makefile b/examples/load_balancer/Makefile index fc8df71e8e..197b019d58 100644 --- a/examples/load_balancer/Makefile +++ b/examples/load_balancer/Makefile @@ -50,7 +50,6 @@ include $(RTE_SDK)/mk/rte.vars.mk CFLAGS += -O3 -g CFLAGS += $(WERROR_FLAGS) -CFLAGS_config.o := -D_GNU_SOURCE # workaround for a gcc bug with noreturn attribute # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603 diff --git a/examples/meson.build b/examples/meson.build index 4ee7a11141..af81c762e8 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -22,6 +22,10 @@ default_cflags = machine_args if cc.has_argument('-Wno-format-truncation') default_cflags += '-Wno-format-truncation' endif + +# specify -D_GNU_SOURCE unconditionally +default_cflags += '-D_GNU_SOURCE' + foreach example: examples name = example build = true diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c index 50fd1b00ac..4f8747bc3e 100644 --- a/examples/performance-thread/l3fwd-thread/main.c +++ b/examples/performance-thread/l3fwd-thread/main.c @@ -2,8 +2,6 @@ * Copyright(c) 2010-2016 Intel Corporation */ -#define _GNU_SOURCE - #include #include #include diff --git a/examples/performance-thread/pthread_shim/main.c b/examples/performance-thread/pthread_shim/main.c index 7d0d581169..03ff394369 100644 --- a/examples/performance-thread/pthread_shim/main.c +++ b/examples/performance-thread/pthread_shim/main.c @@ -2,7 +2,6 @@ * Copyright(c) 2015 Intel Corporation */ -#define _GNU_SOURCE #include #include #include diff --git a/examples/performance-thread/pthread_shim/pthread_shim.c b/examples/performance-thread/pthread_shim/pthread_shim.c index 53f12437f0..a02de06777 100644 --- a/examples/performance-thread/pthread_shim/pthread_shim.c +++ b/examples/performance-thread/pthread_shim/pthread_shim.c @@ -6,7 +6,6 @@ #include #include #include -#define __USE_GNU #include #include diff --git a/examples/qos_sched/Makefile b/examples/qos_sched/Makefile index a7ecf97881..45b0a9eb6b 100644 --- a/examples/qos_sched/Makefile +++ b/examples/qos_sched/Makefile @@ -57,8 +57,6 @@ else CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -CFLAGS_args.o := -D_GNU_SOURCE -CFLAGS_cfg_file.o := -D_GNU_SOURCE include $(RTE_SDK)/mk/rte.extapp.mk diff --git a/examples/tep_termination/Makefile b/examples/tep_termination/Makefile index 8ec1a38ef9..4c15643259 100644 --- a/examples/tep_termination/Makefile +++ b/examples/tep_termination/Makefile @@ -60,7 +60,6 @@ endif CFLAGS += -DALLOW_EXPERIMENTAL_API CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -CFLAGS += -D_GNU_SOURCE include $(RTE_SDK)/mk/rte.extapp.mk endif diff --git a/examples/vhost/Makefile b/examples/vhost/Makefile index a2ea97a0c6..c6964381bd 100644 --- a/examples/vhost/Makefile +++ b/examples/vhost/Makefile @@ -61,7 +61,6 @@ else CFLAGS += -DALLOW_EXPERIMENTAL_API CFLAGS += -O2 -D_FILE_OFFSET_BITS=64 CFLAGS += $(WERROR_FLAGS) -CFLAGS += -D_GNU_SOURCE include $(RTE_SDK)/mk/rte.extapp.mk diff --git a/examples/vhost_crypto/Makefile b/examples/vhost_crypto/Makefile index 83d3310122..a620abf49e 100644 --- a/examples/vhost_crypto/Makefile +++ b/examples/vhost_crypto/Makefile @@ -25,7 +25,6 @@ SRCS-y := main.c CFLAGS += -DALLOW_EXPERIMENTAL_API CFLAGS += -O2 -D_FILE_OFFSET_BITS=64 CFLAGS += $(WERROR_FLAGS) -CFLAGS += -D_GNU_SOURCE include $(RTE_SDK)/mk/rte.extapp.mk diff --git a/examples/vhost_crypto/meson.build b/examples/vhost_crypto/meson.build index 0f4876f06b..daf19fb870 100644 --- a/examples/vhost_crypto/meson.build +++ b/examples/vhost_crypto/meson.build @@ -8,7 +8,7 @@ allow_experimental_apis = true deps += ['vhost', 'cryptodev'] -cflags += ['-D_GNU_SOURCE','-D_FILE_OFFSET_BITS=64'] +cflags += ['-D_FILE_OFFSET_BITS=64'] sources = files( 'main.c' ) diff --git a/examples/vhost_scsi/Makefile b/examples/vhost_scsi/Makefile index fa0cf727ed..523aee0bf2 100644 --- a/examples/vhost_scsi/Makefile +++ b/examples/vhost_scsi/Makefile @@ -18,7 +18,7 @@ shared: build/$(APP)-shared static: build/$(APP)-static ln -sf $(APP)-static build/$(APP) -CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 +CFLAGS += -D_FILE_OFFSET_BITS=64 LDFLAGS += -pthread PC_FILE := $(shell pkg-config --path libdpdk) @@ -57,7 +57,7 @@ please change the definition of the RTE_TARGET environment variable) all: else -CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 +CFLAGS += -D_FILE_OFFSET_BITS=64 CFLAGS += -O2 CFLAGS += $(WERROR_FLAGS) diff --git a/examples/vhost_scsi/meson.build b/examples/vhost_scsi/meson.build index 5f92370f54..2303bcaed7 100644 --- a/examples/vhost_scsi/meson.build +++ b/examples/vhost_scsi/meson.build @@ -10,7 +10,7 @@ if host_machine.system() != 'linux' build = false endif deps += 'vhost' -cflags += ['-D_GNU_SOURCE','-D_FILE_OFFSET_BITS=64'] +cflags += ['-D_FILE_OFFSET_BITS=64'] sources = files( 'scsi.c', 'vhost_scsi.c' ) diff --git a/lib/librte_cmdline/Makefile b/lib/librte_cmdline/Makefile index ddae1cfde0..c64142b8d5 100644 --- a/lib/librte_cmdline/Makefile +++ b/lib/librte_cmdline/Makefile @@ -25,7 +25,6 @@ SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_vt100.c SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_socket.c SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_portlist.c -CFLAGS += -D_GNU_SOURCE LDLIBS += -lrte_eal # install includes diff --git a/lib/librte_cmdline/cmdline.c b/lib/librte_cmdline/cmdline.c index 591b78b0f7..d9042f0489 100644 --- a/lib/librte_cmdline/cmdline.c +++ b/lib/librte_cmdline/cmdline.c @@ -126,35 +126,11 @@ cmdline_printf(const struct cmdline *cl, const char *fmt, ...) if (!cl || !fmt) return; -#ifdef _GNU_SOURCE if (cl->s_out < 0) return; va_start(ap, fmt); vdprintf(cl->s_out, fmt, ap); va_end(ap); -#else - int ret; - char *buf; - - if (cl->s_out < 0) - return; - - buf = malloc(BUFSIZ); - if (buf == NULL) - return; - va_start(ap, fmt); - ret = vsnprintf(buf, BUFSIZ, fmt, ap); - va_end(ap); - if (ret < 0) { - free(buf); - return; - } - if (ret >= BUFSIZ) - ret = BUFSIZ - 1; - ret = write(cl->s_out, buf, ret); - (void)ret; - free(buf); -#endif } int diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile index 6e9bc02c53..d19f53c1e3 100644 --- a/lib/librte_eal/bsdapp/eal/Makefile +++ b/lib/librte_eal/bsdapp/eal/Makefile @@ -78,11 +78,6 @@ SRCS-y += rte_cycles.c CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST) -CFLAGS_eal.o := -D_GNU_SOURCE -#CFLAGS_eal_thread.o := -D_GNU_SOURCE -CFLAGS_eal_log.o := -D_GNU_SOURCE -CFLAGS_eal_common_log.o := -D_GNU_SOURCE - # workaround for a gcc bug with noreturn attribute # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603 ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile index 736bc6569a..7280885946 100644 --- a/lib/librte_eal/linuxapp/eal/Makefile +++ b/lib/librte_eal/linuxapp/eal/Makefile @@ -86,22 +86,6 @@ SRCS-y += rte_cycles.c CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST) -CFLAGS_eal.o := -D_GNU_SOURCE -CFLAGS_eal_interrupts.o := -D_GNU_SOURCE -CFLAGS_eal_vfio_mp_sync.o := -D_GNU_SOURCE -CFLAGS_eal_timer.o := -D_GNU_SOURCE -CFLAGS_eal_lcore.o := -D_GNU_SOURCE -CFLAGS_eal_memalloc.o := -D_GNU_SOURCE -CFLAGS_eal_thread.o := -D_GNU_SOURCE -CFLAGS_eal_log.o := -D_GNU_SOURCE -CFLAGS_eal_common_log.o := -D_GNU_SOURCE -CFLAGS_eal_hugepage_info.o := -D_GNU_SOURCE -CFLAGS_eal_common_whitelist.o := -D_GNU_SOURCE -CFLAGS_eal_common_options.o := -D_GNU_SOURCE -CFLAGS_eal_common_thread.o := -D_GNU_SOURCE -CFLAGS_eal_common_lcore.o := -D_GNU_SOURCE -CFLAGS_rte_cycles.o := -D_GNU_SOURCE - # workaround for a gcc bug with noreturn attribute # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603 ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build index 62ef985b99..a18f3a826d 100644 --- a/lib/librte_eal/meson.build +++ b/lib/librte_eal/meson.build @@ -25,7 +25,6 @@ version = 9 # the version of the EAL API allow_experimental_apis = true deps += 'compat' deps += 'kvargs' -cflags += '-D_GNU_SOURCE' sources = common_sources + env_sources objs = common_objs + env_objs headers = common_headers + env_headers diff --git a/lib/librte_pdump/Makefile b/lib/librte_pdump/Makefile index ee14dba7af..b241151dca 100644 --- a/lib/librte_pdump/Makefile +++ b/lib/librte_pdump/Makefile @@ -8,7 +8,6 @@ LIB = librte_pdump.a CFLAGS += -DALLOW_EXPERIMENTAL_API CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -CFLAGS += -D_GNU_SOURCE LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev EXPORT_MAP := rte_pdump_version.map diff --git a/lib/librte_sched/Makefile b/lib/librte_sched/Makefile index 55d9c69899..46c53ed717 100644 --- a/lib/librte_sched/Makefile +++ b/lib/librte_sched/Makefile @@ -11,8 +11,6 @@ LIB = librte_sched.a CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -CFLAGS_rte_red.o := -D_GNU_SOURCE - LDLIBS += -lm LDLIBS += -lrt LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_net diff --git a/lib/meson.build b/lib/meson.build index 3acc67e6ed..24351cc40a 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -32,6 +32,10 @@ if cc.has_argument('-Wno-format-truncation') endif enabled_libs = [] # used to print summary at the end + +# -D_GNU_SOURCE unconditionally +default_cflags += '-D_GNU_SOURCE' + foreach l:libraries build = true name = l diff --git a/mk/target/generic/rte.vars.mk b/mk/target/generic/rte.vars.mk index 98085cd310..dd149acc9c 100644 --- a/mk/target/generic/rte.vars.mk +++ b/mk/target/generic/rte.vars.mk @@ -108,6 +108,9 @@ CFLAGS += -include $(RTE_SDK_BIN)/include/rte_config.h LDFLAGS += -L$(RTE_SDK_BIN)/lib endif +# always define _GNU_SOURCE +CFLAGS += -D_GNU_SOURCE + export CFLAGS export LDFLAGS diff --git a/test/test/Makefile b/test/test/Makefile index 5d8b1dcb07..8c347e4638 100644 --- a/test/test/Makefile +++ b/test/test/Makefile @@ -210,8 +210,6 @@ CFLAGS += -DALLOW_EXPERIMENTAL_API CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) -CFLAGS += -D_GNU_SOURCE - LDLIBS += -lm ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST),y) ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y) diff --git a/test/test/meson.build b/test/test/meson.build index 92104cd204..7c6e3b00b4 100644 --- a/test/test/meson.build +++ b/test/test/meson.build @@ -253,6 +253,9 @@ if cc.has_argument('-Wno-format-truncation') cflags += '-Wno-format-truncation' endif +# specify -D_GNU_SOURCE unconditionally +default_cflags += '-D_GNU_SOURCE' + test_dep_objs = [] compress_test_dep = dependency('zlib', required: false) if compress_test_dep.found()