[Mesa-dev] [RFC PATCH mesa 5/5] WIP - meson: add a message block at the end of the configuration stage

Dylan Baker dylan at pnwbakers.com
Sat Feb 24 00:49:14 UTC 2018


Quoting Eric Engestrom (2018-02-23 10:08:48)
> The messages are basically the same as the ones in configure.ac
> 
> Signed-off-by: Eric Engestrom <eric.engestrom at imgtec.com>
> ---
> Sent out because it's as much as I could do before the weekend, and
> before I try to figure out the last bits I'd love some confirmation that
> this is what we want :)
> ---
>  meson.build             | 128 ++++++++++++++++++++++++++++++++++++++++++++++++
>  src/gallium/meson.build |  13 +++++
>  2 files changed, 141 insertions(+)
> 
> diff --git a/meson.build b/meson.build
> index 770fdc7e50653bcfa7c2..0c84d09c02322ed7a80b 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1263,3 +1263,131 @@ env_test.set('NM', find_program('nm').path())
>  subdir('include')
>  subdir('bin')
>  subdir('src')
> +
> +
> +#
> +# Output some configuration info for the user
> +#
> +message('')
> +message('        prefix:          ' + get_option('prefix'))
> +message('        libdir:          ' + join_paths(get_option('prefix'), get_option('libdir')))
> +message('        includedir:      ' + join_paths(get_option('prefix'), get_option('includedir')))

I'd really like to avoid having millions of message() calls, what about:
messsage('''

        prefix:             @0@
        libdir:             @1@
        includedir:         @2@

        ...

'''.format(
 ...
))

Dylan

