if get_option('gtk_doc')
ignore_headers = [
'private.h',
'pkcs11.h',
'conf.h',
'debug.h',
'dict.h',
'filter.h',
'log.h',
'mock.h',
'modules.h',
'pkcs11.h',
'pkcs11i.h',
'pkcs11x.h',
'private.h',
'client.h',
'proxy.h',
'rpc.h',
'rpc-message.h',
'util.h',
'virtual.h',
'virtual-fixed.h',
'array.h',
'compat.h'
]
content_files = [
'p11-kit-config.xml',
'p11-kit-sharing.xml',
'p11-kit-devel.xml',
'p11-kit-proxy.xml',
'p11-kit-trust.xml',
'p11-kit-remoting.xml',
'p11-kit.xml',
'pkcs11.conf.xml',
'trust.xml',
'annotation-glossary.xml'
]
configure_file(
input: 'version.xml.in',
output: '@BASENAME@',
configuration: {'VERSION': meson.project_version()})
configure_file(
input: 'userdir.xml.in',
output: '@BASENAME@',
configuration: {'p11_user_config': p11_user_config})
configure_file(
input: 'sysdir.xml.in',
output: '@BASENAME@',
configuration: {'p11_system_config': p11_system_config})
glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
fixxref_args = [
'--html-dir=' + (prefix / gnome.gtkdoc_html_dir(meson.project_name())),
'--extra-dir=' + (glib_prefix / gnome.gtkdoc_html_dir('glib')),
]
gnome.gtkdoc('p11-kit',
main_xml: 'p11-kit-docs.xml',
namespace: 'p11_kit',
src_dir: 'p11-kit',
dependencies: libffi_deps + dlopen_deps,
scan_args: [
'--ignore-headers=' + ' '.join(ignore_headers),
'--rebuild-types',
'--deprecated-guards="P11_KIT_DISABLE_DEPRECATED"'
],
scanobjs_args: [
'--version'
],
content_files: content_files,
fixxref_args: fixxref_args,
install: true)
endif
if get_option('man')
xsltproc = find_program('xsltproc')
xsltproc_xsl = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl'
if run_command([xsltproc, '--nonet', xsltproc_xsl]).returncode() != 0
error('Docbook stylesheet for manpages is missing')
endif
xsltproc_flags = [
'--nonet',
'--stringparam', 'man.output.quietly', '1',
'--stringparam', 'funcsynopsis.style', 'ansi',
'--stringparam', 'man.th.extra1.suppress', '1',
'--stringparam', 'man.authors.section.enabled', '0',
'--stringparam', 'man.copyright.section.enabled', '0',
'--path', meson.current_build_dir(),
]
man_pages = {
'1': ['trust'],
'5': ['pkcs11.conf'],
'8': ['p11-kit'],
}
foreach section, pages: man_pages
foreach page: pages
man_src = '@0@.xml'.format(page)
man_dst = '@0@.@1@'.format(page, section)
man_section = 'man@0@'.format(section)
custom_target(man_dst,
command: [
xsltproc,
xsltproc_flags,
'-o', '@OUTPUT@',
xsltproc_xsl,
'@INPUT@',
],
input: man_src,
output: man_dst,
install: true,
install_dir: join_paths(mandir, man_section),
build_by_default: true)
endforeach
endforeach
endif