History log of /dpdk/meson.build (Results 1 – 25 of 88)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1
# e16b972b 24-Jan-2022 Bruce Richardson <[email protected]>

build: remove deprecated Meson functions

Starting in meson 0.56, the functions meson.source_root() and
meson.build_root() are deprecated and to be replaced by the [more
descriptive] functions: proje

build: remove deprecated Meson functions

Starting in meson 0.56, the functions meson.source_root() and
meson.build_root() are deprecated and to be replaced by the [more
descriptive] functions: project_source_root()/global_source_root() and
project_build_root()/global_build_root(). Unfortunately, these new
replacement functions were only added in 0.56 release too, so to use
them we would need version checks for old/new functions to remove the
deprecation warnings.

However, the functions "current_build_dir()" and "current_source_dir()"
remain unaffected by all this, so we can bypass the versioning problem,
by saving off these values to "dpdk_source_root" and "dpdk_build_root"
in the top-level meson.build file

Bugzilla ID: 926
Cc: [email protected]

Signed-off-by: Bruce Richardson <[email protected]>
Tested-by: Jerin Jacob <[email protected]>

show more ...


# d832326a 21-Jan-2022 Bruce Richardson <[email protected]>

build: fix warning about using -Wextra flag

Each build, meson would issue a warning reporting that the
"warning_level" setting should be used in place of adding -Wextra
directly to our build command

build: fix warning about using -Wextra flag

Each build, meson would issue a warning reporting that the
"warning_level" setting should be used in place of adding -Wextra
directly to our build commands. Testing with meson 0.61 shows that the
only difference for gcc and clang builds between warning levels 1 and
2 is the addition of -Wextra, so we can remove the warning by deleting
our explicit set of Wextra and changing the build defaults to
warning_level 2.

Fixes: 524a0d5d66b9 ("build: enable extra warnings with meson")

Signed-off-by: Bruce Richardson <[email protected]>
Acked-by: Luca Boccassi <[email protected]>

show more ...


# ecb904cc 20-Jan-2022 Bruce Richardson <[email protected]>

build: fix warnings when running external commands

Meson 0.61.1 is giving warnings that the calls to run_command do not
always explicitly specify if the result is to be checked or not, i.e.
there is

build: fix warnings when running external commands

Meson 0.61.1 is giving warnings that the calls to run_command do not
always explicitly specify if the result is to be checked or not, i.e.
there is a missing "check" parameter. This is because the default
behaviour without the parameter is due to change in the future.

We can fix these warnings by explicitly adding into each call whether
the result should be checked by meson or not. This patch therefore
adds in "check: false" to each run_command call where the result is
being checked by the DPDK meson.build code afterwards, and adds in
"check: true" to any calls where the result is currently unchecked.

Bugzilla ID: 921
Cc: [email protected]

Reported-by: Jerin Jacob <[email protected]>
Signed-off-by: Bruce Richardson <[email protected]>
Tested-by: Jerin Jacob <[email protected]>

show more ...


Revision tags: v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2, v21.11-rc1, v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1, v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1
# 99a2dd95 20-Apr-2021 Bruce Richardson <[email protected]>

lib: remove librte_ prefix from directory names

There is no reason for the DPDK libraries to all have 'librte_' prefix on
the directory names. This prefix makes the directory names longer and also
m

lib: remove librte_ prefix from directory names

There is no reason for the DPDK libraries to all have 'librte_' prefix on
the directory names. This prefix makes the directory names longer and also
makes it awkward to add features referring to individual libraries in the
build - should the lib names be specified with or without the prefix.
Therefore, we can just remove the library prefix and use the library's
unique name as the directory name, i.e. 'eal' rather than 'librte_eal'

Signed-off-by: Bruce Richardson <[email protected]>

show more ...


# 8dcb898c 20-Apr-2021 Bruce Richardson <[email protected]>

build: change indentation in infrastructure files

Switch from using tabs to 4 spaces for meson.build indentation, for the
basic infrastructure and tooling files, as well as doc and kernel
directorie

build: change indentation in infrastructure files

Switch from using tabs to 4 spaces for meson.build indentation, for the
basic infrastructure and tooling files, as well as doc and kernel
directories.

Signed-off-by: Bruce Richardson <[email protected]>

show more ...


# 8c105308 23-Mar-2021 Gabriel Ganne <[email protected]>

build: update minimum required Meson version

Bump Meson required version to 0.49.2 which is chosen so as
to be provided by both redhat-8 and debian-10.

Update documentation and travis setup script

build: update minimum required Meson version

Bump Meson required version to 0.49.2 which is chosen so as
to be provided by both redhat-8 and debian-10.

Update documentation and travis setup script accordingly.

This fixes the following warning:
WARNING: Project targeting '>= 0.47.1' but tried to use feature introduced
in '0.48.0': console arg in custom_target

'console' argument is used within kernel/linux/kni/meson.build

Signed-off-by: Gabriel Ganne <[email protected]>
Acked-by: Bruce Richardson <[email protected]>
Acked-by: Andrew Rybchenko <[email protected]>

show more ...


# bc461743 25-Feb-2021 Bruce Richardson <[email protected]>

build: enable a developer mode setting

To allow support for additional build checks and tests only really
relevant for developers, we add support for a developer mode option to
DPDK. The default, "a

build: enable a developer mode setting

To allow support for additional build checks and tests only really
relevant for developers, we add support for a developer mode option to
DPDK. The default, "auto", value for this enables developer mode if a
".git" folder is found at the root of the source tree - as was the case
with the previous "make" build system. There is also support for
explicitly enabling or disabling this option using "meson configure" if
so desired.

Signed-off-by: Bruce Richardson <[email protected]>

show more ...


# 5d20515e 12-Mar-2021 Bruce Richardson <[email protected]>

build: exclude meson files from examples installation

The meson.build files in each example directory is simply to support
building the example as part of the main SDK build, and these should not
be

build: exclude meson files from examples installation

The meson.build files in each example directory is simply to support
building the example as part of the main SDK build, and these should not
be installed with the example's source code and makefile. The exclude of
"meson.build" only filters out the top-level examples/meson.build file,
not the file in each subdirectory.

To fix this, we can build up the list of files to exclude based off the
list of all examples. With this change "find examples/ -name meson.build"
returns no hits when run on an installed instance.

Fixes: e5b95003f1df ("examples: fix flattening directory layout on install")
Cc: [email protected]

Signed-off-by: Bruce Richardson <[email protected]>

show more ...


Revision tags: v21.02, v21.02-rc4, v21.02-rc3, v21.02-rc2
# 05050ac4 29-Jan-2021 Bruce Richardson <[email protected]>

build: add header includes check

To verify that all DPDK headers are ok for inclusion directly in a C file,
and are not missing any other pre-requisite headers, we can auto-generate
for each header

build: add header includes check

To verify that all DPDK headers are ok for inclusion directly in a C file,
and are not missing any other pre-requisite headers, we can auto-generate
for each header an empty C file that includes that header. Compiling these
files will throw errors if any header has unmet dependencies.

For some libraries, there may be some header files which are not for direct
inclusion, but rather are to be included via other header files. To allow
later checking of these files for missing includes, we separate out the
indirect include files from the direct ones.

To ensure ongoing compliance, we enable this build test as part of the
default x86 build in "test-meson-builds.sh".

Signed-off-by: Bruce Richardson <[email protected]>

show more ...


# f0f93a7a 24-Jan-2021 Dmitry Kozlyuk <[email protected]>

buildtools: use Python pmdinfogen

Use the same interpreter to run pmdinfogen as for other build scripts.
Adjust wrapper script accordingly and also don't suppress stderr from ar
and pmdinfogen. Add

buildtools: use Python pmdinfogen

Use the same interpreter to run pmdinfogen as for other build scripts.
Adjust wrapper script accordingly and also don't suppress stderr from ar
and pmdinfogen. Add configure-time check for elftools Python module for
Unix hosts.

Add pyelftools to CI configuration and build requirements for Linux and
FreeBSD. Windows targets are not currently using pmdinfogen.

Suppress ABI warnings about generated PMD information strings.

Signed-off-by: Dmitry Kozlyuk <[email protected]>
Acked-by: Neil Horman <[email protected]>
Tested-by: Jie Zhou <[email protected]>

show more ...


Revision tags: v21.02-rc1, v20.11, v20.11-rc5, v20.11-rc4
# e5b95003 12-Nov-2020 Bruce Richardson <[email protected]>

examples: fix flattening directory layout on install

By installing the examples one-by-one in a loop in the examples
meson.build file we effectively flattened out the structure of the examples
folde

examples: fix flattening directory layout on install

By installing the examples one-by-one in a loop in the examples
meson.build file we effectively flattened out the structure of the examples
folder and omitted some common and shared subfolders that were never
directly built. Instead, we can remove the loop and just have the whole
"examples" folder installed as-is in a single statement, preserving its
directory structure, and thereby fixing the build of a number of the
examples.

Fixes: 2daf565f91b5 ("examples: install as part of ninja install")
Cc: [email protected]

Signed-off-by: Bruce Richardson <[email protected]>

show more ...


Revision tags: v20.11-rc3, v20.11-rc2, v20.11-rc1, v20.08, v20.08-rc4, v20.08-rc3, v20.08-rc2, v20.08-rc1
# 68b1f1cd 04-Jul-2020 Bruce Richardson <[email protected]>

build: check AVX512 rather than binutils version

