1if get_option('gtk_doc')
2  subdir('xml')
3
4  ignore_headers = [
5    'gallocator.h',
6    'gdatasetprivate.h',
7    'glibintl.h',
8    'gbsearcharray.h',
9    'glib-private.h',
10    'gmoduleconf.h',
11    'grcboxprivate.h',
12    'gstdioprivate.h',
13    'gthreadprivate.h',
14    'gunibreak.h',
15    'gunicomp.h',
16    'gunidecomp.h',
17    'gunichartables.h',
18    'glib_probes.h',
19    'glib_trace.h',
20    'libcharset.h',
21    'gdebug.h',
22    'gprintfint.h',
23    'gmirroringtable.h',
24    'gscripttable.h',
25    'gtrace-private.h',
26    'glib-mirroring-tab',
27    'gnulib',
28    'gbytesprivate.h',
29    'gvariant-internal.h',
30    'gvariant-serialiser.h',
31    'gvariant-core.h',
32    'gvarianttypeinfo.h',
33    'gwakeup.h',
34    'gtranslit-data.h',
35    'glib-init.h',
36    'gconstructor.h',
37    'valgrind.h',
38    'gutilsprivate.h',
39    'gvalgrind.h',
40    'dirent.h',
41  ]
42
43  docpath = join_paths(glib_datadir, 'gtk-doc', 'html')
44  version_conf = configuration_data()
45  version_conf.set('GLIB_VERSION', meson.project_version())
46  configure_file(
47    input: 'version.xml.in',
48    output: 'version.xml',
49    configuration: version_conf
50  )
51
52  gnome.gtkdoc('glib',
53               main_xml : 'glib-docs.xml',
54               namespace : 'g',
55               mode : 'none',
56               src_dir : [ 'glib', 'gmodule' ],
57               dependencies : libglib_dep,
58               scan_args : gtkdoc_common_scan_args + [
59                 '--ignore-headers=' + ' '.join(ignore_headers),
60               ],
61               content_files : [
62                 'cross.xml',
63                 'running.xml',
64                 'building.xml',
65                 'changes.xml',
66                 'compiling.xml',
67                 'programming.xml',
68                 'resources.xml',
69                 'regex-syntax.xml',
70                 'glib-gettextize.xml',
71                 'gtester.xml',
72                 'gtester-report.xml',
73                 'gvariant-varargs.xml',
74                 'gvariant-text.xml',
75               ],
76               expand_content_files : [
77                 'compiling.xml',
78               ],
79               html_assets : [
80                 'file-name-encodings.png',
81                 'mainloop-states.gif',
82                 'Sorted_binary_tree_breadth-first_traversal.svg',
83                 'Sorted_binary_tree_inorder.svg',
84                 'Sorted_binary_tree_postorder.svg',
85                 'Sorted_binary_tree_preorder.svg',
86               ],
87               fixxref_args: [
88                 '--html-dir=' + docpath,
89               ],
90               install: true,
91               check: true)
92endif
93
94if get_option('man')
95  manpages = ['glib-gettextize', 'gtester', 'gtester-report']
96  foreach page : manpages
97    custom_target(page + '-man',
98      input: page + '.xml',
99      output: page + '.1',
100      command: xsltproc_command,
101      install: true,
102      install_dir: man1_dir)
103  endforeach
104endif
105