| doc_targets = [] |
| |
| docbook2man = find_program('docbook2man', required: get_option('doc-man')) |
| docbook2txt = find_program('docbook2txt', required: get_option('doc-txt')) |
| docbook2pdf = find_program('docbook2pdf', required: get_option('doc-pdf')) |
| docbook2html = find_program('docbook2html', required: get_option('doc-html')) |
| |
| # docbook is very spammy |
| run_quiet = find_program('run-quiet.py') |
| |
| # .fncs files |
| doc_funcs_fncs = [ |
| 'fcatomic', |
| 'fcblanks', |
| 'fccache', |
| 'fccharset', |
| 'fcconfig', |
| 'fcconstant', |
| 'fcdircache', |
| 'fcfile', |
| 'fcfontset', |
| 'fcformat', |
| 'fcfreetype', |
| 'fcinit', |
| 'fclangset', |
| 'fcmatrix', |
| 'fcobjectset', |
| 'fcobjecttype', |
| 'fcpattern', |
| 'fcrange', |
| 'fcstring', |
| 'fcstrset', |
| 'fcvalue', |
| 'fcweight', |
| ] |
| |
| fncs_files = [] |
| foreach f : doc_funcs_fncs |
| fncs_files += files('@0@.fncs'.format(f)) |
| endforeach |
| |
| man_pages = [] |
| |
| extract_man_list = find_program('extract-man-list.py') |
| man_list = run_command(extract_man_list, fncs_files, check: true).stdout().split() |
| |
| foreach m : man_list |
| man_pages += ['@0@.3'.format(m)] |
| endforeach |
| |
| # Generate sgml pages for funcs |
| edit_sgml = find_program('edit-sgml.py') |
| |
| # copy into build directory, it includes generated files from build directory |
| fontconfig_devel_sgml = configure_file(output: 'fontconfig-devel.sgml', |
| input: 'fontconfig-devel.sgml', |
| copy: true) |
| |
| fontconfig_user_sgml = configure_file(output: 'fontconfig-user.sgml', |
| input: 'fontconfig-user.sgml', |
| copy: true) |
| |
| version_conf = configuration_data() |
| version_conf.set('VERSION', meson.project_version()) |
| |
| configure_file(output: 'version.sgml', |
| input: 'version.sgml.in', |
| configuration: version_conf) |
| |
| confdir_conf = configuration_data() |
| confdir_conf.set('BASECONFIGDIR', fc_configdir) |
| |
| confdir_sgml = configure_file(output: 'confdir.sgml', |
| input: 'confdir.sgml.in', |
| configuration: confdir_conf) |
| |
| funcs_sgml = [] |
| |
| foreach f : doc_funcs_fncs |
| funcs_sgml += [custom_target('@0@.sgml'.format(f), |
| input: [files('func.sgml'), files('@0@.fncs'.format(f))], |
| output: '@0@.sgml'.format(f), |
| command: [edit_sgml, '@INPUT0@', '@INPUT1@', '@OUTPUT@'], |
| install: false)] |
| endforeach |
| |
| if docbook2man.found() |
| doc_targets += ['man'] |
| |
| custom_target('devel-man', |
| input: [fontconfig_devel_sgml, funcs_sgml], |
| output: man_pages, |
| command: [run_quiet, docbook2man, '@INPUT0@', '--output', '@OUTDIR@'], |
| build_by_default: true, |
| install_dir: get_option('mandir') / 'man3', |
| install: true) |
| |
| # fonts.conf(5) |
| custom_target('fonts-conf-5-man-page', |
| input: [fontconfig_user_sgml], |
| output: 'fonts-conf.5', |
| command: [run_quiet, docbook2man, '@INPUT0@', '--output', '@OUTDIR@'], |
| install_dir: get_option('mandir') / 'man5', |
| build_by_default: true, |
| install: true) |
| |
| # Generate man pages for tools |
| foreach t : tools_man_pages |
| # docbook2man doesn't seem to have a --quiet option unfortunately |
| custom_target('@0@-man-page'.format(t), |
| input: '../@0@/@0@.sgml'.format(t), |
| output: '@0@.1'.format(t), |
| command: [run_quiet, docbook2man, '@INPUT@', '--output', '@OUTDIR@'], |
| install_dir: get_option('mandir') / 'man1', |
| install: true) |
| endforeach |
| endif |
| |
| if docbook2pdf.found() |
| doc_targets += ['PDF'] |
| |
| custom_target('devel-pdf', |
| input: [fontconfig_devel_sgml, funcs_sgml], |
| output: 'fontconfig-devel.pdf', |
| command: [run_quiet, docbook2pdf, '@INPUT0@', '--output', '@OUTDIR@'], |
| build_by_default: true, |
| install_dir: get_option('datadir') / 'doc' / 'fontconfig', |
| install: true) |
| |
| custom_target('user-pdf', |
| input: [fontconfig_user_sgml, funcs_sgml], |
| output: 'fontconfig-user.pdf', |
| command: [run_quiet, docbook2pdf, '@INPUT0@', '--output', '@OUTDIR@'], |
| build_by_default: true, |
| install_dir: get_option('datadir') / 'doc' / 'fontconfig', |
| install: true) |
| endif |
| |
| if docbook2txt.found() |
| doc_targets += ['Text'] |
| |
| custom_target('devel-txt', |
| input: [fontconfig_devel_sgml, funcs_sgml], |
| output: 'fontconfig-devel.txt', |
| command: [run_quiet, docbook2txt, '@INPUT0@', '--output', '@OUTDIR@'], |
| build_by_default: true, |
| install_dir: get_option('datadir') / 'doc' / 'fontconfig', |
| install: true) |
| |
| custom_target('user-txt', |
| input: [fontconfig_user_sgml, funcs_sgml], |
| output: 'fontconfig-user.txt', |
| command: [run_quiet, docbook2txt, '@INPUT0@', '--output', '@OUTDIR@'], |
| build_by_default: true, |
| install_dir: get_option('datadir') / 'doc' / 'fontconfig', |
| install: true) |
| endif |
| |
| if docbook2html.found() |
| doc_targets += ['HTML'] |
| |
| custom_target('devel-html', |
| input: [fontconfig_devel_sgml, funcs_sgml], |
| output: 'fontconfig-devel.html', |
| command: [run_quiet, docbook2html, '--nochunks', '@INPUT0@', '--output', '@OUTDIR@'], |
| build_by_default: true, |
| install_dir: get_option('datadir') / 'doc' / 'fontconfig', |
| install: true) |
| |
| custom_target('user-html', |
| input: [fontconfig_user_sgml, funcs_sgml], |
| output: 'fontconfig-user.html', |
| command: [run_quiet, docbook2html, '--nochunks', '@INPUT0@', '--output', '@OUTDIR@'], |
| build_by_default: true, |
| install_dir: get_option('datadir') / 'doc' / 'fontconfig', |
| install: true) |
| endif |