[Mesa-dev] Meson mesademos (Was: [RFC libdrm 0/2] Replace the build system with meson)
Dylan Baker
dylan at pnwbakers.com
Mon Mar 27 16:24:54 UTC 2017
Quoting Jose Fonseca (2017-03-26 14:53:50)
> I've pushed the branch to mesa/demos, so we can all collaborate without
> wasting time crossporting patches between private branches.
>
> https://cgit.freedesktop.org/mesa/demos/commit/?h=meson
>
> Unfortunately, I couldn't actually go very far until I hit a wall, as
> you can see in the last commit message.
>
>
> The issue is that Windows has no standard paths for dependencies
> includes/libraries (like /usr/include or /usr/lib), nor standard tool
> for dependencies (no pkgconfig). But it seems that Meson presumes any
> unknown dependency can be resolved with pkgconfig.
>
>
> The question is: how do I tell Meson where the GLEW headers/library for
> MinGW are supposed to be found?
>
>
> I know one solution might be Meson Wraps. Is that the only way?
>
>
> CMake makes it very easy to do it (via Cache files as explained in my
> commit message.) Is there a way to achieve the same, perhaps via
> cross_file properties or something like that?
>
>
> Jose
I think there are two ways you could solve this:
Wraps are probably the most generically correct method; what I mean by that is
that a proper wrap would solve the problem for everyone, on every operating
system, forever. That said, I took a look at GLEW and it doesn't look like a
straightforward project to port to meson, since it uses a huge pile of gnu
makefiles for compilation, without any autoconf/cmake/etc. I still might take a
swing at it since I want to know how hard it would be to write a wrap file for
something like GLEW (and it would probably be a pretty useful project to wrap)
where a meson build system is likely never going to go upstream.
The other option I think you can use use is cross properties[1], which I believe
is the closest thing meson has to cmake's cache files.
I've pushed a couple of commits, the last one implements the cross properties
idea, which gets the build farther, but then it can't find the glut headers,
and I don't understand why, since "cc.has_header('GL/glut')" returns true. I
still think that wraps are a better plan, but I'll have to spend some time today
working on a glew wrap.
[1] https://github.com/mesonbuild/meson/wiki/Cross-compilation (at the bottom
under the heading "Custom Data")
Dylan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170327/d0fed59e/attachment.sig>
More information about the mesa-dev
mailing list