178 lines
5.0 KiB
Meson
178 lines
5.0 KiB
Meson
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
|