Hi, I have upstreamed support for Meson into both gitk [1] and git-gui [2]. This small patch series wires up support in Git. To the best of my knowledge this is the last missing piece for feature compatibility with our Makefile. As such, from my point of view, I think that we can stop treating the Meson build system as experimental and instead officially endorse it. Once merged I'll thus send another patch series that updates our documentation in various different places to also mention how to build Git with Meson. Thanks! Patrick [1]: https://github.com/j6t/gitk/pull/8 [2]: https://github.com/j6t/git-gui/pull/9 --- Patrick Steinhardt (3): git-gui: move into "subprojects/" gitk: move into "subprojects/" meson: wire up gitk and git-gui Documentation/SubmittingPatches | 4 ++-- Documentation/gitk.adoc | 2 +- Makefile | 18 +++++++++--------- meson.build | 14 ++++++++++++++ meson_options.txt | 4 ++++ subprojects/.gitignore | 2 ++ {git-gui => subprojects/git-gui}/.gitattributes | 0 {git-gui => subprojects/git-gui}/.gitignore | 0 .../git-gui}/GIT-GUI-BUILD-OPTIONS.in | 0 {git-gui => subprojects/git-gui}/GIT-VERSION-GEN | 0 {git-gui => subprojects/git-gui}/Makefile | 0 {git-gui => subprojects/git-gui}/README.md | 0 {git-gui => subprojects/git-gui}/generate-git-gui.sh | 0 {git-gui => subprojects/git-gui}/generate-script.sh | 0 {git-gui => subprojects/git-gui}/generate-tclindex.sh | 0 {git-gui => subprojects/git-gui}/git-gui--askpass.sh | 0 {git-gui => subprojects/git-gui}/git-gui.sh | 0 {git-gui => subprojects/git-gui}/lib/about.tcl | 0 {git-gui => subprojects/git-gui}/lib/blame.tcl | 0 {git-gui => subprojects/git-gui}/lib/branch.tcl | 0 .../git-gui}/lib/branch_checkout.tcl | 0 .../git-gui}/lib/branch_create.tcl | 0 .../git-gui}/lib/branch_delete.tcl | 0 .../git-gui}/lib/branch_rename.tcl | 0 {git-gui => subprojects/git-gui}/lib/browser.tcl | 0 {git-gui => subprojects/git-gui}/lib/checkout_op.tcl | 0 {git-gui => subprojects/git-gui}/lib/choose_font.tcl | 0 .../git-gui}/lib/choose_repository.tcl | 0 {git-gui => subprojects/git-gui}/lib/choose_rev.tcl | 0 {git-gui => subprojects/git-gui}/lib/chord.tcl | 0 {git-gui => subprojects/git-gui}/lib/class.tcl | 0 {git-gui => subprojects/git-gui}/lib/commit.tcl | 0 {git-gui => subprojects/git-gui}/lib/console.tcl | 0 {git-gui => subprojects/git-gui}/lib/database.tcl | 0 {git-gui => subprojects/git-gui}/lib/date.tcl | 0 {git-gui => subprojects/git-gui}/lib/diff.tcl | 0 {git-gui => subprojects/git-gui}/lib/encoding.tcl | 0 {git-gui => subprojects/git-gui}/lib/error.tcl | 0 {git-gui => subprojects/git-gui}/lib/git-gui.ico | Bin {git-gui => subprojects/git-gui}/lib/index.tcl | 0 {git-gui => subprojects/git-gui}/lib/line.tcl | 0 {git-gui => subprojects/git-gui}/lib/logo.tcl | 0 {git-gui => subprojects/git-gui}/lib/merge.tcl | 0 {git-gui => subprojects/git-gui}/lib/mergetool.tcl | 0 {git-gui => subprojects/git-gui}/lib/meson.build | 0 {git-gui => subprojects/git-gui}/lib/option.tcl | 0 {git-gui => subprojects/git-gui}/lib/remote.tcl | 0 {git-gui => subprojects/git-gui}/lib/remote_add.tcl | 0 .../git-gui}/lib/remote_branch_delete.tcl | 0 {git-gui => subprojects/git-gui}/lib/search.tcl | 0 {git-gui => subprojects/git-gui}/lib/shortcut.tcl | 0 {git-gui => subprojects/git-gui}/lib/spellcheck.tcl | 0 {git-gui => subprojects/git-gui}/lib/sshkey.tcl | 0 {git-gui => subprojects/git-gui}/lib/status_bar.tcl | 0 {git-gui => subprojects/git-gui}/lib/themed.tcl | 0 {git-gui => subprojects/git-gui}/lib/tools.tcl | 0 {git-gui => subprojects/git-gui}/lib/tools_dlg.tcl | 0 {git-gui => subprojects/git-gui}/lib/transport.tcl | 0 {git-gui => subprojects/git-gui}/lib/win32.tcl | 0 .../git-gui}/lib/win32_shortcut.js | 0 {git-gui => subprojects/git-gui}/meson.build | 0 {git-gui => subprojects/git-gui}/po/.gitignore | 0 {git-gui => subprojects/git-gui}/po/README | 0 {git-gui => subprojects/git-gui}/po/bg.po | 0 {git-gui => subprojects/git-gui}/po/de.po | 0 {git-gui => subprojects/git-gui}/po/el.po | 0 {git-gui => subprojects/git-gui}/po/fr.po | 0 {git-gui => subprojects/git-gui}/po/glossary/Makefile | 0 {git-gui => subprojects/git-gui}/po/glossary/bg.po | 0 {git-gui => subprojects/git-gui}/po/glossary/de.po | 0 {git-gui => subprojects/git-gui}/po/glossary/el.po | 0 {git-gui => subprojects/git-gui}/po/glossary/fr.po | 0 .../git-gui}/po/glossary/git-gui-glossary.pot | 0 .../git-gui}/po/glossary/git-gui-glossary.txt | 0 {git-gui => subprojects/git-gui}/po/glossary/it.po | 0 {git-gui => subprojects/git-gui}/po/glossary/pt_br.po | 0 {git-gui => subprojects/git-gui}/po/glossary/pt_pt.po | 0 .../git-gui}/po/glossary/txt-to-pot.sh | 0 {git-gui => subprojects/git-gui}/po/glossary/zh_cn.po | 0 {git-gui => subprojects/git-gui}/po/hu.po | 0 {git-gui => subprojects/git-gui}/po/it.po | 0 {git-gui => subprojects/git-gui}/po/ja.po | 0 {git-gui => subprojects/git-gui}/po/meson.build | 0 {git-gui => subprojects/git-gui}/po/nb.po | 0 {git-gui => subprojects/git-gui}/po/po2msg.sh | 0 {git-gui => subprojects/git-gui}/po/pt_br.po | 0 {git-gui => subprojects/git-gui}/po/pt_pt.po | 0 {git-gui => subprojects/git-gui}/po/ru.po | 0 {git-gui => subprojects/git-gui}/po/sv.po | 0 {git-gui => subprojects/git-gui}/po/vi.po | 0 {git-gui => subprojects/git-gui}/po/zh_cn.po | 0 {git-gui => subprojects/git-gui}/windows/git-gui.sh | 0 {gitk-git => subprojects/gitk}/.gitignore | 0 {gitk-git => subprojects/gitk}/Makefile | 0 {gitk-git => subprojects/gitk}/generate-tcl.sh | 0 {gitk-git => subprojects/gitk}/gitk | 0 {gitk-git => subprojects/gitk}/meson.build | 0 {gitk-git => subprojects/gitk}/po/.gitignore | 0 {gitk-git => subprojects/gitk}/po/bg.po | 0 {gitk-git => subprojects/gitk}/po/ca.po | 0 {gitk-git => subprojects/gitk}/po/de.po | 0 {gitk-git => subprojects/gitk}/po/es.po | 0 {gitk-git => subprojects/gitk}/po/fr.po | 0 {gitk-git => subprojects/gitk}/po/hu.po | 0 {gitk-git => subprojects/gitk}/po/it.po | 0 {gitk-git => subprojects/gitk}/po/ja.po | 0 {gitk-git => subprojects/gitk}/po/meson.build | 0 {gitk-git => subprojects/gitk}/po/po2msg.sh | 0 {gitk-git => subprojects/gitk}/po/pt_br.po | 0 {gitk-git => subprojects/gitk}/po/pt_pt.po | 0 {gitk-git => subprojects/gitk}/po/ru.po | 0 {gitk-git => subprojects/gitk}/po/sv.po | 0 {gitk-git => subprojects/gitk}/po/ta.po | 0 {gitk-git => subprojects/gitk}/po/vi.po | 0 {gitk-git => subprojects/gitk}/po/zh_cn.po | 0 115 files changed, 32 insertions(+), 12 deletions(-) --- base-commit: c44beea485f0f2feaf460e2ac87fdd5608d63cf0 change-id: 20250703-b4-pks-meson-tcl-tk-bb75616c8048