<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font size="2"><span style="font-size:11pt">Do you mean all components must be built inside bazel?</span></font></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font size="2"><span style="font-size:11pt">>> 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.
<br>
</span></font></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font size="2"><span style="font-size:11pt"><br>
</span></font></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font size="2"><span style="font-size:11pt">You are not able to call meson/ninja commands from bazel?</span></font></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font size="2"><span style="font-size:11pt">>> 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.
<br>
</span></font></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font size="2"><span style="font-size:11pt"><br>
</span></font></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font size="2"><span style="font-size:11pt">How do you do with other libraries? Does bazel usually reimplement what is packaged with autotools?</span></font></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font size="2"><span style="font-size:11pt">>> That is the reason why <a href="https://github.com/bazelment" id="LPlnk">
https://github.com/bazelment</a> 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.
<br>
</span></font></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font size="2"><span style="font-size:11pt">Unfortunately, these guys stop supporting DPDK atop bazel now.
<br>
</span></font></div>
<div class="_Entity _EType_OWALinkPreview _EId_OWALinkPreview _EReadonly_1"></div>
<br>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<font size="2"><span style="font-size:11pt"></span></font><br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Thomas Monjalon <thomas@monjalon.net><br>
<b>Sent:</b> Wednesday, March 10, 2021 4:06 PM<br>
<b>To:</b> Jinkun Geng <gjk1994@stanford.edu><br>
<b>Cc:</b> Stephen Hemminger <stephen@networkplumber.org>; ci@dpdk.org <ci@dpdk.org>; users@dpdk.org <users@dpdk.org><br>
<b>Subject:</b> Re: [dpdk-ci] [dpdk-users] Integration of DPDK into Bazel</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">11/03/2021 00:42, Jinkun Geng:<br>
> 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 (<a href="https://github.com/bazelment/dpdk">https://github.com/bazelment/dpdk</a>) 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.<br>
<br>
Sorry I don't know bazel.<br>
Do you mean all components must be built inside bazel?<br>
You are not able to call meson/ninja commands from bazel?<br>
How do you do with other libraries?<br>
Does bazel usually reimplement what is packaged with autotools?<br>
<br>
<br>
> ________________________________<br>
From: Thomas Monjalon <thomas@monjalon.net><br>
> 09/03/2021 05:11, Jinkun Geng:<br>
> > Too bad. :<<br>
> <br>
> Why is it too bad?<br>
> How the choice of an internal build system<br>
> can affect other projects?<br>
> <br>
> <br>
> From: Stephen Hemminger <stephen@networkplumber.org><br>
> > On Tue, 9 Mar 2021 01:32:16 +0000<br>
> > Jinkun Geng <gjk1994@stanford.edu> wrote:<br>
> ><br>
> > > Hi, all.<br>
> > > 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.<br>
> <br>
> Why the DPDK community would support building with Bazel?<br>
> What is the benefit?<br>
> Bazel projects cannot just link with DPDK using pkg-config?<br>
> <br>
> <br>
> > > The only support at <a href="https://github.com/bazelment/dpdk">https://github.com/bazelment/dpdk</a> 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.<br>
> > ><br>
> > > 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.<br>
> > ><br>
> > > Jinkun<br>
> ><br>
> > DPDK is on meson now. The core team is unlikely to change build systems again.<br>
> <br>
> DPDK supports library standards for compiling, installing and linking.<br>
> What else is needed?<br>
<br>
<br>
<br>
<br>
<br>
</div>
</span></font></div>
</body>
</html>