-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'
-]
+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'
-]
+ 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: '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: '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})
+ 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')),
-]
+ 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)
+ 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_be_default: true)
+ endforeach
+ endforeach
+endif