[Mesa-dev] [PATCH v4 2/4] meson: disable x86 asm in fewer cases.
Eric Engestrom
eric.engestrom at imgtec.com
Tue Nov 21 10:46:40 UTC 2017
On Monday, 2017-11-20 11:30:13 -0800, Dylan Baker wrote:
> This patch allows building asm for x86 on x86_64 platforms, when the
> operating system is the same. Previously cross compile always turned off
> assembly. This allows using a cross file to cross compile x86 binaries
> on x86_64 with asm.
>
> This could probably be relaxed further thanks to meson's "exe_wrapper",
> which is way to specify an emulator or compatibility layer (wine) that
> can run the foreign binaries on the build system. Since the meson build
> at this point only supports building on Linux I can't test this and I
> don't want to write/enable code that cannot even be build tested.
>
> v4: - set condition to build == x86_64 and host == 'x86' and
> build.system == host.system
>
> Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
> ---
> meson.build | 17 ++++++++++-------
> 1 file changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/meson.build b/meson.build
> index 049c9a24e4a..23ed42ec0f9 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -542,13 +542,16 @@ endif
>
> # TODO: texture-float (gallium/mesa only)
>
> -# TODO: cross-compiling. I don't think this is relavent to meson
> -
> -# FIXME: enable asm when cross compiler
> -# This is doable (autotools does it), but it's not of immediate concern
> -if meson.is_cross_build() and host_machine.cpu_family().startswith('x86')
> - message('Cross compiling, disabling x86/x86_64 asm')
> - with_asm = false
> +# Building x86 assembly code requires running x86 binaries. It is possible for
> +# x86_64 OSes to run x86 binaries, so don't disable asm in those cases
> +# TODO: it should be possible to use an exe_wrapper to run the binary during
> +# the build.
> +if meson.is_cross_build()
> + if not (build_machine.cpu_family() == 'x86_64' and host_machine.cpu_family() == 'x86'
> + and build_machine.system() == host_machine.system())
> + message('Cross compiling to x86 from non-x86, disabling asm')
> + with_asm = false
> + endif
> endif
>
> with_asm_arch = ''
> --
> 2.15.0
>
More information about the mesa-dev
mailing list