diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2019-05-09 13:23:50 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2019-05-09 18:17:28 +0200 |
commit | e9bbff18e1cb7fc2ec209255c523780ad2e3dfce (patch) | |
tree | ca351c185e3020a99e7e6a8963e921b1d0c05d72 | |
parent | Merge pull request #12513 from ssahani/vxlan (diff) | |
download | systemd-e9bbff18e1cb7fc2ec209255c523780ad2e3dfce.tar.xz systemd-e9bbff18e1cb7fc2ec209255c523780ad2e3dfce.zip |
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/.
-rwxr-xr-x | man/html.in | 12 | ||||
-rwxr-xr-x | man/man.in | 15 | ||||
-rw-r--r-- | man/meson.build | 12 | ||||
-rw-r--r-- | meson.build | 1 |
4 files changed, 40 insertions, 0 deletions
diff --git a/man/html.in b/man/html.in new file mode 100755 index 0000000000..d4debcc340 --- /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 0000000000..5700a642bd --- /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 ae9c941fcd..f3992b2834 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 eaf0eddcb1..35f8992345 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()) ##################################################################### |