docs: update meson docs for windows
Acked-by: Kristian H. Kristensen <hoegsberg@google.com>
This commit is contained in:
@@ -37,9 +37,9 @@
|
|||||||
<h4>Build system</h4>
|
<h4>Build system</h4>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://mesonbuild.com">meson</a> is required when building on *nix platforms.
|
<li><a href="https://mesonbuild.com">meson</a> is required when building on *nix platforms and is supported on windows.
|
||||||
<li><a href="http://www.scons.org/">SCons</a> is required for building on
|
<li><a href="http://www.scons.org/">SCons</a> is an alternative for building on
|
||||||
Windows and optional for Linux (it's an alternative to meson.)
|
Windows and Linux.
|
||||||
</li>
|
</li>
|
||||||
<li>Android Build system when building as native Android component. Meson
|
<li>Android Build system when building as native Android component. Meson
|
||||||
is used when when building ARC.
|
is used when when building ARC.
|
||||||
@@ -109,8 +109,7 @@ the packaging tool used by your distro.
|
|||||||
|
|
||||||
<p>
|
<p>
|
||||||
Meson is the latest build system in mesa, it is currently able to build for
|
Meson is the latest build system in mesa, it is currently able to build for
|
||||||
*nix systems like Linux and BSD, macOS, Haiku, and will be able to build for
|
*nix systems like Linux and BSD, macOS, Haiku, and Windows.
|
||||||
windows as well.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -121,6 +120,14 @@ The general approach is:
|
|||||||
ninja -C builddir/
|
ninja -C builddir/
|
||||||
sudo ninja -C builddir/ install
|
sudo ninja -C builddir/ install
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<p>On windows you can also use the visual studio backend</p>
|
||||||
|
<pre>
|
||||||
|
meson builddir --backend=vs
|
||||||
|
cd builddir
|
||||||
|
msbuild mesa.sln /m
|
||||||
|
</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Please read the <a href="meson.html">detailed meson instructions</a>
|
Please read the <a href="meson.html">detailed meson instructions</a>
|
||||||
for more information
|
for more information
|
||||||
|
@@ -31,9 +31,13 @@
|
|||||||
<p><strong>Mesa's Meson build system is generally considered stable and ready
|
<p><strong>Mesa's Meson build system is generally considered stable and ready
|
||||||
for production.</strong></p>
|
for production.</strong></p>
|
||||||
|
|
||||||
<p>The Meson build of Mesa is tested on Linux, macOS, Cygwin and Haiku, FreeBSD,
|
<p><strong>Mesa requires Meson >= 0.46.0 to build.</strong>
|
||||||
|
|
||||||
|
<p>The Meson build of Mesa is tested on Linux, macOS, Windows, Cygwin, Haiku, FreeBSD,
|
||||||
DragonflyBSD, NetBSD, and should work on OpenBSD.</p>
|
DragonflyBSD, NetBSD, and should work on OpenBSD.</p>
|
||||||
|
|
||||||
|
<h4>Unix-like OSes</h4>
|
||||||
|
|
||||||
<p>If Meson is not already installed on your system, you can typically
|
<p>If Meson is not already installed on your system, you can typically
|
||||||
install it with your package installer. For example:</p>
|
install it with your package installer. For example:</p>
|
||||||
<pre>
|
<pre>
|
||||||
@@ -44,8 +48,6 @@ or
|
|||||||
sudo dnf install meson # Fedora
|
sudo dnf install meson # Fedora
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<p><strong>Mesa requires Meson >= 0.46.0 to build.</strong>
|
|
||||||
|
|
||||||
Some older versions of meson do not check that they are too old and will error
|
Some older versions of meson do not check that they are too old and will error
|
||||||
out in odd ways.
|
out in odd ways.
|
||||||
</p>
|
</p>
|
||||||
@@ -55,6 +57,30 @@ If it's not already installed, use apt-get or dnf to install
|
|||||||
the <em>ninja-build</em> package.
|
the <em>ninja-build</em> package.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<h4>Windows</h4>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You will need to install python3 and meson as a module using pip. This is
|
||||||
|
because we use python for generating code, and rely on external modules
|
||||||
|
(mako). You also need pkg-config (a hard dependency of meson), flex, and bison.
|
||||||
|
|
||||||
|
The easiest way to install everything you need is with <a
|
||||||
|
href="https://chocolatey.org/">chocolatey</a>.
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
choco install python3 winflexbison pkgconfiglite
|
||||||
|
</pre>
|
||||||
|
<p>You can even use chocolatey to install mingw and ninja (ninja can be used with MSVC as well)</p>
|
||||||
|
<pre>
|
||||||
|
choco install ninja mingw
|
||||||
|
</pre>
|
||||||
|
<p>Then install meson using pip</p>
|
||||||
|
<pre>
|
||||||
|
py -3 -m pip install meson mako
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
You may need to add the python3 scripts directory to your path for meson.
|
||||||
|
|
||||||
<h2 id="basic">2. Basic Usage</h2>
|
<h2 id="basic">2. Basic Usage</h2>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -152,6 +178,29 @@ Meson does not do this. Instead, you will need do this:
|
|||||||
ninja -C build/ xmlpool-pot xmlpool-update-po xmlpool-gmo
|
ninja -C build/ xmlpool-pot xmlpool-update-po xmlpool-gmo
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<h4>Windows specific instructions</h4>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
On windows you have a couple of choices for compilers. If you installed mingw
|
||||||
|
with chocolatey and want to use ninja you should be able to open any shell
|
||||||
|
and follow the instructions above. If you want to you MSVC, clang-cl, or ICL
|
||||||
|
(the Intel Compiler), read on.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Both ICL and MSVC come with shell environments, the easiest way to use meson
|
||||||
|
with these it to open a shell. For clang-cl you will need to open an MSVC
|
||||||
|
shell, and then override the compilers, either using a <a
|
||||||
|
href="https://mesonbuild.com/Native-environments.html">native file</a>, or
|
||||||
|
with the CC and CXX environment variables.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
All of these compilers are tested and work with ninja, but if you want visual
|
||||||
|
studio integration or you just like msbuild, passing
|
||||||
|
<code>--backend=vs</code> to meson will generate a visual studio solution. If
|
||||||
|
you want to use ICL or clang-cl with the vsbackend you will need meson 0.52.0
|
||||||
|
or greater. Older versions always use the microsoft compiler.
|
||||||
|
</p>
|
||||||
|
|
||||||
<h2 id="advanced">3. Advanced Usage</h2>
|
<h2 id="advanced">3. Advanced Usage</h2>
|
||||||
|
|
||||||
<dl>
|
<dl>
|
||||||
|
Reference in New Issue
Block a user