xref: /aosp_15_r20/external/wayland/doc/meson.build (revision 84e872a0dc482bffdb63672969dd03a827d67c73)
1*84e872a0SLloyd Piqueif not get_option('libraries')
2*84e872a0SLloyd Pique	error('-Ddocumentation=true requires -Dlibraries=true')
3*84e872a0SLloyd Piqueendif
4*84e872a0SLloyd Pique
5*84e872a0SLloyd Piquedot = find_program('dot')
6*84e872a0SLloyd Piquedoxygen = find_program('doxygen')
7*84e872a0SLloyd Piquexsltproc = find_program('xsltproc')
8*84e872a0SLloyd Piquexmlto = find_program('xmlto')
9*84e872a0SLloyd Pique
10*84e872a0SLloyd Piquecmd = run_command(doxygen, '--version', check: true)
11*84e872a0SLloyd Piquemessage('doxygen: ' + cmd.stdout().strip())
12*84e872a0SLloyd Piquevers = cmd.stdout().strip()
13*84e872a0SLloyd Piqueif vers.version_compare('< 1.6.0')
14*84e872a0SLloyd Pique	error('Doxygen 1.6 or later is required for building documentation, found @0@.'.format(vers))
15*84e872a0SLloyd Piqueendif
16*84e872a0SLloyd Pique
17*84e872a0SLloyd Piquecmd = run_command(dot, '-V', check: true)
18*84e872a0SLloyd Piquemessage('dot: ' + cmd.stderr().strip())
19*84e872a0SLloyd Piquevers = cmd.stderr().split('version')[1].strip().split(' ')[0]
20*84e872a0SLloyd Piqueif vers.version_compare('< 2.26.0')
21*84e872a0SLloyd Pique	error('Dot (Graphviz) 2.26 or later is required for building documentation, found @0@.'.format(vers))
22*84e872a0SLloyd Piqueendif
23*84e872a0SLloyd Pique
24*84e872a0SLloyd Piquemanpage_xsl = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl'
25*84e872a0SLloyd Piquecmd = run_command(xsltproc, '--nonet', manpage_xsl, check: false)
26*84e872a0SLloyd Piqueif cmd.returncode() != 0
27*84e872a0SLloyd Pique	error('The style sheet for man pages providing "@0@" was not found.'.format(manpage_xsl))
28*84e872a0SLloyd Piqueendif
29*84e872a0SLloyd Pique
30*84e872a0SLloyd Piquepublican_install_prefix = join_paths(
31*84e872a0SLloyd Pique	get_option('prefix'),
32*84e872a0SLloyd Pique	get_option('datadir'),
33*84e872a0SLloyd Pique	'doc',
34*84e872a0SLloyd Pique	meson.project_name(),
35*84e872a0SLloyd Pique	'Wayland', 'en-US'
36*84e872a0SLloyd Pique)
37*84e872a0SLloyd Pique
38*84e872a0SLloyd Piquepublican_html_dir = 'html'
39*84e872a0SLloyd Pique
40*84e872a0SLloyd Piquesubdir('doxygen')
41*84e872a0SLloyd Piquesubdir('publican')
42