From: Dariusz Sosnowski <dsosnowski@nvidia.com>
To: Gregory Etelson <getelson@nvidia.com>
Cc: <bruce.richardson@intel.com>, <dev@dpdk.org>,
<mkashani@nvidia.com>, <thomas@monjalon.net>,
<harry.van.haaren@intel.com>, <igootorov@gmail.com>,
<stephen@networkplumber.org>
Subject: Re: [PATCH v3] rust: support raw DPDK API
Date: Tue, 18 Mar 2025 10:12:40 +0100 [thread overview]
Message-ID: <20250318091240.hou7mwcjexlqlgqi@ds-vm-debian.local> (raw)
In-Reply-To: <20250318084723.qb53zqp4yelscdgy@ds-vm-debian.local>
On Tue, Mar 18, 2025 at 09:51:05AM +0100, Dariusz Sosnowski wrote:
> > +use std::process::Command;
> > +
> > +pub fn main() {
> > + let mut pkgconfig = Command::new("pkg-config");
> > +
> > + match pkgconfig.args(["--libs", "libdpdk"]).output() {
> > + Ok(output) => {
> > + let stdout = String::from_utf8_lossy(&output.stdout)
> > + .trim_end()
> > + .to_string();
> > + for token in stdout.split_ascii_whitespace().filter(|s| !s.is_empty()) {
> > + if token.starts_with("-L") {
> > + println!("cargo::rustc-link-search=native={}", &token[2..]);
> > + } else if token.starts_with("-l") {
> > + println!("cargo::rustc-link-lib={}", &token[2..]);
> > + }
> > + }
> > + println!("cargo:rerun-if-changed=build.rs");
> > + }
> > + Err(error) => {
> > + panic!("failed to read libdpdk package: {:?}", error);
> > + }
> > + }
> > +}
>
>
> What do you think about using pkg_config crate in build scripts?
> (https://crates.io/crates/pkg-config)
>
> This would allow to remove manual command execution and output parsing with the following:
>
> fn main() {
> pkg_config::probe_library("libdpdk").expect("Unable to find libdpdk");
> }
>
> Also, what do you think about moving this logic to dpdk crate?
> This way dependency resolution would be shared by all examples/applications
> which use the dpdk crate.
I just noticed that similar proposal was raised by Harry previously.
Sorry for the duplication :)
next prev parent reply other threads:[~2025-03-18 9:13 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-06 13:37 [PATCH] rust: support " Gregory Etelson
2025-03-06 19:26 ` Van Haaren, Harry
2025-03-07 16:56 ` Etelson, Gregory
2025-03-07 15:54 ` Van Haaren, Harry
2025-03-07 16:20 ` Bruce Richardson
2025-03-07 18:15 ` Etelson, Gregory
2025-03-07 18:00 ` Etelson, Gregory
2025-03-08 14:28 ` Igor Gutorov
2025-03-08 19:14 ` Etelson, Gregory
2025-03-10 15:31 ` Stephen Hemminger
2025-03-12 5:21 ` Etelson, Gregory
2025-03-08 18:50 ` [PATCH v2] rust: support raw " Gregory Etelson
2025-03-10 16:13 ` Van Haaren, Harry
2025-03-10 16:25 ` Bruce Richardson
2025-03-12 17:19 ` Thomas Monjalon
2025-03-14 19:12 ` Etelson, Gregory
2025-03-10 15:00 ` [PATCH] rust: support " Stephen Hemminger
2025-03-12 5:12 ` Etelson, Gregory
2025-03-10 16:18 ` Stephen Hemminger
2025-03-10 16:30 ` Bruce Richardson
2025-03-12 14:30 ` Etelson, Gregory
2025-03-13 7:56 ` Igor Gutorov
2025-03-12 15:29 ` Igor Gutorov
2025-03-12 17:24 ` Thomas Monjalon
2025-03-14 18:38 ` [PATCH v3] rust: support raw " Gregory Etelson
2025-03-18 8:51 ` Dariusz Sosnowski
2025-03-18 9:12 ` Dariusz Sosnowski [this message]
2025-03-22 10:59 ` [PATCH v4] " Gregory Etelson
2025-03-22 17:39 ` Bruce Richardson
2025-03-27 5:51 ` Etelson, Gregory
2025-03-27 16:22 ` Bruce Richardson
2025-03-28 18:30 ` Etelson, Gregory
2025-03-27 8:23 ` DPDK for rust Morten Brørup
2025-03-27 9:00 ` Etelson, Gregory
2025-03-27 16:17 ` Bruce Richardson
2025-03-28 18:09 ` Etelson, Gregory
2025-03-28 19:25 ` Stephen Hemminger
2025-03-31 9:11 ` Bruce Richardson
2025-03-31 10:26 ` Luca Boccassi
2025-04-01 13:08 ` Etelson, Gregory
2025-03-31 9:03 ` Thomas Monjalon
2025-03-31 9:10 ` Bruce Richardson
2025-04-08 14:58 ` [RFC PATCH] add rust binding support to DPDK Bruce Richardson
2025-04-08 15:05 ` Bruce Richardson
2025-04-10 5:28 ` Etelson, Gregory
2025-04-11 13:13 ` Van Haaren, Harry
2025-04-11 15:39 ` Etelson, Gregory
2025-04-11 16:22 ` Van Haaren, Harry
2025-04-13 8:07 ` Etelson, Gregory
2025-04-13 17:09 ` Owen Hilyard
2025-04-17 11:11 ` Van Haaren, Harry
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250318091240.hou7mwcjexlqlgqi@ds-vm-debian.local \
--to=dsosnowski@nvidia.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=getelson@nvidia.com \
--cc=harry.van.haaren@intel.com \
--cc=igootorov@gmail.com \
--cc=mkashani@nvidia.com \
--cc=stephen@networkplumber.org \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).