On Monday, 2017-10-30 10:21:50 -0700, Dylan Baker wrote: > This allows drivers to be set by OS/arch in a sane manner. > > Signed-off-by: Dylan Baker <dylanx.c.ba...@intel.com> > --- > meson.build | 37 +++++++++++++++++++++++++++++++++++-- > meson_options.txt | 8 ++++---- > 2 files changed, 39 insertions(+), 6 deletions(-) > > diff --git a/meson.build b/meson.build > index 24d997b3e0a..436d676d72d 100644 > --- a/meson.build > +++ b/meson.build > @@ -90,7 +90,19 @@ with_dri_r200 = false > with_dri_nouveau = false > with_dri_swrast = false > _drivers = get_option('dri-drivers') > -if _drivers != '' > +if _drivers == 'default' > + if ['linux', 'bsd'].contains(host_machine.system()) > + if ['x86', 'x86_64'].contains(host_machine.cpu_family()) > + with_dri_i915 = true > + with_dri_i965 = true > + with_dri_r100 = true > + with_dri_r200 = true > + with_dri_nouveau = true > + with_dri = true
Yes to the idea, but to avoid having different parse paths for the default case and when drivers are specified, how about if _drivers == 'default' if os_and_arch logic _drivers = 'i915,i965,r100,r200,nouveau' else ... endif endif > + endif > + # TODO: PPC, Sparc > + endif > +elif _drivers != '' > _split = _drivers.split(',') > with_dri_i915 = _split.contains('i915') > with_dri_i965 = _split.contains('i965') > @@ -112,7 +124,28 @@ with_gallium_vc5 = false > with_gallium_etnaviv = false > with_gallium_imx = false > _drivers = get_option('gallium-drivers') > -if _drivers != '' > +if _drivers == 'default' > + if ['linux', 'bsd'].contains(host_machine.system()) > + if ['x86', 'x86_64'].contains(host_machine.cpu_family()) > + with_gallium_radeonsi = true > + with_gallium_nouveau = true > + with_gallium_softpipe = true > + with_gallium = true > + with_dri = true > + elif ['arm', 'aarch64'].contains(host_machine.cpu_family()) > + with_gallium_pl111 = true > + with_gallium_vc4 = true > + with_gallium_vc5 = true > + with_gallium_freedreno = true > + with_gallium_etnaviv = true > + with_gallium_imx = true > + with_gallium_softpipe = true > + with_gallium = true > + with_dri = true > + endif > + # TODO: PPC, Sparc > + endif > +elif _drivers != '' > _split = _drivers.split(',') > with_gallium_pl111 = _split.contains('pl111') > with_gallium_radeonsi = _split.contains('radeonsi') > diff --git a/meson_options.txt b/meson_options.txt > index 74f1e71bf43..0de54f9422d 100644 > --- a/meson_options.txt > +++ b/meson_options.txt > @@ -34,8 +34,8 @@ option( > option( > 'dri-drivers', > type : 'string', > - value : 'i915,i965,r100,r200,nouveau', > - description : 'comma separated list of dri drivers to build.' > + value : 'default', > + description : 'comma separated list of dri drivers to build. If this is > set to default all drivers applicable to the target OS/architecture will be > built' > ) > option( > 'dri-drivers-path', > @@ -46,8 +46,8 @@ option( > option( > 'gallium-drivers', > type : 'string', > - value : 'pl111,radeonsi,nouveau,freedreno,swrast,vc4,etnaviv,imx', > - description : 'comma separated list of gallium drivers to build.' > + value : 'default', > + description : 'comma separated list of gallium drivers to build. If this > is set to default all drivers applicable to the target OS/architecture will > be built' > ) > option( > 'gallium-media', > -- > 2.14.3 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev