Re: [PATCH V4 1/8] libgpiod: Add libgpiod-sys rust crate

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01-08-22, 23:56, Kent Gibson wrote:
> The Rust bindings themselves should be building against the local build
> tree, so well known relative paths.

Right, when we build everything with "make" we better use the already
built library. I agree.

> For users, require they have libgpiod installed and use pkg_config to
> locate it?
> 
> Is that what you mean?

Since we need the latest APIs, we can't trust the packages provided by
distributions for now. i.e. "apt-get install libgpiod-dev" won't
install the latest stuff we need.

The only other option to get it working in environments like
rust-vmm-containers (which tests the vhost-device crate currently) is
to build / install libgpiod first. As I have understood, people don't
really like it there (Maintainers of rust-vmm-containers) as this will
have further dependencies and require more tools.

I even tried to generate the libgpiod-sys bindings on the fly first,
but it required more tooling and there were issues with Musl build
specifically. They suggested to use prebuild bindings as a solution,
which I have now.

What about we have two separate features:

- "default" one will be used with "make" and will use prebuild library.

- "generate" one will be used by user crates and we will build the
  files there like it is done now.

> Else, how do other Rust crates wrapping dynamic C libraries do it?

I think for standard libraries that are stable, the -sys crates just
contain the pre-built bindings and wrappers and expect the library to
be already installed.

-- 
viresh



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux