MayaPosch / NymphRPC

Versatile and fast remote procedure call library.
BSD 3-Clause "New" or "Revised" License
62 stars 9 forks source link

Use pkg-config #11

Open meator opened 1 week ago

meator commented 1 week ago

I have started working on a PR to address #10 properly. I have noticed that all external libraries are hardcoded. This is (again) not portable and it makes using custom libraries that are not system installed practically impossible. Systems such as Nix and GNU Guix depend on this functionality.

I propose using pkg-config in all Nymph project's Makefiles. What are your thoughts on this?

Some systems use pkgconf or other alternatives to pkg-config. I would make the executable overridable with PKG_CONFIG, but it should be considered when picking a default value for the executable.

meator commented 1 week ago

poco, the main dependency of your projects, doesn't currently output pkg-config files. The support for .pc files is included in its develop-experimental branch. This means that using pkg-config in Nymph projects would't really improve things.

The main way poco wants to be discovered is through CMake discovery files. This means that the only two ways of doing this correctly is by using CMake, or preferably Meson (which also supports CMake's dependency lookup without depending on CMake).

With Make, there is no good way to link Nymph projects to a cross compiled libpoco. This complicates cross compiling NymphRPC and related projects.