[Mesa-dev] Building Mesa for Windows using Visual Studio

Emil Velikov emil.l.velikov at gmail.com
Fri Apr 3 06:01:42 PDT 2015


Hi Marius.

Thank you for the write-up.

On 03/04/15 12:34, Predut, Marius wrote:
> How I build mesa on windows:
> 
>  
> 
> 1.install Microsoft vs 2013(not 2012 or less).
> 
>  
> 
> 2.install last python 2.7 : https://www.python.org/downloads/
> 
> install pywin32 from
> http://heanet.dl.sourceforge.net/project/pywin32/pywin32/Build%20219/pywin32-219.win32-py2.7.exe
> 
> download win flex-bison from http://sourceforge.net/projects/winflexbison/
> 
> and unzip into c:\win_flex_bison
> 
>  
> 
> 3.Environment settings.
> 
> Add these near the top of your PATH:
> 
> C:\Python27
> 
> C:\Python27\Scripts
> 
> c:\win_flex_bison
> 
> if you use proxy add FTP_PROXY and HTTP_PROXY env. variables.
> 
>  
> 
>  
> 
> 4.install pip by downloading get-pip.py file from:
> 
>  https://pip.pypa.io/en/latest/installing.html
> 
> and then run:
> 
> python get-pip.py --proxy="[user:passwd@]proxy.server:port"
> 
>  
> 
> 5.Add mako, lxml and NumPy python modules by pip
> 
> pip install Mako
> 
> pip install lxml
> 
> pip install NumPy (not mandatory I think)
> 
>  
> 
> 6.install scons from
> http://sourceforge.net/projects/scons/?source=typ_redirect
> 
>  
> 
>  
> 
> 7.Build mesa:
> 
> scons build=release machine=x86 platform=windows libgl-gdi
> 
> or simple run: scons.
> 
> This should create an opengl32.dll in
> build\windows-x86\gallium\targets\libgl-gdi
> 
>  
> 
>  
> 
> OBS:
> 
>  
> 
> Why vs 2013 and not vs 2012:
> 
> the VS 2012  partially implement C++ TR1 C99 standard library already
> used into the  latest upstream mesa.
> 
> (http://blogs.msdn.com/b/vcblog/archive/2013/07/19/c99-library-support-in-visual-studio-2013.aspx)
> 
> In vs 2012 the math.h don't include rint, rintf, rintl library support
> used in mesa even if the MSDN say contrary :
> 
> https://msdn.microsoft.com/nl-nl/dn465165.)
> 
> Mesa uses those API in mesa\src\util\rounding.h.
> 
Just a couple of small details - mesa has a fall-back for the mentioned
functions (plus others) in $(top)/include/*h.

That said, I believe that the overall consensus is that building mesa
with MSVC 2008, is the bare minimum, with MSVC 2013 strongly
recommended. Afaik, as the VMWare guys give us the go ahead we'll drop
all the workarounds for pre-2013 versions and bump the requirement.

Cheers,
Emil



More information about the mesa-dev mailing list