This is follow-up to https://github.com/rustls/rustls-ffi/pull/274 that adds test coverage for using rustls with pkg-config and dynamic linking. A new Makefile.pkg-config is added that can be used on UNIX machines with pkg-config. It is a slimmed down copy of Makefile that:
Removes the development targets (format, etc).
Removes details specific to static linking.
Uses cargo cinstall for the install target.
Adds the correct CFLAGS/LDFLAGS that pkg-config tells us are necessary based on the .pc file that cargo-c writes.
Runs the integration tests with the dynamically linked client/server examples.
A new CI workflow (pkg-config.yaml) is added that only runs on ubuntu-latest (with both clang and gcc) that:
Installs stable rust.
Installs cargo-c.
Installs the lib to a tmp dir using cargo-c.
Builds the client/server examples using pkg-config to dynamically link rustls.
Verify the binaries aren't statically linking rustls.
Run the client/server integration tests.
The existing cargo-c coverage is removed from the test.yaml workflow since it's now duplicative with this new workflow.
This is follow-up to https://github.com/rustls/rustls-ffi/pull/274 that adds test coverage for using rustls with pkg-config and dynamic linking. A new
Makefile.pkg-config
is added that can be used on UNIX machines withpkg-config
. It is a slimmed down copy ofMakefile
that:format
, etc).cargo cinstall
for the install target.CFLAGS
/LDFLAGS
thatpkg-config
tells us are necessary based on the.pc
file thatcargo-c
writes.A new CI workflow (
pkg-config.yaml
) is added that only runs on ubuntu-latest (with bothclang
andgcc
) that:cargo-c
.cargo-c
.pkg-config
to dynamically linkrustls
.rustls
.The existing
cargo-c
coverage is removed from thetest.yaml
workflow since it's now duplicative with this new workflow.