Rather than checking the binutils version number, which can lead to
unnecessary disabling of AVX512 if fixes have been backported to distro
versions,

build: check AVX512 rather than binutils version

Rather than checking the binutils version number, which can lead to
unnecessary disabling of AVX512 if fixes have been backported to distro
versions, we can instead check the output of "as" from binutils to see if
it is correct.

The check in the script uses the minimal assembly reproduction code posted
to the public bug tracker for gcc/binutils for those issues [1]. If the
binutils bug is present, the instruction parameters - specifically the
displacement parameter - will be different in the disassembled output
compared to the input. Therefore the check involves assembling a single
instruction and disassembling it again, checking that the two match.

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90028

Signed-off-by: Bruce Richardson <[email protected]>
Tested-by: Harry van Haaren <[email protected]>

show more ...


# de321d59 01-Jul-2020 Thomas Monjalon <[email protected]>

build: remove special handling for node library

The node library had a need of being linked as a whole
to make some constructors effective.
Now that all libraries are linked with --whole-archive,
th

build: remove special handling for node library

The node library had a need of being linked as a whole
to make some constructors effective.
Now that all libraries are linked with --whole-archive,
there is no need to have this library separate.

Fixes: e2db26f76673 ("build: always link whole DPDK static libraries")

Signed-off-by: Thomas Monjalon <[email protected]>
Tested-by: Jerin Jacob <[email protected]>

show more ...


# 11a47f9f 30-Jun-2020 Bruce Richardson <[email protected]>

build/pkg-config: move pkg-config file creation

Ahead of changes to rework the file, move the pkg-config file generation to
a new directory under buildtools. This allows the meson code to be
separat

build/pkg-config: move pkg-config file creation

Ahead of changes to rework the file, move the pkg-config file generation to
a new directory under buildtools. This allows the meson code to be
separated out from the main meson.build for simplicity, and also allows any
additional scripts for working with the pkg-config files to be placed there
too.

Signed-off-by: Bruce Richardson <[email protected]>
Acked-by: Luca Boccassi <[email protected]>
Acked-by: Sunil Pai G <[email protected]>

show more ...


# 607164e2 30-Jun-2020 Bruce Richardson <[email protected]>

build: remove unnecessary variable

Since all libraries are explicitly linked as part of a build, we no longer
need to track ones that should be always included for linking against apps.

Previously

build: remove unnecessary variable

Since all libraries are explicitly linked as part of a build, we no longer
need to track ones that should be always included for linking against apps.

Previously telemetry was special-cased for linking as it was not directly
needed by the linker when linking the apps, since they never called into it
directly. This meant that it could be forgotten when specifying the app
dependencies, and so the telemetry support would not work. This
special-casing was never needed for make as it always linked in all
libraries, as meson does now.

Signed-off-by: Bruce Richardson <[email protected]>
Acked-by: Luca Boccassi <[email protected]>
Acked-by: Sunil Pai G <[email protected]>

show more ...


Revision tags: v20.05, v20.05-rc4, v20.05-rc3, v20.05-rc2
# 44dfb297 30-Apr-2020 Bruce Richardson <[email protected]>

build: add arch-specific header path to global includes

The global include path, which is used by anything built before EAL,
points to the EAL header files so they utility macros etc. can be used
an

build: add arch-specific header path to global includes

The global include path, which is used by anything built before EAL,
points to the EAL header files so they utility macros etc. can be used
anywhere in DPDK. This path included the OS-specific EAL header files,
but not the architecture-specific ones. This patch moves the selection
of target architecture to the top-level meson.build file so that the
global include can reference that.

Signed-off-by: Bruce Richardson <[email protected]>
Reviewed-by: Keith Wiles <[email protected]>

show more ...


Revision tags: v20.05-rc1
# 13fcf8af 11-Apr-2020 Nithin Dabilpuram <[email protected]>

node: add logging and null node

Add log infra for node specific logging.
Also, add null rte_node that just ignores all the objects
directed to it.

Signed-off-by: Nithin Dabilpuram <ndabilpuram@marv

node: add logging and null node

Add log infra for node specific logging.
Also, add null rte_node that just ignores all the objects
directed to it.

Signed-off-by: Nithin Dabilpuram <[email protected]>
Signed-off-by: Pavan Nikhilesh <[email protected]>
Signed-off-by: Kiran Kumar K <[email protected]>

show more ...


# a083f8cc 27-Mar-2020 Thomas Monjalon <[email protected]>

eal: move OS-specific sub-directories

Since the kernel modules are moved to kernel/ directory,
there is no need anymore for the sub-directory eal/ in
linux/, freebsd/ and windows/.

Signed-off-by: T

eal: move OS-specific sub-directories

Since the kernel modules are moved to kernel/ directory,
there is no need anymore for the sub-directory eal/ in
linux/, freebsd/ and windows/.

