aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/scripts
diff options
context:
space:
mode:
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2018-09-13 03:22:59 +0200
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2018-09-21 09:13:21 +0200
commit5bec6c28e7e762dc61a5c5643714d63c39b57877 (patch)
tree6d140bf77f1c8bf19f201565dc32be7e04faea0c /mesonbuild/scripts
parent2b6fa3dd3b12f75bfbe4f5d6299c76c6b0b9098e (diff)
downloadmeson-5bec6c28e7e762dc61a5c5643714d63c39b57877.zip
meson-5bec6c28e7e762dc61a5c5643714d63c39b57877.tar.gz
meson-5bec6c28e7e762dc61a5c5643714d63c39b57877.tar.bz2
gnome: add support for `module_version`
gtk-doc for autotools has the concept of module version, that is used to define the module install path and the devhelp2 basename. Add a `module_version` parameter to gnome.gtkdoc to replicate the same behavior. Updated the test checking that the install_dir is properly computed (if not passed), and that the .devhelp2 file has proper name. https://gitlab.gnome.org/GNOME/gtk-doc/blob/GTK_DOC_1_29/buildsystems/autotools/gtk-doc.make#L269
Diffstat (limited to 'mesonbuild/scripts')
-rw-r--r--mesonbuild/scripts/gtkdochelper.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/mesonbuild/scripts/gtkdochelper.py b/mesonbuild/scripts/gtkdochelper.py
index bf3d9f6..04b4deb 100644
--- a/mesonbuild/scripts/gtkdochelper.py
+++ b/mesonbuild/scripts/gtkdochelper.py
@@ -28,6 +28,7 @@ parser.add_argument('--subdir', dest='subdir')
parser.add_argument('--headerdirs', dest='headerdirs')
parser.add_argument('--mainfile', dest='mainfile')
parser.add_argument('--modulename', dest='modulename')
+parser.add_argument('--moduleversion', dest='moduleversion')
parser.add_argument('--htmlargs', dest='htmlargs', default='')
parser.add_argument('--scanargs', dest='scanargs', default='')
parser.add_argument('--scanobjsargs', dest='scanobjsargs', default='')
@@ -73,7 +74,7 @@ def gtkdoc_run_check(cmd, cwd, library_paths=None):
print(out)
def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
- main_file, module,
+ main_file, module, module_version,
html_args, scan_args, fixxref_args, mkdb_args,
gobject_typesfile, scanobjs_args, run, ld, cc, ldflags, cflags,
html_assets, content_files, ignore_headers, namespace,
@@ -191,7 +192,7 @@ def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
else:
mkhtml_cmd.append('%s-docs.xml' % module)
# html gen must be run in the HTML dir
- gtkdoc_run_check(mkhtml_cmd, os.path.join(abs_out, 'html'))
+ gtkdoc_run_check(mkhtml_cmd, htmldir)
# Fix cross-references in HTML files
fixref_cmd = ['gtkdoc-fixxref',
@@ -199,6 +200,10 @@ def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
'--module-dir=html'] + fixxref_args
gtkdoc_run_check(fixref_cmd, abs_out)
+ if module_version:
+ shutil.move(os.path.join(htmldir, '{}.devhelp2'.format(module)),
+ os.path.join(htmldir, '{}-{}.devhelp2'.format(module, module_version)))
+
def install_gtkdoc(build_root, doc_subdir, install_prefix, datadir, module):
source = os.path.join(build_root, doc_subdir, 'html')
final_destination = os.path.join(install_prefix, datadir, module)
@@ -234,6 +239,7 @@ def run(args):
options.headerdirs.split('@@'),
options.mainfile,
options.modulename,
+ options.moduleversion,
htmlargs,
scanargs,
fixxrefargs,
@@ -255,7 +261,12 @@ def run(args):
if 'MESON_INSTALL_PREFIX' in os.environ:
destdir = os.environ.get('DESTDIR', '')
install_prefix = destdir_join(destdir, os.environ['MESON_INSTALL_PREFIX'])
- install_dir = options.install_dir if options.install_dir else options.modulename
+ if options.install_dir:
+ install_dir = options.install_dir
+ else:
+ install_dir = options.modulename
+ if options.moduleversion:
+ install_dir += '-' + options.moduleversion
if os.path.isabs(install_dir):
install_dir = destdir_join(destdir, install_dir)
install_gtkdoc(options.builddir,