From patchwork Thu Feb 27 04:25:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Kozlyuk X-Patchwork-Id: 66060 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9894BA055A; Thu, 27 Feb 2020 05:25:50 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 70E231BFB1; Thu, 27 Feb 2020 05:25:50 +0100 (CET) Received: from mail-lj1-f193.google.com (mail-lj1-f193.google.com [209.85.208.193]) by dpdk.org (Postfix) with ESMTP id 0DE051BF8D for ; Thu, 27 Feb 2020 05:25:49 +0100 (CET) Received: by mail-lj1-f193.google.com with SMTP id d10so1708246ljl.9 for ; Wed, 26 Feb 2020 20:25:49 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=W0KnGHjxxO2y6+jyr/4aiorCZ/o8tcECpI6jEMFNRmg=; b=I5OzTmvf8aBsUMZb4ythzzG+03XHHSoa6gjAPhyr+Hel60mLhPbtqGvSRhRqYoBkJS 4Ij1B92e3Z51pGjtI9ForAaRPvjQZonG559hPybIOuE2IZHOkKwZRzZR2U33qQB45Q6Q 60v/NANkOWGg5YlcQsG5UHGU301d3Y4g/4riNqs5c+GIfmXKOmk9YAEauwlx8z1ucpqc QDd37t2M4QIBxnIjC9p8xec+/uswz5FSyCQpm4H5pAAV8gj1yskRc6FzzEoY066c+n/l ayd8MUdcGhR5Z5+SckAj5HNI3NSYIDkAa1ChQ4CbOUo4SdsdryYt7rZbszRuaQQKH0JG 3tlQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=W0KnGHjxxO2y6+jyr/4aiorCZ/o8tcECpI6jEMFNRmg=; b=bvujMVMWLOLew95ikvJEwXvTZtuWk9jARCfPsb5iNF+jN1Ec3PUR/JVB8yAAC4Kej3 OhgQeEBKvvxNw8xSOz9KGtKnvjsY4Kk+1lNYUXiGYulILSIfnIdd345nxeR1LaUU9FSm g+nxaWL7S61FQy01QqP52/QozzSJzLZt1UfvzY7MkZWDPlkkO11zZzxarAd+uMaaLoJ5 aSgTjT2e9CVS9f5FIsHreRHk7RnkASJu+pdBkT/GLWsOHDA3l6rutGGWrVn0BSEu+myb 2khIXJl43/8TLajZ0hAsL1ytcZG+YYRe6mpLbSQrGgXhXmIzDFFBQJkrObx9AyPYILIk 3z1g== X-Gm-Message-State: ANhLgQ0jMdFkCg57cQJ69k435HKaQaeO03fLt0tUG9JgmM6uywL+iE3O ukXQprwA4uRDSMj0gV76zbdzzbB4j6o= X-Google-Smtp-Source: ADFU+vuEuF6ptVpwR/BqBVrEtTETmmztXy9niXxldDwbC7/l3dzz+GNFmiSx6OWA6metTi15Eb7qaA== X-Received: by 2002:a2e:7c08:: with SMTP id x8mr1413640ljc.185.1582777548204; Wed, 26 Feb 2020 20:25:48 -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 g21sm2224350ljj.53.2020.02.26.20.25.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2020 20:25:47 -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: Thu, 27 Feb 2020 07:25:30 +0300 Message-Id: <20200227042537.187459-1-dmitry.kozliuk@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200218000229.86621-1-dmitry.kozliuk@gmail.com> References: <20200218000229.86621-1-dmitry.kozliuk@gmail.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 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 v4 Changes: Fix Windows headers include case. Recommend the latest Meson in docs (build fixed with 0.53.2). 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 | 13 ++++ doc/guides/windows_gsg/build_dpdk.rst | 62 +++++++++++++++++--- 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/pthread.h | 2 +- lib/librte_eal/windows/eal/include/rte_os.h | 6 +- lib/meson.build | 8 ++- 14 files changed, 133 insertions(+), 26 deletions(-) create mode 100644 config/x86/meson_mingw.txt Tested-by: William Tu Acked-by: Pallavi Kadam Tested-by: Pallavi Kadam