[Mesa-dev] [EXTERNAL] Cross-compile from Linux to Windows

Jesse Natalie jenatali at microsoft.com
Mon Nov 9 15:48:55 UTC 2020

What version of Mesa are you trying to build? Assuming you're using a version newer than 19.3 (with this change https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/986), the default LLVM discovery should be to use CMake. That means it looks for an installed LLVM in the CMake search dirs.

If you don't have https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4555, you will also need to explicitly request a static version of LLVM (-Dshared-llvm=false).


-----Original Message-----
From: Federico Dossena <info at fdossena.com> 
Sent: Monday, November 9, 2020 7:34 AM
To: Jesse Natalie <jenatali at microsoft.com>; mesa-dev at lists.freedesktop.org
Subject: Re: [EXTERNAL] [Mesa-dev] Cross-compile from Linux to Windows

Thank you for your reply.

That's where I got stuck on Windows, I can't get it to find LLVM.

I built LLVM without problems for both x86 and x86_64 in 2 separate folders, but when I try to build mesa, even with --cmake-prefix-path, it doesn't find it, it always say "Neither a subproject directory nor a llvm.wrap file was found".

I tried moving my LLVM files in the subprojects/llvm folder and that didn't fix it, I don't know what to do.

Any suggestion?

On 2020-11-09 16:06, Jesse Natalie wrote:
> Have you tried using Meson on Windows, instead of cross-compiling? If you run it from a Visual Studio command prompt, it should just work out of the box, at least for x86. I believe you'll need to use a cross file for amd64, but the only thing you'd need to specify is the host architecture.
> Though I guess if you're building LLVMPipe you'll need to point it to LLVM. In my experience, adding "--cmake-prefix-path" to the Meson command line should work well.
> -Jesse
> -----Original Message-----
> From: mesa-dev <mesa-dev-bounces at lists.freedesktop.org> On Behalf Of 
> Federico Dossena
> Sent: Saturday, November 7, 2020 4:14 AM
> To: mesa-dev at lists.freedesktop.org
> Subject: [EXTERNAL] [Mesa-dev] Cross-compile from Linux to Windows
> I'm sorry to bother you in the dev list but it seems to be the only one with activity so it seems like the best place to ask.
> I maintain some Mesa builds for Windows. These are builds of libgl-gdi with llvmpipe, for both x86 and x86_64; in other words, they're opengl32.dll files that users can drop into their game/application to have software rendering for OpenGL as a workaround for broken drivers or as a fallback for older systems.
> I've always used scons on Windows and msvc as a compiler to make these builds, but now that scons is being deprecated I've been trying to use meson and ninja to cross-compile from Linux (amd64) to Windows (both x86 and x86_64) without much success. I can get regular Linux builds without issues though.
> I tried reading the Mesa documentation on cross-compiling but it's very minimal and it's partially obsolete so I thought it would be best to ask you directly: how do I make these builds? Explain like I'm 5, basically.
> Thanks,
> Federico
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist
> s.freedesktop.org%2Fmailman%2Flistinfo%2Fmesa-dev&data=04%7C01%7Cj
> enatali%40microsoft.com%7Cb5f74e617d8f41709c6008d884c52096%7C72f988bf8
> 6f141af91ab2d7cd011db47%7C1%7C1%7C637405330339535954%7CUnknown%7CTWFpb
> GZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0
> %3D%7C3000&sdata=Bff7tju87yGZyyCuqmOB%2BFaKPkBphxCEmLNw2X8E%2FFg%3
> D&reserved=0

More information about the mesa-dev mailing list