summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--man/defs.rst.in5
-rw-r--r--man/meson.build45
-rwxr-xr-xman/rst2man.sh16
-rw-r--r--meson.build1
4 files changed, 67 insertions, 0 deletions
diff --git a/man/defs.rst.in b/man/defs.rst.in
new file mode 100644
index 00000000..54b7eec0
--- /dev/null
+++ b/man/defs.rst.in
@@ -0,0 +1,5 @@
+.. |PACKAGE_NAME| replace:: @PACKAGE_NAME@
+.. |PACKAGE_VERSION| replace:: @PACKAGE_VERSION@
+.. |PACKAGE_STRING| replace:: @PACKAGE_STRING@
+.. |MANUAL_SECTION| replace:: 1
+.. |MANUAL_GROUP| replace:: General Commands Manual
diff --git a/man/meson.build b/man/meson.build
new file mode 100644
index 00000000..4f9f88e8
--- /dev/null
+++ b/man/meson.build
@@ -0,0 +1,45 @@
+manpages = [
+ 'intel_aubdump',
+ 'intel_audio_dump',
+ 'intel_bios_dumper',
+ 'intel_error_decode',
+ 'intel_gpu_frequency',
+ 'intel_gpu_top',
+ 'intel_gtt',
+ 'intel_infoframes',
+ 'intel_lid',
+ 'intel_panel_fitter',
+ 'intel_reg',
+ 'intel_stepping',
+ 'intel_upload_blit_large',
+ 'intel_upload_blit_large_gtt',
+ 'intel_upload_blit_large_map',
+ 'intel_upload_blit_small',
+ 'intel_vbt_decode',
+]
+
+man_config = configuration_data()
+
+man_config.set('PACKAGE_NAME', meson.project_name())
+man_config.set('PACKAGE_VERSION', meson.project_version())
+man_config.set('PACKAGE_STRING', meson.project_name() + ' ' + meson.project_version())
+
+defs_rst = configure_file(input : 'defs.rst.in',
+ output : 'defs.rst',
+ configuration : man_config)
+
+rst2man = find_program('rst2man', required : false)
+rst2man_script = find_program('rst2man.sh')
+
+if rst2man.found()
+ foreach manpage : manpages
+ custom_target(manpage + '.1',
+ build_by_default : true,
+ command : [ rst2man_script, '@INPUT@', '@OUTPUT@' ],
+ depend_files : [ defs_rst ],
+ input: manpage + '.rst',
+ output : manpage + '.1.gz',
+ install : true,
+ install_dir : join_paths(get_option('mandir'), 'man1'))
+ endforeach
+endif
diff --git a/man/rst2man.sh b/man/rst2man.sh
new file mode 100755
index 00000000..fc2b5ed8
--- /dev/null
+++ b/man/rst2man.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+input=$1
+output=$2
+
+out_dir=$(dirname ${output})
+in_file=$(basename ${input})
+
+# rst2man doesn't handle multiple source directories well, and since defs.rst is
+# generated we first need to move it all into the build dir
+cp $input $out_dir
+
+rst2man $out_dir/$in_file ${output%.gz}
+
+rm -f ${output}
+gzip ${output%.gz}
diff --git a/meson.build b/meson.build
index 39749a0e..2b49a0db 100644
--- a/meson.build
+++ b/meson.build
@@ -120,3 +120,4 @@ if libdrm_intel.found()
subdir('assembler')
subdir('overlay')
endif
+subdir('man')