On Fri, Jun 14, 2024 at 5:00 PM David Marchand
<david.march...@redhat.com> wrote:
>
> On Mon, Apr 15, 2024 at 7:13 PM Tyler Retzlaff
> <roret...@linux.microsoft.com> wrote:
> >
> > MSVC is the only compiler that can produce usable shared libraries for
> > DPDK on Windows because of the use of exported TLS variables.
> >
> > Disable building of shared libraries with LLVM and MinGW so that
> > remaining __declspec macros needed for the functional libraries built by
> > MSVC can be used without triggering errors in LLVM and MinGW builds.
> >                                                                             
> >                                                  For Windows only install 
> > the default_library type to avoid confusion.
> > Windows builds cannot build both shared and static in a single pass so
> > install only the functional variant
> >
> > MSVC does not guarantee any kind of compatibility for static libraries so
> > they should not be packaged and instead they should be rebuilt along with
> > the application using the same version of the compiler & linker.  Because
> > of this we have chosen to build only one library type at a time instead of
> > compiling twice to produce both types in a single pass.
> >
> > thanks Bruce for all the discussion/feedback!
> >
> > Tyler Retzlaff (2):
> >   build: build only one library type on Windows
> >   buildtools: when building static library use static deps
> >
> >  buildtools/chkincs/meson.build |  5 ++--
> >  config/meson.build             | 24 +++++++++++++++
> >  drivers/meson.build            | 59 ++++++++++++++++---------------------
> >  lib/meson.build                | 67 
> > ++++++++++++++++--------------------------
> >  4 files changed, 78 insertions(+), 77 deletions(-)
>
> Series applied, thanks.

Hum, actually no, I dropped this series.
It breaks mingw builds.

dmarchan@dmarchan:~/git/pub/dpdk.org/main$ DPDK_ABI_REF_VERSION=v24.03
DPDK_BUILD_TEST_EXAMPLES=all DPDK_BUILD_TEST_DIR=$HOME/builds/main
./devtools/test-meson-builds.sh
ninja: Entering directory `/home/dmarchan/builds/main/build-gcc-shared'
ninja: no work to do.
ninja: Entering directory `/home/dmarchan/builds/main/build-clang-shared'
ninja: no work to do.
ninja: Entering directory `/home/dmarchan/builds/main/build-x86-generic'
ninja: no work to do.
ninja: Entering directory `/home/dmarchan/builds/main/build-32b'
ninja: no work to do.
DEPRECATION: "pkgconfig" entry is deprecated and should be replaced by
"pkg-config"
The Meson build system
Version: 1.3.2
Source dir: /home/dmarchan/git/pub/dpdk.org/main
Build dir: /home/dmarchan/builds/main/build-x86-mingw
Build type: cross build
Program cat found: YES (/usr/bin/cat)
Project name: DPDK
Project version: 24.07.0-rc0
C compiler for the host machine: ccache x86_64-w64-mingw32-gcc (gcc
13.2.1 "x86_64-w64-mingw32-gcc (GCC) 13.2.1 20230728 (Fedora MinGW
13.2.1-5.fc39)")
C linker for the host machine: x86_64-w64-mingw32-gcc ld.bfd 2.40-4
C compiler for the build machine: ccache cc (gcc 13.3.1 "cc (GCC)
13.3.1 20240522 (Red Hat 13.3.1-1)")
C linker for the build machine: cc ld.bfd 2.40-14
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: native
Target machine cpu family: x86_64
Target machine cpu: native
Message: ## Building in Developer Mode ##
Program x86_64-w64-mingw32-pkg-config found: YES
Program check-symbols.sh found: YES
(/home/dmarchan/git/pub/dpdk.org/main/buildtools/check-symbols.sh)
Program options-ibverbs-static.sh found: YES
(/home/dmarchan/git/pub/dpdk.org/main/buildtools/options-ibverbs-static.sh)
Program python3 found: YES (/usr/bin/python3)
Program cat found: YES (/usr/bin/cat)
Compiler for C supports arguments -march=native: YES
Checking for size of "void *" : 8
Checking for size of "void *" : 8
Library m found: YES
Library numa found: NO
Library fdt found: NO
Library execinfo found: NO
Has header "execinfo.h" : NO
Found pkg-config: YES (/usr/bin/x86_64-w64-mingw32-pkg-config) 1.9.5
Run-time dependency libarchive found: NO (tried pkgconfig)
Run-time dependency libbsd found: NO (tried pkgconfig)
Run-time dependency jansson found: NO (tried pkgconfig)
Run-time dependency openssl found: NO (tried pkgconfig)
Run-time dependency libpcap found: NO (tried pkgconfig)
Library wpcap found: NO
Compiler for C supports arguments -Wcast-qual: YES
Compiler for C supports arguments -Wdeprecated: YES
Compiler for C supports arguments -Wformat: YES
Compiler for C supports arguments -Wformat-nonliteral: YES
Compiler for C supports arguments -Wformat-security: YES
Compiler for C supports arguments -Wmissing-declarations: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Wnested-externs: YES
Compiler for C supports arguments -Wold-style-definition: YES
Compiler for C supports arguments -Wpointer-arith: YES
Compiler for C supports arguments -Wsign-compare: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -Wundef: YES
Compiler for C supports arguments -Wwrite-strings: YES
Compiler for C supports arguments -Wno-address-of-packed-member: YES
Compiler for C supports arguments -Wno-packed-not-aligned: YES
Compiler for C supports arguments -Wno-missing-field-initializers: YES
Compiler for C supports arguments -Wno-zero-length-bounds: YES
Program x86_64-w64-mingw32-objdump found: YES
Compiler for C supports arguments -mavx512f: YES
Checking if "AVX512 checking" compiles: YES
Fetching value of define "__SSE4_2__" : 1
Fetching value of define "__AES__" : 1
Fetching value of define "__AVX__" : 1
Fetching value of define "__AVX2__" : 1
Fetching value of define "__AVX512BW__" : 1
Fetching value of define "__AVX512CD__" : 1
Fetching value of define "__AVX512DQ__" : 1
Fetching value of define "__AVX512F__" : 1
Fetching value of define "__AVX512VL__" : 1
Fetching value of define "__PCLMUL__" : 1
Fetching value of define "__RDRND__" : 1
Fetching value of define "__RDSEED__" : 1
Fetching value of define "__VPCLMULQDQ__" : 1
Compiler for C supports arguments -Wno-format-truncation: YES
Message: lib/log: Defining dependency "log"
Message: lib/kvargs: Defining dependency "kvargs"
Message: lib/argparse: Defining dependency "argparse"
Message: lib/telemetry: Defining dependency "telemetry"
Library dbghelp found: YES
Library setupapi found: YES
Library ws2_32 found: YES
Checking for function "getentropy" : NO
Message: lib/eal: Defining dependency "eal"

lib/meson.build:218:21: ERROR: declare_dependency keyword argument
'dependencies' was of type array[dict] but should have been
array[Dependency | InternalDependency]

A full log can be found at
/home/dmarchan/builds/main/build-x86-mingw/meson-logs/meson-log.txt


-- 
David Marchand

Reply via email to