From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C4B8C4545E; Fri, 14 Jun 2024 17:16:10 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 90C6940B95; Fri, 14 Jun 2024 17:16:10 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id E214A402D0 for ; Fri, 14 Jun 2024 17:16:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1718378169; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sUUtxH7+chUKTRep5/0CHeTWjS2D4w5uBx/bXsVWrNY=; b=gq0go60JvyLEBHRxON3tm57VGlIQkOvY4qDApavrBfxtfvAsbfjrzsdQn+RjCz9Hj9Fxqe e9rpJlcP4LyiFZnRlxRam2VdAICGLKDvEfIYwQkOTOrG0fXVORtifjHlYRg3S93CaKqNIq ezDb0yK1WQRTsblU0KAr7UDCDKN0lGw= Received: from mail-lj1-f197.google.com (mail-lj1-f197.google.com [209.85.208.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-410-zS5WPDBiMzKcXFzcyaLQ3A-1; Fri, 14 Jun 2024 11:16:08 -0400 X-MC-Unique: zS5WPDBiMzKcXFzcyaLQ3A-1 Received: by mail-lj1-f197.google.com with SMTP id 38308e7fff4ca-2ebe629c467so20220001fa.3 for ; Fri, 14 Jun 2024 08:16:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718378166; x=1718982966; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sUUtxH7+chUKTRep5/0CHeTWjS2D4w5uBx/bXsVWrNY=; b=bKhNHx5R8nFYJuUSfbBkrR8D6l7hqKopnK5YbX081th6jAmFAya0l4ivLekv7IAYgG 1GJCcct0WX6CMsiCp6Nc0U4cU3UMXlKOZIuN/5shq2tYDgSxMpbac5+/EcfT+ciwCLiZ MoRNiAMuUtNSbiCUbTGNPsXnVo2AKez3/cD5iNvBRW8BA8r8JjdDFxoPuScIN1v7TMw+ 1A5jPmjed6Zay5iqo0ogQ3I1qhzyb966+6HmxjLS7uhs8ZNj+Cr6IzbBQzGLB1apPy/o ZgmZ/SdKk5XCTiL072HV1y/8IH28z8h5a0IIPT9BxtpZgdramIFivhQ/k74KxZQ6qt/A POkg== X-Gm-Message-State: AOJu0Yx1vYov1aVLPyzDR17FxOiHMLqyKzZxxibZmOJuyX/0oC4K76AQ ozJo28Zc7OyyY9IkPlvvIZCXaUX4heXV22FAC7k2mgRZo//AI25XRIKf5qaB2Vq1XcoEw0+tCNR Lp+pPK1YA53ZRaOIRaQ+ePYvAOU8QhqqhURzist3HPOsUCaz4MRfJ/yyyitsGpVsulUlMyTn0Ry 3ohCkVXdqUMiggEbk= X-Received: by 2002:a2e:9b10:0:b0:2eb:d77a:850c with SMTP id 38308e7fff4ca-2ec0e5b5301mr27524061fa.4.1718378166588; Fri, 14 Jun 2024 08:16:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFJn9QFRcF2FPEz5CjTTw775ErqeI5Ebs4Kz+cKZM7EYny5KmsjazYZ/WnuaS81bRxJjQmrfeF9Cb6fUPMVSDE= X-Received: by 2002:a2e:9b10:0:b0:2eb:d77a:850c with SMTP id 38308e7fff4ca-2ec0e5b5301mr27523741fa.4.1718378166189; Fri, 14 Jun 2024 08:16:06 -0700 (PDT) MIME-Version: 1.0 References: <1710445477-23848-1-git-send-email-roretzla@linux.microsoft.com> <1713201168-2233-1-git-send-email-roretzla@linux.microsoft.com> In-Reply-To: From: David Marchand Date: Fri, 14 Jun 2024 17:15:54 +0200 Message-ID: Subject: Re: [PATCH v5 0/2] build and install only one library type on Windows To: Tyler Retzlaff Cc: dev@dpdk.org, Bruce Richardson , Harman Kalra X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Fri, Jun 14, 2024 at 5:00=E2=80=AFPM David Marchand wrote: > > On Mon, Apr 15, 2024 at 7:13=E2=80=AFPM Tyler Retzlaff > 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 b= y > > MSVC can be used without triggering errors in LLVM and MinGW builds. > > = For Windows only inst= all 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 wi= th > > the application using the same version of the compiler & linker. Becau= se > > 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=3Dv24.03 DPDK_BUILD_TEST_EXAMPLES=3Dall DPDK_BUILD_TEST_DIR=3D$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=3Dnative: 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 --=20 David Marchand