Hi, On Thu, 16 Apr 2026 at 09:26, Álvaro Herrera <[email protected]> wrote: > > On 2026-04-14, Nazir Bilal Yavuz wrote: > > > On Tue, 14 Apr 2026 at 11:08, Peter Eisentraut <[email protected]> wrote: > >> > >> If I remove the alias_target, then my original command works. What is > >> the purpose of this alias? > > > > I think the main purpose was using these targets with the ninja > > command like: 'ninja ${target}'. ninja command doesn't work when the > > alias_target() is removed. > > I think this is kinda silly. I would rather rename the meson target (to, say, > do_html) and make the alias reference that, so that both "meson compile html" > and "ninja html" would use the alias.
I agree with you. Here is a patch for fixing this problem with your suggestion. I added the '-custom' suffix instead of the 'do_' prefix, I think this makes it more concrete. -- Regards, Nazir Bilal Yavuz Microsoft
From afec829a66a9b8b528969d9744dba3112497da18 Mon Sep 17 00:00:00 2001 From: Nazir Bilal Yavuz <[email protected]> Date: Thu, 16 Apr 2026 09:58:53 +0300 Subject: [PATCH v1] meson: Differentiate top-level and custom targets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We need to create top-level targets to run targets with the ninja command like `ninja <target_name>`. Some targets (man, html, ...) have the same target name on both top-level and custom target. This creates a confusion for the meson build: $ meson compile -C build html ``` ERROR: Can't invoke target `html`: ambiguous name. Add target type and/or path: - ./doc/src/sgml/html:custom - ./doc/src/sgml/html:alias ``` Solve that problem by adding '-custom' suffix to these problematic targets' custom target names. Top-level targets can be called with both meson and ninja now: $ meson compile -C build html $ ninja -C build html Suggested-by: Álvaro Herrera <[email protected]> Discussion: https://postgr.es/m/5508e572-79ae-4b20-84d0-010a66d077f2%40eisentraut.org --- doc/src/sgml/meson.build | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/meson.build b/doc/src/sgml/meson.build index a1ae5c54ed6..8517d837b78 100644 --- a/doc/src/sgml/meson.build +++ b/doc/src/sgml/meson.build @@ -137,7 +137,7 @@ endif # Full documentation as html, text # if docs_dep.found() - html = custom_target('html', + html = custom_target('html-custom', input: ['stylesheet.xsl', postgres_full_xml], output: 'html', depfile: 'html.d', @@ -146,7 +146,7 @@ if docs_dep.found() ) alldocs += html - install_doc_html = custom_target('install-html', + install_doc_html = custom_target('install-html-custom', output: 'install-html', command: [ python, install_files, '--prefix', dir_prefix, @@ -189,7 +189,7 @@ endif # if docs_dep.found() # FIXME: implement / consider sqlmansectnum logic - man = custom_target('man', + man = custom_target('man-custom', input: ['stylesheet-man.xsl', postgres_full_xml], output: ['man1', 'man3', 'man7'], depfile: 'man.d', @@ -198,7 +198,7 @@ if docs_dep.found() ) alldocs += man - install_doc_man = custom_target('install-man', + install_doc_man = custom_target('install-man-custom', output: 'install-man', input: man, command: [ -- 2.47.3
