From: Zbigniew Jędrzejewski-Szmek Date: Thu, 9 May 2019 11:23:50 +0000 (+0200) Subject: meson: add build/man/man and build/man/html to build and display pages X-Git-Tag: v243-rc1~401^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e9bbff18e1cb7fc2ec209255c523780ad2e3dfce;p=thirdparty%2Fsystemd.git meson: add build/man/man and build/man/html to build and display pages Man page generation is generally very slow. I prefer to use -Dman=false when developing systemd, and only build specific pages when introducing changes. Those two little helper tools make it easy: $ build/man/man systemd.link $ build/man/html systemd.link will show systemd.link.8 and systemd.link.html from the build directory build/. --- diff --git a/man/html.in b/man/html.in new file mode 100755 index 00000000000..d4debcc3400 --- /dev/null +++ b/man/html.in @@ -0,0 +1,12 @@ +#!/bin/sh +set -e + +if [ -z "$1" ]; then + echo "Use: $0 page-name (with no section suffix)" + exit 1 +fi + +target="man/$1.html" +ninja -C "@BUILD_ROOT@" "$target" +set -x +exec xdg-open build/"$target" diff --git a/man/man.in b/man/man.in new file mode 100755 index 00000000000..5700a642bd8 --- /dev/null +++ b/man/man.in @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +if [ -z "$1" ]; then + echo "Use: $0 page-name (with no section suffix)" + exit 1 +fi + +target=$(ninja -C "@BUILD_ROOT@" -t query man/man | grep -E -m1 "man/$1\.[0-9]$" | awk '{print $2}') +if [ -z "$target" ]; then + echo "Cannot find page $1" + exit 1 +fi +ninja -C "@BUILD_ROOT@" "$target" +exec man build/"$target" diff --git a/man/meson.build b/man/meson.build index ae9c941fcda..f3992b28341 100644 --- a/man/meson.build +++ b/man/meson.build @@ -204,3 +204,15 @@ if git.found() 'mv t @0@/rules/meson.build'.format(meson.current_source_dir())], depend_files : custom_entities_ent) endif + +############################################################ + +configure_file( + input : 'man.in', + output : 'man', + configuration : substs) + +configure_file( + input : 'html.in', + output : 'html', + configuration : substs) diff --git a/meson.build b/meson.build index eaf0eddcb1a..35f8992345a 100644 --- a/meson.build +++ b/meson.build @@ -283,6 +283,7 @@ substs.set('RC_LOCAL_SCRIPT_PATH_START', get_option('rc-loc substs.set('RC_LOCAL_SCRIPT_PATH_STOP', get_option('halt-local')) substs.set('MEMORY_ACCOUNTING_DEFAULT', memory_accounting_default ? 'yes' : 'no') substs.set('HIGH_RLIMIT_NOFILE', conf.get('HIGH_RLIMIT_NOFILE')) +substs.set('BUILD_ROOT', meson.current_build_dir()) #####################################################################