Patrick Steinhardt <ps@xxxxxx> writes: > Wire up both gitk and git-gui in Meson as subprojects. These two > programs should be the last missing pieces for feature compatibility > with our Makefile. > > Signed-off-by: Patrick Steinhardt <ps@xxxxxx> > --- > meson.build | 14 ++++++++++++++ > meson_options.txt | 4 ++++ > 2 files changed, 18 insertions(+) > > diff --git a/meson.build b/meson.build > index 5dd299b496..edf7b69a00 100644 > --- a/meson.build > +++ b/meson.build > @@ -239,7 +239,9 @@ git = find_program('git', dirs: program_path, native: true, required: false) > sed = find_program('sed', dirs: program_path, native: true) > shell = find_program('sh', dirs: program_path, native: true) > tar = find_program('tar', dirs: program_path, native: true) > +tclsh = find_program('tclsh', required: get_option('git_gui'), native: false) > time = find_program('time', dirs: program_path, required: get_option('benchmarks')) > +wish = find_program('wish', required: get_option('git_gui').enabled() or get_option('gitk').enabled(), native: false) > > # Detect the target shell that is used by Git at runtime. Note that we prefer > # "/bin/sh" over a PATH-based lookup, which provides a working shell on most > @@ -2207,6 +2209,16 @@ configure_file( > configuration: build_options_config, > ) > > +gitk_option = get_option('gitk').disable_auto_if(not wish.found()) Since 'wish' is defined as required above when 'gitk' is enabled, would it even come here if there is no 'wish'? > +if gitk_option.allowed() > + subproject('gitk') > +endif > + > +git_gui_option = get_option('git_gui').disable_auto_if(not tclsh.found() or not wish.found()) > +if git_gui_option.allowed() > + subproject('git-gui') > +endif > + > # Development environments can be used via `meson devenv -C <builddir>`. This > # allows you to execute test scripts directly with the built Git version and > # puts the built version of Git in your PATH. > @@ -2233,6 +2245,8 @@ summary({ > 'curl': curl, > 'expat': expat, > 'gettext': intl, > + 'gitk': gitk_option.allowed(), > + 'git-gui': git_gui_option.allowed(), > 'gitweb': gitweb_option.allowed(), > 'iconv': iconv, > 'pcre2': pcre2, > diff --git a/meson_options.txt b/meson_options.txt > index 1668f260a1..8fa330771b 100644 > --- a/meson_options.txt > +++ b/meson_options.txt > @@ -41,6 +41,10 @@ option('expat', type: 'feature', value: 'enabled', > description: 'Build helpers used to push to remotes with the HTTP transport.') > option('gettext', type: 'feature', value: 'auto', > description: 'Build translation files.') > +option('gitk', type: 'feature', value: 'auto', > + description: 'Build the Gitk graphical repository browser. Requires Tcl/Tk.') > +option('git_gui', type: 'feature', value: 'auto', > + description: 'Build the git-gui graphical user interface for Git. Requires Tcl/Tk.') > option('gitweb', type: 'feature', value: 'auto', > description: 'Build Git web interface. Requires Perl.') > option('iconv', type: 'feature', value: 'auto', > > -- > 2.51.0.261.g7ce5a0a67e.dirty The rest look good. Thanks, Karthik
Attachment:
signature.asc
Description: PGP signature