> +
> +# API info
> +message('')
> +message('        OpenGL:          @0@ (ES1: @1@ ES2: @2@)'.format(with_opengl, with_gles1, with_gles2))
> +
> +# Driver info
> +message('')
> +if with_osmesa == 'gallium'
> +  message('        OSMesa:          lib at 0@ (Gallium)'.format(osmesa_lib_name))
> +elif with_osmesa == 'classic'
> +  message('        OSMesa:          lib at 0@'.format(osmesa_lib_name))
> +elif with_osmesa == 'none'
> +  message('        OSMesa:          no')
> +endif
> +
> +message('')
> +if with_dri
> +  message('        DRI platform:    ' + with_dri_platform)
> +  if false #DRI_DIRS
> +    message('        DRI drivers:     no')
> +  else
> +    message('        DRI drivers:     ' + _dri_drivers)
> +  endif
> +  message('        DRI driver dir:  ' + join_paths(get_option('prefix'), dri_drivers_path))
> +endif
> +
> +if with_glx == 'dri'
> +    message('        GLX:             DRI-based')
> +elif with_glx == 'xlib'
> +    message('        GLX:             Xlib-based')
> +elif with_glx == 'gallium-xlib'
> +    message('        GLX:             Xlib-based (Gallium)')
> +else
> +    message('        GLX:             @0@'.format(with_glx))
> +endif
> +
> +# EGL
> +message('')
> +message('        EGL:             @0@'.format(with_egl))
> +if with_egl
> +  #message('        EGL drivers:     @0@ @1@'.format(
> +                                    #with_dri  ? 'builtin:egl_dri2' : '',
> +                                    #with_dri3 ? 'builtin:egl_dri3' : ''))
> +endif
> +message('        GBM:             @0@'.format(with_gbm))
> +
> +message('        EGL/Vulkan/VL platforms:   @0@'.format(_platforms))
> +
> +# Vulkan
> +message('')
> +if with_any_vk
> +  message('        Vulkan drivers:  ' + _vulkan_drivers)
> +  message('        Vulkan ICD dir:  ' + join_paths(get_option('prefix'), with_vulkan_icd_dir))
> +else
> +  message('        Vulkan drivers:  no')
> +endif
> +
> +message('')
> +if with_llvm
> +  message('        llvm:            yes')
> +# message('        llvm-config:     ' + _llvm_config) #TODO
> +  message('        llvm-version:    ' + '.'.join(_llvm_version))
> +else
> +  message('        llvm:            no')
> +endif
> +
> +message('')
> +if with_gallium
> +  message('        Gallium drivers: ' + _gallium_drivers)
> +  message('        Gallium st:      ' + ','.join(with_st))
> +else
> +  message('        Gallium:         no')
> +endif
> +
> +message('')
> +message('        HUD extra stats: @0@'.format(with_gallium_extra_hud))
> +message('        HUD lmsensors:   @0@'.format(with_lmsensors))
> +
> +if with_gallium_swr
> +  message('')
> +  if false # TODO: with_swr_builtin
> +    message('        SWR archs:       @0@ (builtin)'.format(get_option('swr-arches')))
> +  else
> +    message('        SWR archs:       @0@'.format(get_option('swr-arches')))
> +  endif
> +endif
> +
> +# Libraries
> +message('')
> +#message('        Shared libs:     @0@'.format(with_shared)) #TODO
> +#message('        Static libs:     @0@'.format(with_static)) #TODO
> +message('        Shared-glapi:    @0@'.format(with_shared_glapi))
> +
> +# Compiler options
> +message('')
> +message('        CFLAGS:          ' + ' '.join(c_args))
> +message('        CXXFLAGS:        ' + ' '.join(cpp_args))
> +#message('        LDFLAGS:         ' + ' '.join(c_link_args)) #XXX: doesn't really make sense in meson
> +message('        Macros:          ' + ' '.join(pre_args))
> +message('')
> +
> +if with_llvm and false #TODO
> +  message('        LLVM_CFLAGS:     $LLVM_CFLAGS')
> +  message('        LLVM_CXXFLAGS:   $LLVM_CXXFLAGS')
> +  message('        LLVM_CPPFLAGS:   $LLVM_CPPFLAGS')
> +  message('        LLVM_LDFLAGS:    $LLVM_LDFLAGS')
> +  message('')
> +endif
> +
> +message('        PYTHON2:         @0@'.format(prog_python2.path()))
> +
> +message('')
> +if meson.backend() == 'ninja'
> +  message('        Run `ninja` to build Mesa')
> +else
> +  message('        You can now build Mesa using @0@'.format(meson.backend()))
> +endif
> +
> +message('')
> diff --git a/src/gallium/meson.build b/src/gallium/meson.build
> index 320fc0176e9ab6f95322..d0d542fd526a76c5d0f0 100644
> --- a/src/gallium/meson.build
> +++ b/src/gallium/meson.build
> @@ -22,6 +22,8 @@
>  inc_gallium_drivers = include_directories('drivers')
>  inc_gallium_winsys = include_directories('winsys')
>  
> +with_st = []
> +
>  subdir('auxiliary')
>  subdir('auxiliary/pipe-loader')
>  subdir('drivers/ddebug')
> @@ -140,24 +142,31 @@ else
>  endif
>  if with_gallium_vdpau
>    subdir('state_trackers/vdpau')
> +  with_st += 'vdpau'
>  endif
>  if with_gallium_xvmc
>    subdir('state_trackers/xvmc')
> +  with_st += 'xvmc'
>  endif
>  if with_gallium_omx
>    subdir('state_trackers/omx_bellagio')
> +  with_st += 'omx_bellagio'
>  endif
>  if with_gallium_va
>    subdir('state_trackers/va')
> +  with_st += 'va'
>  endif
>  if with_gallium_xa
>    subdir('state_trackers/xa')
> +  with_st += 'xa'
>  endif
>  if with_gallium_st_nine
>    subdir('state_trackers/nine')
> +  with_st += 'nine'
>  endif
>  if with_platform_haiku
>    subdir('state_trackers/hgl')
> +  with_st += 'hgl'
>  endif
>  if with_gallium_opencl
>    # TODO: this isn't really clover specific, but ATM clover is the only
> @@ -168,19 +177,23 @@ if with_gallium_opencl
>      error('OpenCL requires meson 0.44.0 or greater.')
>    endif
>    subdir('state_trackers/clover')
> +  with_st += 'clover'
>    subdir('targets/opencl')
>  endif
>  if with_dri
>    subdir('state_trackers/dri')
> +  with_st += 'dri'
>    subdir('targets/dri')
>  endif
>  if with_osmesa == 'gallium'
>    subdir('state_trackers/osmesa')
> +  with_st += 'osmesa'
>    subdir('targets/osmesa')
>  endif
>  if with_glx == 'gallium-xlib'
>    subdir('winsys/sw/xlib')
>    subdir('state_trackers/glx/xlib')
> +  with_st += 'glx/xlib'
>    subdir('targets/libgl-xlib')
>  endif
>  if with_gallium_vdpau
> -- 
> 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/20180223/d0563bc3/attachment-0001.sig>


More information about the mesa-dev mailing list