summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-05-01 00:17:20 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-05-01 11:55:48 -0400
commit38acf8a72136314157c955fab61eb6df7930755e (patch)
treebe029c39be6051d2e05bdce5ec15050141b9690f
parent064d9ef0d784f2f92a1918dbf33abd48c05880a1 (diff)
meson: make sure html symlinks are also created in build directory
The symlinks should be created in the build directory in two cases: when configuration specifies -Dhtml=true, or when ninja html target is built. Normally install : {true,false} is used to decide if a target should be built, but in this case, we cannot use install : true, because, as described in 488477d101, that results in the target file being copied into the installation directory instead of a symlink. So we need a work-around. To achieve the first end, the commands to create the symlinks are added as dependencies of the command to create the html page. To the second end, they are added as dependencies of the html target. Follow-up for 488477d101 and 064d9ef0d7.
-rw-r--r--man/meson.build53
1 files changed, 30 insertions, 23 deletions
diff --git a/man/meson.build b/man/meson.build
index 361342bb75..73a9eb45f6 100644
--- a/man/meson.build
+++ b/man/meson.build
@@ -61,18 +61,9 @@ foreach tuple : manpages
install_dir : mandirn)
man_pages += [p1]
- p2 = custom_target(
- html,
- input : xml,
- output : html,
- command : xslt_cmd + [custom_html_xsl, '@INPUT@'],
- depend_files : custom_entities_ent,
- install : want_html,
- install_dir : join_paths(docdir, 'html'))
- html_pages += [p2]
-
+ p2 = []
foreach htmlalias : htmlaliases
- p3 = custom_target(
+ link = custom_target(
htmlalias,
input : p2,
output : htmlalias,
@@ -81,10 +72,22 @@ foreach tuple : manpages
dst = join_paths(docdir, 'html', htmlalias)
cmd = 'ln -fs @0@ $DESTDIR@1@'.format(html, dst)
meson.add_install_script('sh', '-c', cmd)
+ p2 += [link]
endif
- html_pages += [p3]
+ html_pages += [link]
endforeach
+ p3 = custom_target(
+ html,
+ input : xml,
+ output : html,
+ command : xslt_cmd + [custom_html_xsl, '@INPUT@'],
+ depend_files : custom_entities_ent,
+ depends : p2,
+ install : want_html,
+ install_dir : join_paths(docdir, 'html'))
+ html_pages += [p3]
+
source_xml_files += files(tuple[0] + '.xml')
else
message('Skipping @0@.@1@ because @2@ is false'.format(stem, section, condition))
@@ -131,18 +134,10 @@ foreach tuple : [['systemd.directives', '7', systemd_directives_xml],
install_dir : mandirn)
man_pages += [p1]
- p2 = custom_target(
- html,
- input : xml,
- output : html,
- command : xslt_cmd + [custom_html_xsl, '@INPUT@'],
- install : want_html and have_lxml,
- install_dir : join_paths(docdir, 'html'))
- html_pages += [p2]
-
+ p2 = []
if html == 'systemd.index.html'
htmlalias = 'index.html'
- p3 = custom_target(
+ link = custom_target(
htmlalias,
input : p2,
output : htmlalias,
@@ -151,9 +146,21 @@ foreach tuple : [['systemd.directives', '7', systemd_directives_xml],
dst = join_paths(docdir, 'html', htmlalias)
cmd = 'ln -fs @0@ $DESTDIR@1@'.format(html, dst)
meson.add_install_script('sh', '-c', cmd)
+ p2 += [link]
endif
- html_pages += [p3]
+ html_pages += [link]
endif
+
+ p3 = custom_target(
+ html,
+ input : xml,
+ output : html,
+ command : xslt_cmd + [custom_html_xsl, '@INPUT@'],
+ depend_files : custom_entities_ent,
+ depends : p2,
+ install : want_html and have_lxml,
+ install_dir : join_paths(docdir, 'html'))
+ html_pages += [p3]
endforeach
# cannot use run_target until https://github.com/mesonbuild/meson/issues/1644 is resolved