Signed-off-by: Thomas Monjalon <[email protected]>
Acked-by: David Marchand <[email protected]>

show more ...


# 9c1e0dc3 27-Mar-2020 Thomas Monjalon <[email protected]>

eal: move common header files

The EAL API (with doxygen documentation) is moved from
common/include/ to include/, which makes more clear that
it is the global API for all environments and architectu

eal: move common header files

The EAL API (with doxygen documentation) is moved from
common/include/ to include/, which makes more clear that
it is the global API for all environments and architectures.

Note that the arch-specific and OS-specific include files are not
in this global include directory, but include/generic/ should
cover the doxygen documentation for them.

Signed-off-by: Thomas Monjalon <[email protected]>
Acked-by: David Marchand <[email protected]>

show more ...


Revision tags: v20.02, v20.02-rc4, v20.02-rc3, v20.02-rc2, v20.02-rc1, v19.11, v19.11-rc4
# 3eb485c6 23-Nov-2019 Bruce Richardson <[email protected]>

build: fix Windows build

While most windows apps can handle both "\" and "/" as path separators,
"more" is treating the "/" as the start of a command-line flag in this
case, causing errors.

Fixes:

build: fix Windows build

While most windows apps can handle both "\" and "/" as path separators,
"more" is treating the "/" as the start of a command-line flag in this
case, causing errors.

Fixes: cba806e07d6f ("build: change ABI versioning to global")

Signed-off-by: Bruce Richardson <[email protected]>
Reviewed-by: Ranjit Menon <[email protected]>
Tested-by: Pallavi Kadam <[email protected]>
Acked-by: Anatoly Burakov <[email protected]>

show more ...


Revision tags: v19.11-rc3, v19.11-rc2, v19.11-rc1, v19.08, v19.08-rc4, v19.08-rc3, v19.08-rc2, v19.08-rc1
# 8baad6f8 05-Jun-2019 Bruce Richardson <[email protected]>

build: print list of disabled components

When configuring with meson we print out a list of enabled components, but
it is also useful to list out the disabled components and the reasons why.

Signed

build: print list of disabled components

When configuring with meson we print out a list of enabled components, but
it is also useful to list out the disabled components and the reasons why.

Signed-off-by: Bruce Richardson <[email protected]>
Acked-by: Luca Boccassi <[email protected]>

show more ...


# 28188cee 14-May-2019 Marcin Smoczynski <[email protected]>

build: enable BSD features visibility for FreeBSD

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 su

build: enable BSD features visibility for FreeBSD

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 <[email protected]>
Acked-by: Konstantin Ananyev <[email protected]>

show more ...


Revision tags: v19.05, v19.05-rc4, v19.05-rc3, v19.05-rc2
# 4c773788 12-Apr-2019 Bruce Richardson <[email protected]>

build: generate Windows exports file

Rather than having a separate version.map file for linux/BSD and an
exports definition file for windows for each library, generate the
latter from the former aut

build: generate Windows exports file

Rather than having a separate version.map file for linux/BSD and an
exports definition file for windows for each library, generate the
latter from the former automatically at build time.

Signed-off-by: Bruce Richardson <[email protected]>

show more ...


# 85d7158e 17-May-2019 Bruce Richardson <[email protected]>

examples: fix install with empty meson parameter

While the examples were being installed into the appropriate install path
when processing the examples/meson.build file, that file was only processed

examples: fix install with empty meson parameter

While the examples were being installed into the appropriate install path
when processing the examples/meson.build file, that file was only processed
if the "examples" meson parameter was non-empty. Since we now do more than
just build the examples, we need to unconditionally process the file.

Fixes: 2daf565f91b5 ("examples: install as part of ninja install")
Cc: [email protected]

Signed-off-by: Bruce Richardson <[email protected]>
Acked-by: Luca Boccassi <[email protected]>

show more ...


# 12784d9b 02-May-2019 Bruce Richardson <[email protected]>

build: add libbsd to pkg-config file if enabled

If libbsd is enabled in DPDK, the strlcpy and strlcat functions in
rte_string_fns.h redirect to the varients in libbsd, only using the
fallbacks if it

build: add libbsd to pkg-config file if enabled

If libbsd is enabled in DPDK, the strlcpy and strlcat functions in
rte_string_fns.h redirect to the varients in libbsd, only using the
fallbacks if it is not enabled. Therefore, if libbsd is enabled, it needs
to be called out as a DPDK dependency in the pkgconfig file.

To ensure that we don't have undefined variables on non-Linux platforms, we
can remove the linux condition around the libbsd check - no harm comes in
looking for it on other OS, since it's an optional dependency.

Signed-off-by: Bruce Richardson <[email protected]>
Acked-by: Luca Boccassi <[email protected]>

show more ...


1234