> > When a component uses either XOPEN_SOURCE or POSIX_C_SOURCE macro > > explicitly in its build recipe, it restricts visibility of a non POSIX > > features subset, such as IANA protocol numbers (IPPROTO_* macros). > > Non standard features are enabled by default for DPDK both for Linux > > thanks to _GNU_SOURCE and for FreeBSD thanks to __BSD_VISIBLE. However > > using XOPEN_SOURCE or POSIX_(C_)SOURCE in a component causes > > __BSD_VISIBLE to be defined to 0 for FreeBSD, causing different feature > > sets visibility for Linux and FreeBSD. It restricts from using IPPROTO > > macros in public headers, such as rte_ip.h, despite the fact they are > > already widely used in sources. > > > > Add __BSD_VISIBLE macro specified unconditionally for FreeBSD targets > > which enforces feature sets visibility unification between Linux and > > FreeBSD. > > > > Add single -D_GNU_SOURCE to config/meson.build as a project argument > > instead of adding separate directive for each project subtree. > > > > This patch solves the problem of build breaks for [1] on FreeBSD [2] > > following the discussion [3]. > > > > [1] https://mails.dpdk.org/archives/dev/2019-May/131885.html > > [2] http://mails.dpdk.org/archives/test-report/2019-May/082263.html > > [3] https://mails.dpdk.org/archives/dev/2019-May/132110.html > > > > Signed-off-by: Marcin Smoczynski <marcinx.smoczyn...@intel.com> > > Acked-by: Konstantin Ananyev <konstantin.anan...@intel.com>
Applied, thanks