pkgconf is hard to build on windows #118
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
pkgconf is easy to build on windows if you want to use cygwin, msys, or the like...
but hard to build on mostly 'bare' windows. In my case, I have cygwin available
for running scripts, but use native tools to build all C/C++ binaries.
For me, it would be nice if there were an easy way to build pkgconf with native Windows tools
(where native includes nice things like cmake and ninja).
So, https://github.com/dankegel/pkgconf/tree/cmakeify is a draft WIP to add a cmake port. I'll speak up when it's ready to consider merging.
OK, it's passing all tests on Linux, and all but four tests on Windows; it's pretty slow on
Windows, too.
libs_circular[12] fail strangely, getting the order wrong; I don't understand the code there.
simple jams a path in the output; I don't understand the code there.
virtual_variable is broken because get_default_pkgconfig_path() does some
monkey business.
I also haven't verified that it has ; rather than : in directory lists on windows everywhere it should.
Here's the output at the moment:
Sorry, for some reason Github is not sending me notifications on pkgconf right now.
I agree, I think bringing pkgconf to Windows is the next step.
Hmm, those test failures are likely just due to differences in the order the windows build loads files. Those tests are kind of fragile and really I just use them as smoketesting to see if there is a regression in how the solver orders packages in it's solution. I pushed a fix for the provides/simple test. virtual_variable test likely needs to be skipped on Windows.
It would probably be nice to include an "official" CMake macro for querying pkgconf alongside the CMake files, we should install it on the autotools side too.
I think we would want to keep the autotools build system for now for non-Windows, though.
The Makefile.am needs to contain the CMake files in EXTRA_DIST, so they are included in the release tarballs. I use
make distcheck
to handle this.Overall it looks OK, but as previously mentioned, we likely want to retain the autotools build system. Once the minor concerns I mentioned on your commits (check github notifications maybe they work for you :)) are addressed, I'll merge it.
actually, thinking on it more, we definitely need to retain the autotools build system, as most distributions aren't going to want to make CMake a bootstrap component.
I merged the WIP branch and am going to clean it up a little.
I think that we should add support for
--msvc-syntax
using a fragment translation method.I guess we will use Meson instead, as that seems more popular on the UNIX side, and will allow us to have one build system that everyone is (un)happy with.