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 08B97A056A for ; Thu, 11 Mar 2021 09:07:13 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E0A8140689; Thu, 11 Mar 2021 09:07:12 +0100 (CET) Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com [64.147.123.25]) by mails.dpdk.org (Postfix) with ESMTP id 1265A4003D; Thu, 11 Mar 2021 09:07:11 +0100 (CET) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.west.internal (Postfix) with ESMTP id 8499D2EE9; Thu, 11 Mar 2021 03:07:09 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Thu, 11 Mar 2021 03:07:09 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s=fm3; bh= 17Srgok2e0ihH4zvwINXzlXgaXs1pjxDqDDFQCEdnrE=; b=NRAuLaySN79Q2BF+ R/T4gu/Xewb7IwS9uqN/XuMwRYy2uhfIXgqua948lIcitRaceaMbXWCDM6s/DbAT a9o8cJf5ycpZL2S4L4QYSNitp+aYmmhPvCV06+ytnWrEPebeLMxj2BPQb6w2DsLQ RAwC9DzINZYXJZ+PAlIZiP12/eNG2G0BA62yry4yLf6/G20f3XvNCGHsoAfd8SVc qw4MgMCocJxMHfRMF/pH9koOOQodg1y1Is9QiXtirFQju060z+clkFBdb3GCQupy /agr6OvfjU3trk3o/TFNALH7BB85xjAneNWVHig9OkR4JKrh8oKswVi1wEuNktNG ubQ+0g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=17Srgok2e0ihH4zvwINXzlXgaXs1pjxDqDDFQCEdn rE=; b=DFgOcOwx18rBz0mcrA663jyafD1XPL00iO/eT8AZgchfKFmnnfW4rvIr1 89mNOUdgdYf65DLxMYNLUQCpw5AIUoXi0mJEsjmXGXTvXv3+YPKF5OOSf+MsDnNg FWppQ3WmfcvkUPMR/h5PnBoFjKg0QJAt0lL85ktxd4TujZ6K6ptQQFmYssqCuTz5 F8ZmYyoHgZwoYY0+JD8wFYHayqb0vz4bMUL6XiXFvVpT2Sa2JcqkxuD1DYaSTH+b bD6OBnFpNlAzivkRtTP1blMgk3k/aPQnJXhWzLf/OPrBc7DG+e37ahg7+nIfVDb7 dbtNwvRsVPNTVM4KgHWJcvWrXJSQA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudduledguddugecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvffufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhm rghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenuc ggtffrrghtthgvrhhnpeegjeffhffhgefhteevffegffetleevkefhgffhfeegvdelueev teffgfduleevhfenucffohhmrghinhepghhithhhuhgsrdgtohhmnecukfhppeejjedrud efgedrvddtfedrudekgeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgr ihhlfhhrohhmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvght X-ME-Proxy: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 249A924005D; Thu, 11 Mar 2021 03:07:08 -0500 (EST) From: Thomas Monjalon To: Jinkun Geng Cc: Stephen Hemminger , "ci@dpdk.org" , "users@dpdk.org" Date: Thu, 11 Mar 2021 09:07:06 +0100 Message-ID: <2129484.qSt5SVLHR2@thomas> In-Reply-To: References: <3003733.ML7hmrJNhH@thomas> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-ci] [dpdk-users] Integration of DPDK into Bazel X-BeenThere: ci@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK CI discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ci-bounces@dpdk.org Sender: "ci" 11/03/2021 01:17, Jinkun Geng: > Do you mean all components must be built inside bazel? > >> Sort of. We have a project that is built on bazel. Now, we need to use the core functions of DPDK to replace the network primitives in our project, so that we can improve the performance of our project. You don't need to compile DPDK inside your project. Just install the package or compile it externally. > You are not able to call meson/ninja commands from bazel? > >> I have found any examples using meson inside bazel. According to my understanding, Bazel and meson are two parallel building systems and I haven't seen anyone could use them together. > > How do you do with other libraries? Does bazel usually reimplement what is packaged with autotools? > >> That is the reason why https://github.com/bazelment exists. If some libraries are popular and do not support bazel, then these guys will help generate some modified version of these libraries, so that developers can integrate the library into bazel. It is not completely reimplementation, but it indeed needs much extraction to adapt the previous library so that it can be used in bazel. > Unfortunately, these guys stop supporting DPDK atop bazel now. That's crazy trying to replace the build system of projects. Even if you find new volunteers, it will not be always up-to-date. You should look for how to link an existing library from bazel. > ________________________________ From: Thomas Monjalon > 11/03/2021 00:42, Jinkun Geng: > > For any project using bazel, if we want to use DPDK, then we need to compile DPDK stuff into bazel by ourselves. It is not a trivial thing and the bazelment (https://github.com/bazelment/dpdk) guys have spent much effort extracting the core files in DPDK and write the BUILD files for DPDK. But now it seems they have stopped maintaining that repo since DPDK 16.04. Even in that version, it has some runtime failure when we use DPDK in our bazel project. > > Sorry I don't know bazel. > Do you mean all components must be built inside bazel? > You are not able to call meson/ninja commands from bazel? > How do you do with other libraries? > Does bazel usually reimplement what is packaged with autotools? > > > > ________________________________ > From: Thomas Monjalon > > 09/03/2021 05:11, Jinkun Geng: > > > Too bad. :< > > > > Why is it too bad? > > How the choice of an internal build system > > can affect other projects? > > > > > > From: Stephen Hemminger > > > On Tue, 9 Mar 2021 01:32:16 +0000 > > > Jinkun Geng wrote: > > > > > > > Hi, all. > > > > Since bazel building system is becoming more and more popular, sometimes we need to integrate DPDK library into a bazel project. However, it seems there is no much support for bazel from DPDK community. > > > > Why the DPDK community would support building with Bazel? > > What is the benefit? > > Bazel projects cannot just link with DPDK using pkg-config? > > > > > > > > The only support at https://github.com/bazelment/dpdk has been outdated. Based on our experience, it can only compile successfully with dpdk-16.04 (i.e. the bazel-16.04 branch). Now DPDK has developed to DPDK 21.02, but the bazel support fails to catch up. > > > > > > > > It would be great if the experts in DPDK community can provide some portable BUILD files to facilitate the integration of the newest DPDK into bazel project (just like bazelment). After all, writing the bazel files can be really challenging, especially if we do not have a very deep understanding of the whole DPDK codes. > > > > > > > > Jinkun > > > > > > DPDK is on meson now. The core team is unlikely to change build systems again. > > > > DPDK supports library standards for compiling, installing and linking. > > What else is needed? > > > > > >