It seems like meson doesn't want you to string together targets like make does, but wants it all in one step. So another little shell script it is. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> --- man/defs.rst.in | 5 +++++ man/meson.build | 45 +++++++++++++++++++++++++++++++++++++++++++++ man/rst2man.sh | 16 ++++++++++++++++ meson.build | 1 + 4 files changed, 67 insertions(+) create mode 100644 man/defs.rst.in create mode 100644 man/meson.build create mode 100755 man/rst2man.sh diff --git a/man/defs.rst.in b/man/defs.rst.in new file mode 100644 index 000000000000..54b7eec08903 --- /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 000000000000..4f9f88e87540 --- /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 000000000000..fc2b5ed863b1 --- /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 39749a0e1103..2b49a0db6500 100644 --- a/meson.build +++ b/meson.build @@ -120,3 +120,4 @@ if libdrm_intel.found() subdir('assembler') subdir('overlay') endif +subdir('man') -- 2.9.5 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx