From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 61C9FA0554; Tue, 18 Feb 2020 01:02:40 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4B7E11DA76; Tue, 18 Feb 2020 01:02:38 +0100 (CET) Received: from mail-lf1-f65.google.com (mail-lf1-f65.google.com [209.85.167.65]) by dpdk.org (Postfix) with ESMTP id 16B761D989 for ; Tue, 18 Feb 2020 01:02:37 +0100 (CET) Received: by mail-lf1-f65.google.com with SMTP id f24so13111480lfh.3 for ; Mon, 17 Feb 2020 16:02:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=EciFVNIjVdWjvCaMM8NSxGCMI6F20iMFPg4OpPE5ZNc=; b=pc/duiKSbVSFiJH3j7wxg7zu8RMIo3Nu7CypMukWU5UlDYOpw58gqiZSy8xWZfqL5Y QbBOtfxccI3aOE9Wh3Kf3PW/BvtLr3yeKax9/w1/CipIukuCRW0tg9Uc8/mHXc+w8NO0 iJ+y5hWnm5w3bgZjoNnd1XLW+onZrzbb9eu2pCbqFEiKzhCpSCJYasNaxpRKhcDfZfMu hGlHo7UTPJQtVsrjbJv7piNnZ1KkXrgz2Kl2WEh0zngjK2UGz+bdksg4tAsJXEhgFFSE moA3Bo7q6fANkfwN+D+7eV73UZT/VUK27mlOLFulMK35kRYqSpTY7tZsc6x7ArbL0Ngf B/SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=EciFVNIjVdWjvCaMM8NSxGCMI6F20iMFPg4OpPE5ZNc=; b=HREjsyC+hBMXl5FevE1axIvWSZyP4jIPT3F2SMcJyTJrYIpdJJ7RJtfmimZk2OUdnu dUOr+TMWOwLgiTPGqHOuGzJlMW9zf0By8p7Lp+3l3u8bvf15jTmG9us4roA8lX0gQ8wB YhoeiwSUWvlk0jV/SdoBve/1pJ6JbMmEGBbCNASrv520IMGIboyZ/XrpCQh5zNwh6NcR xQIORw1Bp6f6gmVJuxqk7Xq2r/O8y7HdexOPFPQC2lehNz6e8YTIJwZKthcR8YEd5hOA 2JrA6fYeFsbguzCESRZY0h4nn/GWuRHWok52FFbl9KwN/ehNEKBAE42LCzywt0hpJCzF vR5w== X-Gm-Message-State: APjAAAXMs8BY43ZiATOprzZtKGYdGF4zfywaSMuRbTzUFrRbB3J9hJzF 8GwLz1W8N5rIBz0oC0Yjjt4NJLi4SCQ= X-Google-Smtp-Source: APXvYqwcSr5c+mgj4L3KZ+bvPc/S8C2FylyBxiNFX8ec4n+d+xid6Dtv8ih5G3/XFK+UAHBuIigJnw== X-Received: by 2002:ac2:5216:: with SMTP id a22mr9040951lfl.18.1581984156077; Mon, 17 Feb 2020 16:02:36 -0800 (PST) Received: from localhost.localdomain (broadband-37-110-65-23.ip.moscow.rt.ru. [37.110.65.23]) by smtp.googlemail.com with ESMTPSA id r20sm1068864lfi.91.2020.02.17.16.02.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Feb 2020 16:02:35 -0800 (PST) From: Dmitry Kozlyuk To: dev@dpdk.org Cc: Dmitry Kozlyuk , Bruce Richardson , Thomas Monjalon , Olivier Matz , Harini Ramakrishnan , Omar Cardona , Pallavi Kadam , Ranjit Menon , John McNamara , Marko Kovacevic Date: Tue, 18 Feb 2020 03:02:22 +0300 Message-Id: <20200218000229.86621-1-dmitry.kozliuk@gmail.com> X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v3 0/7] MinGW-w64 support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patch series add support for building DPDK using MinGW-w64. MinGW-w64 provides GNU toolchain and independent platform SDK on Windows. It also supports cross-compilation to Windows from POSIX systems by providing cross tollchains and libraries [0]. It does NOT emulate a full POSIX environment, like Cygwin or MSYS do. There are advantages in using MinGW-w64 in addition to Clang: 1. Cross-compilation out-of-the-box. MinGW-w64 is provides a pthread implementation, GNU getopt, and Windows platform SDK. 2. Easier porting of POSIX applications using DPDK to Windows, because application code can use the same benefits as mentioned above. 3. Having both primary compilers enabled on Windows provides more diagnostics and generally prevents non-portable code. [0]: http://mingw-w64.org v3 Changes: Rebase onto the latest Windows EAL. Prevent format attribute conflict with upcoming v20.05 patches. Remove redundant CFLAGS from Meson. Remove links to Meson bugtracker from docs (PR merged into upstream). Fix Clang warnings using about GNU options. v2 Changes: Add patch to use lowercase system header filenames. Move Meson cross-file for x86 to arch directory. Change wording in comments. Add Meson version warning in documentation. --- Dmitry Kozlyuk (7): eal: introduce portable format attribute eal/windows: use lowercase filenames for system headers eal/windows: support builing with MinGW-w64 build: MinGW-w64 support for Meson build: add cross-file for MinGW-w64 doc: guide for Windows build using MinGW-w64 build: fix linker warnings with Clang on Windows config/meson.build | 26 +++++++-- config/x86/meson_mingw.txt | 14 +++++ doc/guides/windows_gsg/build_dpdk.rst | 63 ++++++++++++++++++--- lib/librte_cmdline/cmdline.h | 4 +- lib/librte_eal/common/include/rte_common.h | 17 +++++- lib/librte_eal/common/include/rte_debug.h | 2 +- lib/librte_eal/common/include/rte_devargs.h | 2 +- lib/librte_eal/common/include/rte_log.h | 4 +- lib/librte_eal/meson.build | 3 + lib/librte_eal/windows/eal/eal.c | 6 +- lib/librte_eal/windows/eal/include/getopt.h | 4 ++ lib/librte_eal/windows/eal/include/rte_os.h | 6 +- lib/meson.build | 8 ++- 13 files changed, 134 insertions(+), 25 deletions(-) create mode 100644 config/x86/meson_mingw.txt -- 2.25.0