diff options
author | Dylan Baker <[email protected]> | 2019-06-11 11:25:31 -0700 |
---|---|---|
committer | Dylan Baker <[email protected]> | 2019-10-10 16:33:05 -0700 |
commit | 44c5e634a5cd568306d42777af6c660fbbb5773e (patch) | |
tree | f0497dccf5bbf010cb3fe55b820e6785ef420893 /docs | |
parent | 638868bbff5fca0263df3d8fa400f980fb738e10 (diff) |
docs: update meson docs for windows
Acked-by: Kristian H. Kristensen <[email protected]>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/install.html | 17 | ||||
-rw-r--r-- | docs/meson.html | 55 |
2 files changed, 64 insertions, 8 deletions
diff --git a/docs/install.html b/docs/install.html index 4e3d0e4979b..83c5ebfb115 100644 --- a/docs/install.html +++ b/docs/install.html @@ -37,9 +37,9 @@ <h4>Build system</h4> <ul> -<li><a href="https://mesonbuild.com">meson</a> is required when building on *nix platforms. -<li><a href="http://www.scons.org/">SCons</a> is required for building on -Windows and optional for Linux (it's an alternative to meson.) +<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 an alternative for building on +Windows and Linux. </li> <li>Android Build system when building as native Android component. Meson is used when when building ARC. @@ -109,8 +109,7 @@ the packaging tool used by your distro. <p> 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 -windows as well. +*nix systems like Linux and BSD, macOS, Haiku, and Windows. </p> <p> @@ -121,6 +120,14 @@ The general approach is: ninja -C builddir/ sudo ninja -C builddir/ install </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> Please read the <a href="meson.html">detailed meson instructions</a> for more information diff --git a/docs/meson.html b/docs/meson.html index 0291f90658b..013ed325684 100644 --- a/docs/meson.html +++ b/docs/meson.html @@ -31,9 +31,13 @@ <p><strong>Mesa's Meson build system is generally considered stable and ready 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> +<h4>Unix-like OSes</h4> + <p>If Meson is not already installed on your system, you can typically install it with your package installer. For example:</p> <pre> @@ -44,8 +48,6 @@ or sudo dnf install meson # Fedora </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 out in odd ways. </p> @@ -55,6 +57,30 @@ If it's not already installed, use apt-get or dnf to install the <em>ninja-build</em> package. </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> <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 </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> <dl> |