Eric Engestrom <e...@engestrom.ch> writes: > On 2019-03-08 at 03:42, Brian Paul <bri...@vmware.com> wrote: >> Add new Introduction and Advanced Usage sections. >> Spell out a few more details, like "ninja install". >> Improve the layout around example commands. >> Fix grammatical errors and tighten up the text. >> Explain the --prefix option. > > Thanks! I left a couple comments below, but this is: > Reviewed-by: Eric Engestrom <e...@engestrom.ch> > >> --- >> docs/contents.html | 2 +- >> docs/meson.html | 138 >> +++++++++++++++++++++++++++++++++++++++-------------- >> 2 files changed, 104 insertions(+), 36 deletions(-) >> >> diff --git a/docs/contents.html b/docs/contents.html >> index 6364776..619ac3d 100644 >> --- a/docs/contents.html >> +++ b/docs/contents.html >> @@ -42,8 +42,8 @@ >> <li><a href="download.html" target="_parent">Downloading / Unpacking</a> >> <li><a href="install.html" target="_parent">Compiling / Installing</a> >> <ul> >> - <li><a href="autoconf.html" target="_parent">Autoconf</a></li> >> <li><a href="meson.html" target="_parent">Meson</a></li> >> + <li><a href="autoconf.html" target="_parent">Autoconf >> (deprecated)</a></li> >> </ul> >> </li> >> <li><a href="precompiled.html" target="_parent">Precompiled Libraries</a> >> diff --git a/docs/meson.html b/docs/meson.html >> index f21479c..f9ae669 100644 >> --- a/docs/meson.html >> +++ b/docs/meson.html >> @@ -17,65 +17,98 @@ >> <h1>Compilation and Installation using Meson</h1> >> >> <ul> >> + <li><a href="#intro">Introduction</a></li> >> <li><a href="#basic">Basic Usage</a></li> >> + <li><a href="#advanced">Advanced Usage</a></li> >> <li><a href="#cross-compilation">Cross-compilation and 32-bit >> builds</a></li> >> </ul> >> >> -<h2 id="basic">1. Basic Usage</h2> >> +<h2 id="intro">1. Introduction</h2> >> >> -<p><strong>The Meson build system is generally considered stable and ready >> -for production</strong></p> >> +<p>For general information about Meson see the >> +<a href="http://mesonbuild.com/">Meson website</a>.</p> >> >> -<p>The meson build is tested on Linux, macOS, Cygwin and Haiku, >> FreeBSD, >> +<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, >> DragonflyBSD, NetBSD, and should work on OpenBSD.</p> >> >> +<p>If Meson is not already installed on your system, you can typically >> +install it with your package installer. For example:</p> >> +<pre> >> +sudo apt-get install meson # Ubuntu >> +</pre> >> +or >> +<pre> >> +sudo dnf install meson # Fedora >> +</pre> >> + >> <p><strong>Mesa requires Meson >= 0.45.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> >> >> +<p>You'll also need <a href="https://ninja-build.org/">Ninja</a>. >> +If it's not already installed, use apt-get or dnf to install >> +the <em>ninja-build</em> package. >> +</p> >> + >> +<h2 id="basic">2. Basic Usage</h2> >> + >> <p> >> The meson program is used to configure the source directory and >> generates >> either a ninja build file or Visual Studio® build files. The latter >> must >> -be enabled via the <code>--backend</code> switch, as ninja is the >> default backend on all >> -operating systems. Meson only supports out-of-tree builds, and must be >> passed a >> +be enabled via the <code>--backend</code> switch, as ninja is the >> default >> +backend on all >> +operating systems. >> +</p> >> + >> +<p> >> +Meson only supports out-of-tree builds, and must be passed a >> directory to put built and generated sources into. We'll call that >> directory >> -"build" for examples. >> +"build" here. >> </p> >> >> +<p>Basic configuration is done with:</p> >> + >> <pre> >> - meson build/ >> +meson build/ >> </pre> >> >> <p> >> -To see a description of your options you can run <code>meson >> configure</code> >> -along with a build directory to view the selected options for. This will >> show >> -your meson global arguments and project arguments, along with their defaults >> -and your local settings. >> +This will create the build directory. >> +If any dependencies are missing, you can install them, or try to remove >> +the dependency with a Meson configuration option (see below). >> +</p> >> + >> +<p> >> +To review the options which Meson chose, run: >> </p> >> +<pre> >> +meson configure build/ >> +</pre> >> >> <p> >> -Meson does not currently support listing options before configure a build >> -directory, but this feature is being discussed upstream. >> +Meson does not currently support listing configuration options before >> +running "meson build/" but this feature is being discussed upstream. >> For now, we have a <code>bin/meson-options.py</code> script that prints >> the options for you. >> If that script doesn't work for some reason, you can always look in the >> <code>meson_options.txt</code> file at the root of the project. >> </p> >> >> -<pre> >> - meson configure build/ >> -</pre> >> - >> <p> >> -With additional arguments <code>meson configure</code> is used to change >> -options on already configured build directory. All options passed to this >> -command are in the form <code>-D "command"="value"</code>. >> +With additional arguments <code>meson configure</code> can be used to change >> +options for a previously configured build directory. >> +All options passed to this command are in the form >> +<code>-D "command"="value"</code>. > > I know you didn't write this bit, but can I suggest s/command/option/ ? > >> +For example: >> </p> >> >> <pre> >> - meson configure build/ -Dprefix=/tmp/install -Dglx=true >> +meson configure build/ -Dprefix=/tmp/install -Dglx=true >> </pre> >> >> <p> >> @@ -88,33 +121,68 @@ and brackets to represent an empty list (<code>-D >> platforms=[]</code>). >> >> <p> >> Once you've run the initial <code>meson</code> command successfully you can >> use >> -your configured backend to build the project. With ninja, the -C option can >> be >> -be used to point at a directory to build. >> +your configured backend to build the project in your build directory: >> +</p> >> + >> +<pre> >> +ninja -C build/ >> +</pre> >> + >> +<p> >> +The next step is to install the Mesa libraries, drivers, etc. >> +This also finishes up some final steps of the build process (such as >> creating >> +symbolic links for drivers). To install: >> </p> >> >> <pre> >> - ninja -C build/ >> +ninja -C build/ install >> </pre> >> >> <p> >> -Without arguments, it will produce libGL.so and/or several other libraries >> -depending on the options you have chosen. Later, if you want to rebuild for >> a >> +Later, if you want to rebuild for a >> different configuration, you should run <code>ninja clean</code> before > > I'm not sure this is needed?
Not needed. meson actually gets this right, unlike autotools.
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev