[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