[Mesa-dev] [PATCH mesa 1/2] docs: add meson cross compilation instructions

Dylan Baker dylan at pnwbakers.com
Thu Nov 29 22:11:50 UTC 2018


Quoting Eric Engestrom (2018-11-29 07:50:58)
> Signed-off-by: Eric Engestrom <eric.engestrom at intel.com>
> ---
> The 32-bit linux one is tested, but the other two are "I think this
> should be right".
> ---
>  docs/meson.html | 83 +++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 83 insertions(+)
> 
> diff --git a/docs/meson.html b/docs/meson.html
> index 68f80d6ac42d6f48d359..baa1f0f327e99d86e9a5 100644
> --- a/docs/meson.html
> +++ b/docs/meson.html
> @@ -16,6 +16,11 @@ <h1>The Mesa 3D Graphics Library</h1>
>  
>  <h1>Compilation and Installation using Meson</h1>
>  
> +<ul>
> +  <li><a href="#basic">Basic Usage</a></li>
> +  <li><a href="#cross-compilation">Cross-compilation and 32-bit builds</a></li>
> +</ul>
> +
>  <h2 id="basic">1. Basic Usage</h2>
>  
>  <p><strong>The Meson build system is generally considered stable and ready
> @@ -190,6 +195,84 @@ <h2 id="basic">1. Basic Usage</h2>
>  </dd>
>  </dl>
>  
> +<h2 id="cross-compilation">2. Cross-compilation and 32-bit builds</h2>
> +
> +<p><a href="https://mesonbuild.com/Cross-compilation.html">Meson supports
> +cross-compilation</a> by specifying a number of binary paths and
> +settings in a file and passing this file to <code>meson</code> or
> +<code>meson configure</code> with the <code>--cross-file</code>
> +parameter.</p>
> +
> +<p>This file can live at any location, but you can use the bare filename
> +(without the folder path) if you put it in $XDG_DATA_HOME/meson/cross or
> +~/.local/share/meson/cross</p>
> +
> +<p>Below are a few example of cross files, but keep in mind that you
> +will likely have to alter them for your system.</p>
> +
> +<p>
> +32-bit build on x86 linux:
> +<pre>
> +[binaries]
> +c = '/usr/bin/gcc'
> +cpp = '/usr/bin/g++'
> +ar = '/usr/bin/ar'

It's better if possible to use gcc-ar instead of ar, you can't LTO without
gcc-ar, for example.

Without or without the above,
Reviewed-by: Dylan Baker <dylan at pnwbakers.com>

> +strip = '/usr/bin/strip'
> +pkgconfig = '/usr/bin/pkg-config-32'
> +llvm-config = '/usr/bin/llvm-config'
> +
> +[properties]
> +c_args = ['-m32']
> +c_link_args = ['-m32']
> +cpp_args = ['-m32']
> +cpp_link_args = ['-m32']
> +
> +[host_machine]
> +system = 'linux'
> +cpu_family = 'x86'
> +cpu = 'i686'
> +endian = 'little'
> +</pre>
> +</p>
> +
> +<p>
> +64-bit build on ARM linux:
> +<pre>
> +[binaries]
> +c = '/usr/bin/aarch64-linux-gnu-gcc'
> +cpp = '/usr/bin/aarch64-linux-gnu-g++'
> +ar = '/usr/bin/aarch64-linux-gnu-ar'
> +strip = '/usr/bin/aarch64-linux-gnu-strip'
> +pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'
> +exe_wrapper = '/usr/bin/qemu-aarch64-static'
> +
> +[host_machine]
> +system = 'linux'
> +cpu_family = 'arm'
> +cpu = 'aarch64'
> +endian = 'little'
> +</pre>
> +</p>
> +
> +<p>
> +64-bit build on x86 windows:
> +<pre>
> +[binaries]
> +c = '/usr/bin/x86_64-w64-mingw32-gcc'
> +cpp = '/usr/bin/x86_64-w64-mingw32-g++'
> +ar = '/usr/bin/x86_64-w64-mingw32-ar'
> +strip = '/usr/bin/x86_64-w64-mingw32-strip'
> +pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config'
> +exe_wrapper = 'wine'
> +
> +[host_machine]
> +system = 'windows'
> +cpu_family = 'x86_64'
> +cpu = 'i686'
> +endian = 'little'
> +</pre>
> +</p>
> +
>  </div>
>  </body>
>  </html>
> -- 
> Cheers,
>   Eric
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181129/5df31a02/attachment.sig>


More information about the mesa-dev mailing list