[Mesa-dev] Meson mesademos (Was: [RFC libdrm 0/2] Replace the build system with meson)

Jose Fonseca jfonseca at vmware.com
Mon Apr 10 12:11:28 UTC 2017


On 08/04/17 23:07, Jose Fonseca wrote:
> On 08/04/17 00:24, Dylan Baker wrote:
>> Quoting Jose Fonseca (2017-03-30 15:19:31)
>>>
>>> Cool.  BTW, another alternative (for things like LLVM) would  be to
>>> chain build systems (ie, have a wrap that builds LLVM invoking CMake)
>>>
>>> Jose
>>>
>>
>> I have no idea whether chaining would work or not, that would be an
>> interesting
>> thing to try.
>>
>> I have force pushed to the meson branch. Things are building on Linux
>> with both
>> mingw, gcc, and clang. I've wrapped freeglut and glew, and pulled out
>> the epoxy
>> stuff. The mingw cross build does rely on an unmerged patch (that is
>> approved,
>> just awaiting merge) for mingw windres support in the cross file. That
>> shouldn't
>> be a problem for msvc or building natively with mingw.
>>
>> I have not done any of the msvc work or either mesa-demos or for
>> freeglut or
>> glew. Hopefully this gets things far enough along that you can get
>> msvc going
>> when you have some time.
>>
>> Dylan
>>
>
> Thanks.  I hit an errors early on with MSVC.
>
> I fixed a few, but I didn't spend much time on it.  Instead I added
> AppVeyor integration so anybody can experiment.
>
>
> https://ci.appveyor.com/project/jrfonseca/mesademos/build/job/qysf73s4975i2w36
>
>
>   https://cgit.freedesktop.org/~jrfonseca/mesademos/log/?h=meson-appveyor
>
> I had to push to a private git repos since I'd need a FDO admin to
> install Appveyor hook on the official mesa demos repo.  I'll get that
> going but it'll probably take time.
>
> Given you use Github, it should be trivial to hook Appveyor on your
> mesademos repos in github.
>
> Jose

I've been trying to get native mingw to build.  (It's still important to 
prototype mesademos with MSVC to ensure meson is up to the task, but 
long term, I think I'll push for dropping MSVC support from mesademos 
and piglit, since MinGW is fine for this sort of samples/tests programs.)

However native MinGW fails poorly:

[78/1058] Static linking library src/util/libutil.a
FAILED: src/util/libutil.a
cmd /c del /f /s /q src/util/libutil.a && ar @src/util/libutil.a.rsp
Invalid switch - "util".

So the problem here is that meson is passing `/` separator to the 
cmd.exe del command, instead of `\`.

Full log 
https://ci.appveyor.com/project/jrfonseca/mesademos/build/job/6rpen94u7yq3q69n


TBH, this is basic windows functionality, and if it can't get it right 
then it shakes my belief that's it's getting proper windows testing...


I think part of the problem is that per 
https://github.com/mesonbuild/meson/blob/master/.appveyor.yml Meson is 
only being tested with MSYS (which provides a full-blow POSIX 
environment on Windows), and not with plain MinGW.


IMHO, MSYS is a hack to get packages that use autotools to build with 
MinGW.   Packages that use Windows aware build systems (like Meson is 
trying to be) should stay as _far_ as possible from MSYS....


Jose


More information about the mesa-dev mailing list