docs: replace autotools intructions with meson equivalent
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
This commit is contained in:
parent
1936bad9ec
commit
46d6883a13
|
@ -26,12 +26,8 @@
|
|||
</p>
|
||||
|
||||
<p>
|
||||
More extensive error checking is done when Mesa is compiled with the
|
||||
DEBUG symbol defined. You'll have to edit the Make-config file and
|
||||
add -DDEBUG to the CFLAGS line for your system configuration. You may
|
||||
also want to replace any optimization flags with the -g flag so you can
|
||||
use your debugger. After you've edited Make-config type 'make clean'
|
||||
before recompiling.
|
||||
More extensive error checking is done in DEBUG builds
|
||||
(<code>--buildtype debug</code> for meson, <code>build=debug</code> for scons).
|
||||
</p>
|
||||
<p>
|
||||
In your debugger you can set a breakpoint in _mesa_error() to trap Mesa
|
||||
|
|
|
@ -70,7 +70,7 @@ To add a new GL extension to Mesa you have to do at least the following.
|
|||
<li>
|
||||
The dispatch tests check_table.cpp and dispatch_sanity.cpp
|
||||
should be updated with details about the new extensions functions. These
|
||||
tests are run using 'make check'
|
||||
tests are run using 'meson test'
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
|
|
@ -33,13 +33,16 @@ directly dispatched to the drivers.</p>
|
|||
|
||||
<ol>
|
||||
<li>
|
||||
<p>Run <code>configure</code> with the desired client APIs and enable
|
||||
the driver for your hardware. For example</p>
|
||||
<p>Configure your build with the desired client APIs and enable
|
||||
the driver for your hardware. For example:</p>
|
||||
|
||||
<pre>
|
||||
$ ./configure --enable-gles1 --enable-gles2 \
|
||||
--with-dri-drivers=... \
|
||||
--with-gallium-drivers=...
|
||||
$ meson configure \
|
||||
-D egl=true \
|
||||
-D gles1=true \
|
||||
-D gles2=true \
|
||||
-D dri-drivers=... \
|
||||
-D gallium-drivers=...
|
||||
</pre>
|
||||
|
||||
<p>The main library and OpenGL is enabled by default. The first two options
|
||||
|
@ -61,7 +64,7 @@ or more EGL drivers.</p>
|
|||
time</p>
|
||||
|
||||
<dl>
|
||||
<dt><code>--enable-egl</code></dt>
|
||||
<dt><code>-D egl=true</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>By default, EGL is enabled. When disabled, the main library and the drivers
|
||||
|
@ -69,19 +72,11 @@ will not be built.</p>
|
|||
|
||||
</dd>
|
||||
|
||||
<dt><code>--with-egl-driver-dir</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>The directory EGL drivers should be installed to. If not specified, EGL
|
||||
drivers will be installed to <code>${libdir}/egl</code>.</p>
|
||||
|
||||
</dd>
|
||||
|
||||
<dt><code>--with-platforms</code></dt>
|
||||
<dt><code>-D platforms=...</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>List the platforms (window systems) to support. Its argument is a comma
|
||||
separated string such as <code>--with-platforms=x11,drm</code>. It decides
|
||||
separated string such as <code>-D platforms=x11,drm</code>. It decides
|
||||
the platforms a driver may support. The first listed platform is also used by
|
||||
the main library to decide the native platform.</p>
|
||||
|
||||
|
@ -90,15 +85,15 @@ the main library to decide the native platform.</p>
|
|||
and <code>haiku</code>.
|
||||
The <code>android</code> platform can either be built as a system
|
||||
component, part of AOSP, using <code>Android.mk</code> files, or
|
||||
cross-compiled using appropriate <code>configure</code> options.
|
||||
cross-compiled using appropriate options.
|
||||
The <code>haiku</code> platform can only be built with SCons.
|
||||
Unless for special needs, the build system should
|
||||
select the right platforms automatically.</p>
|
||||
|
||||
</dd>
|
||||
|
||||
<dt><code>--enable-gles1</code></dt>
|
||||
<dt><code>--enable-gles2</code></dt>
|
||||
<dt><code>-D gles1=true</code></dt>
|
||||
<dt><code>-D gles2=true</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>These options enable OpenGL ES support in OpenGL. The result is one big
|
||||
|
@ -106,7 +101,7 @@ internal library that supports multiple APIs.</p>
|
|||
|
||||
</dd>
|
||||
|
||||
<dt><code>--enable-shared-glapi</code></dt>
|
||||
<dt><code>-D shared-glapi=true</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>By default, <code>libGL</code> has its own copy of <code>libglapi</code>.
|
||||
|
@ -134,9 +129,9 @@ runtime</p>
|
|||
<dd>
|
||||
|
||||
<p>This variable specifies the native platform. The valid values are the same
|
||||
as those for <code>--with-platforms</code>. When the variable is not set,
|
||||
as those for <code>-D platforms=...</code>. When the variable is not set,
|
||||
the main library uses the first platform listed in
|
||||
<code>--with-platforms</code> as the native platform.</p>
|
||||
<code>-D platforms=...</code> as the native platform.</p>
|
||||
|
||||
<p>Extensions like <code>EGL_MESA_drm_display</code> define new functions to
|
||||
create displays for non-native platforms. These extensions are usually used by
|
||||
|
|
|
@ -236,22 +236,22 @@ Basically you'll want the following:
|
|||
Mesa version number.
|
||||
</li></ul>
|
||||
<p>
|
||||
When configuring Mesa, there are three autoconf options that affect the install
|
||||
When configuring Mesa, there are three meson options that affect the install
|
||||
location that you should take care with: <code>--prefix</code>,
|
||||
<code>--libdir</code>, and <code>--with-dri-driverdir</code>. To install Mesa
|
||||
<code>--libdir</code>, and <code>-D dri-drivers-path</code>. To install Mesa
|
||||
into the system location where it will be available for all programs to use, set
|
||||
<code>--prefix=/usr</code>. Set <code>--libdir</code> to where your Linux
|
||||
distribution installs system libraries, usually either <code>/usr/lib</code> or
|
||||
<code>/usr/lib64</code>. Set <code>--with-dri-driverdir</code> to the directory
|
||||
<code>/usr/lib64</code>. Set <code>-D dri-drivers-path</code> to the directory
|
||||
where your Linux distribution installs DRI drivers. To find your system's DRI
|
||||
driver directory, try executing <code>find /usr -type d -name dri</code>. For
|
||||
example, if the <code>find</code> command listed <code>/usr/lib64/dri</code>,
|
||||
then set <code>--with-dri-driverdir=/usr/lib64/dri</code>.
|
||||
then set <code>-D dri-drivers-path=/usr/lib64/dri</code>.
|
||||
</p>
|
||||
<p>
|
||||
After determining the correct values for the install location, configure Mesa
|
||||
with <code>./configure --prefix=/usr --libdir=xxx --with-dri-driverdir=xxx</code>
|
||||
and then install with <code>sudo make install</code>.
|
||||
with <code>meson configure --prefix=/usr --libdir=xxx -D dri-drivers-path=xxx</code>
|
||||
and then install with <code>sudo ninja install</code>.
|
||||
</p>
|
||||
<br>
|
||||
<br>
|
||||
|
|
|
@ -238,7 +238,7 @@ versions of libGL and device drivers.
|
|||
<h1 id="pkg-config">7. Building OpenGL programs with pkg-config</h1>
|
||||
|
||||
<p>
|
||||
Running <code>make install</code> will install package configuration files
|
||||
Running <code>ninja install</code> will install package configuration files
|
||||
for the pkg-config utility.
|
||||
</p>
|
||||
|
||||
|
|
|
@ -120,10 +120,12 @@ To build everything on Linux invoke scons as:
|
|||
scons build=debug libgl-xlib
|
||||
</pre>
|
||||
|
||||
Alternatively, you can build it with autoconf/make with:
|
||||
Alternatively, you can build it with meson with:
|
||||
<pre>
|
||||
./configure --enable-glx=gallium-xlib --with-gallium-drivers=swrast --disable-dri --disable-gbm --disable-egl
|
||||
make
|
||||
mkdir build
|
||||
cd build
|
||||
meson -D glx=gallium-xlib -D gallium-drivers=swrast
|
||||
ninja
|
||||
</pre>
|
||||
|
||||
but the rest of these instructions assume that scons is used.
|
||||
|
|
|
@ -25,7 +25,7 @@ https://www.khronos.org/opengles/</a>.</p>
|
|||
|
||||
<h2>Build the Libraries</h2>
|
||||
<ol>
|
||||
<li>Run <code>configure</code> with <code>--enable-gles1 --enable-gles2</code> and enable the Gallium driver for your hardware.</li>
|
||||
<li>Run <code>meson configure</code> with <code>-D gles1=true -D gles2=true</code> and enable the Gallium driver for your hardware.</li>
|
||||
<li>Build and install Mesa as usual.</li>
|
||||
</ol>
|
||||
|
||||
|
@ -33,7 +33,7 @@ Alternatively, if XCB-DRI2 is installed on the system, one can use
|
|||
<code>egl_dri2</code> EGL driver with OpenGL|ES-enabled DRI drivers
|
||||
|
||||
<ol>
|
||||
<li>Run <code>configure</code> with <code>--enable-gles1 --enable-gles2</code>.</li>
|
||||
<li>Run <code>meson configure</code> with <code>-D gles1=true -D gles2=true</code>.</li>
|
||||
<li>Build and install Mesa as usual.</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
@ -136,7 +136,7 @@ well contained. Thus it cannot affect more than one driver/subsystem.
|
|||
|
||||
<p>The following must pass:</p>
|
||||
<ul>
|
||||
<li>make distcheck, scons and scons check
|
||||
<li>meson test, scons and scons check
|
||||
<li>Testing with different version of system components - LLVM and others is also
|
||||
performed where possible.
|
||||
<li>As a general rule, testing with various combinations of configure
|
||||
|
@ -251,7 +251,7 @@ stabilisation and bugfixing.
|
|||
</p>
|
||||
|
||||
<p>
|
||||
Note: Before doing a branch ensure that basic build and <code>make check</code>
|
||||
Note: Before doing a branch ensure that basic build and <code>meson test</code>
|
||||
testing is done and there are little to-no issues.
|
||||
<br>
|
||||
Ideally all of those should be tackled already.
|
||||
|
|
|
@ -158,7 +158,7 @@ each directory.
|
|||
<ul>
|
||||
<li><b>glx</b> - The GLX library code for building libGL using DRI drivers.
|
||||
</ul>
|
||||
<li><b>lib</b> - hardlinks to most binaries as produced by <strong>make</strong>.
|
||||
<li><b>lib</b> - hardlinks to most binaries as produced by the build system.
|
||||
These (shortcuts) are used for development purposes in conjunction with
|
||||
LD_LIBRARY_PATH and/or LIBGL_DRIVERS_PATH.
|
||||
</ul>
|
||||
|
|
|
@ -141,7 +141,7 @@ do whatever testing is prudent.
|
|||
|
||||
<p>
|
||||
You should always run the Mesa test suite before submitting patches.
|
||||
The test suite can be run using the 'make check' command. All tests
|
||||
The test suite can be run using the 'meson test' command. All tests
|
||||
must pass before patches will be accepted, this may mean you have
|
||||
to update the tests themselves.
|
||||
</p>
|
||||
|
@ -160,10 +160,10 @@ to run your tests on each commit. Assuming your branch is based off
|
|||
<code>origin/master</code>, you can run:
|
||||
</p>
|
||||
<pre>
|
||||
$ git rebase --interactive --exec "make check" origin/master
|
||||
$ git rebase --interactive --exec "meson test -C build/" origin/master
|
||||
</pre>
|
||||
<p>
|
||||
replacing <code>"make check"</code> with whatever other test you want to
|
||||
replacing <code>"meson test"</code> with whatever other test you want to
|
||||
run.
|
||||
</p>
|
||||
|
||||
|
@ -466,7 +466,7 @@ within the commit summary.
|
|||
</pre>
|
||||
<li>Test for build breakage between patches e.g last 8 commits.
|
||||
<pre>
|
||||
git rebase -i --exec="make -j4" HEAD~8
|
||||
git rebase -i --exec="ninja -C build/" HEAD~8
|
||||
</pre>
|
||||
<li>Sets the default mailing address for your repo.
|
||||
<pre>
|
||||
|
|
Loading…
Reference in New Issue