[Mesa-dev] [PATCH] RFC: meson: Add a new build-dev-tools option
Jason Ekstrand
jason at jlekstrand.net
Sat Nov 11 22:39:20 UTC 2017
On Sat, Nov 11, 2017 at 10:30 AM, Rob Clark <robdclark at gmail.com> wrote:
> On Sat, Nov 11, 2017 at 12:42 PM, Jason Ekstrand <jason at jlekstrand.net>
> wrote:
> > A variety of the different drivers in mesa have some sort of developer
> > tools to go along with them. Normal users don't want these but devs do.
> > This commit adds a new build-dev-tools option which causes these tools
> > to be built and installed.
>
> fwiw, nouveau and etnaviv also have standalone compilers
>
> And I kinda think mesa already has too many build config options
> already,
Yeah... that may be. I've stopped noticing as I just have a build script
that does it all for me (and, incidentally works with both autotools and
meson).
> so maybe tying these to debug build would be a reasonable way
> to avoid adding another.. I don't insist on it if someone else has a
> reason to build their driver's "dev tools" outside of a debug build,
> but I really only have use for ir3compiler in the context of a debug
> build.
>
Maybe... However, the aubinator tools that we have are something you may
want to at least use with a release build. Whether or not there's any
point in building them in release mode, I don't know. Sometimes it is
useful to use the aubinator out of the same branc as you're hacking on.
> BR,
> -R
>
> > Cc: Rob Clark <robdclark at gmail.com>
> > Cc: Dylan Baker <dylan at pnwbakers.com>
> > ---
> > meson.build | 5 +++++
> > meson_options.txt | 6 ++++++
> > src/gallium/drivers/freedreno/meson.build | 3 ++-
> > src/intel/meson.build | 4 +++-
> > src/intel/tools/meson.build | 6 ++++--
> > 5 files changed, 20 insertions(+), 4 deletions(-)
> >
> > diff --git a/meson.build b/meson.build
> > index 1f6658b..98b72e9 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -411,6 +411,11 @@ elif with_amd_vk
> > error('Radv requires shader cache support')
> > endif
> >
> > +build_dev_tools = get_option('build-dev-tools')
> > +if build_dev_tools and get_option('buildtype') == 'release'
> > + warning('The build-dev-tools option is for developers only. Distros
> and regular users should leave it off.')
> > +endif
> > +
> > # Check for GCC style builtins
> > foreach b : ['bswap32', 'bswap64', 'clz', 'clzll', 'ctz', 'expect',
> 'ffs',
> > 'ffsll', 'popcount', 'popcountll', 'unreachable']
> > diff --git a/meson_options.txt b/meson_options.txt
> > index 6c9cd33..8e2716a 100644
> > --- a/meson_options.txt
> > +++ b/meson_options.txt
> > @@ -182,3 +182,9 @@ option(
> > choices : ['8', '16', '32'],
> > description : 'Number of channel bits for OSMesa.'
> > )
> > +option(
> > + 'build-dev-tools',
> > + type : 'boolean',
> > + value : false,
> > + description: 'Build and install developer tools. This option is
> recommended for developers only and should not be set by users or
> packagers.'
> > +)
> > diff --git a/src/gallium/drivers/freedreno/meson.build
> b/src/gallium/drivers/freedreno/meson.build
> > index 3fb94ed..cffb9cd 100644
> > --- a/src/gallium/drivers/freedreno/meson.build
> > +++ b/src/gallium/drivers/freedreno/meson.build
> > @@ -224,5 +224,6 @@ ir3_compiler = executable(
> > libglsl_standalone,
> > libmesa_util,
> > ],
> > - build_by_default : true,
> > + install : build_dev_tools,
> > + build_by_default : build_dev_tools,
> > )
> > diff --git a/src/intel/meson.build b/src/intel/meson.build
> > index 5767608..777afbf 100644
> > --- a/src/intel/meson.build
> > +++ b/src/intel/meson.build
> > @@ -25,7 +25,9 @@ subdir('genxml')
> > subdir('common')
> > subdir('isl')
> > subdir('compiler')
> > -subdir('tools')
> > +if (with_dri_i965 or intel_vk) and build_dev_tools
> > + subdir('tools')
> > +endif
> > if with_intel_vk
> > subdir('vulkan')
> > endif
> > diff --git a/src/intel/tools/meson.build b/src/intel/tools/meson.build
> > index 1996d52..b64a005 100644
> > --- a/src/intel/tools/meson.build
> > +++ b/src/intel/tools/meson.build
> > @@ -25,7 +25,8 @@ aubinator = executable(
> > include_directories : [inc_common, inc_intel],
> > link_with : [libintel_common, libintel_compiler, libmesa_util],
> > c_args : [c_vis_args, no_override_init_args],
> > - build_by_default : false,
> > + build_by_default : true,
> > + install : true,
> > )
> >
> > aubinator_error_decode = executable(
> > @@ -35,5 +36,6 @@ aubinator_error_decode = executable(
> > include_directories : [inc_common, inc_intel],
> > link_with : [libintel_common, libintel_compiler, libmesa_util],
> > c_args : [c_vis_args, no_override_init_args],
> > - build_by_default : false,
> > + build_by_default : true,
> > + install : true,
> > )
> > --
> > 2.5.0.400.gff86faf
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20171111/7e374d1f/attachment.html>
More information about the mesa-dev
mailing list