aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2015-10-19 00:35:41 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2015-10-19 00:35:41 +0300
commitbbbe102cc29a19c726095dbd5118c515996e64f0 (patch)
tree4dd929f0d110d4b86ec98bbacf423aa931f28153
parent0b63f32fe33298bb373522b0a717e186a4d0ebd4 (diff)
downloadmeson-bbbe102cc29a19c726095dbd5118c515996e64f0.zip
meson-bbbe102cc29a19c726095dbd5118c515996e64f0.tar.gz
meson-bbbe102cc29a19c726095dbd5118c515996e64f0.tar.bz2
Can set extra args to gtkdoc scan.
-rwxr-xr-xgtkdochelper.py15
-rw-r--r--modules/gnome.py25
2 files changed, 26 insertions, 14 deletions
diff --git a/gtkdochelper.py b/gtkdochelper.py
index 16ddf60..c063bb6 100755
--- a/gtkdochelper.py
+++ b/gtkdochelper.py
@@ -27,16 +27,18 @@ parser.add_argument('--headerdir', dest='headerdir')
parser.add_argument('--mainfile', dest='mainfile')
parser.add_argument('--modulename', dest='modulename')
parser.add_argument('--htmlargs', dest='htmlargs', default='')
+parser.add_argument('--scanargs', dest='scanargs', default='')
def build_gtkdoc(source_root, build_root, doc_subdir, src_subdir,
- main_file, module, html_args):
+ main_file, module, html_args, scan_args):
abs_src = os.path.join(source_root, src_subdir)
abs_out = os.path.join(build_root, doc_subdir)
htmldir = os.path.join(abs_out, 'html')
subprocess.check_call(['gtkdoc-scan',
'--module=' + module,
'--source-dir=' + abs_src,
- '--output-dir=.'], cwd=abs_out)
+ '--output-dir=.'] + scan_args,
+ cwd=abs_out)
if main_file.endswith('sgml'):
modeflag = '--sgml-mode'
else:
@@ -78,17 +80,22 @@ def install_gtkdoc(build_root, doc_subdir, install_prefix, datadir, module):
if __name__ == '__main__':
options = parser.parse_args(sys.argv[1:])
- if len(options.htmlargs) >0:
+ if len(options.htmlargs) > 0:
htmlargs = options.htmlargs.split('@@')
else:
htmlargs = []
+ if len(options.scanargs) > 0:
+ scanargs = options.scanargs.split('@@')
+ else:
+ scanargs = []
build_gtkdoc(options.sourcedir,
options.builddir,
options.subdir,
options.headerdir,
options.mainfile,
options.modulename,
- htmlargs)
+ htmlargs,
+ scanargs)
if 'MESON_INSTALL_PREFIX' in os.environ:
if 'DESTDIR' in os.environ:
diff --git a/modules/gnome.py b/modules/gnome.py
index 9e2b476..f126bcf 100644
--- a/modules/gnome.py
+++ b/modules/gnome.py
@@ -233,21 +233,26 @@ class GnomeModule:
'--headerdir=' + header_dir,
'--mainfile=' + main_file,
'--modulename=' + modulename]
+ args += self.unpack_args('--htmlargs=', 'html_args', kwargs)
+ args += self.unpack_args('--scanargs=', 'scan_args', kwargs)
+ res = [build.RunTarget(targetname, command, args, state.subdir)]
+ if kwargs.get('install', True):
+ res.append(build.InstallScript([command] + args))
+ return res
+
+ def unpack_args(self, arg, kwarg_name, kwargs):
try:
- html_args = kwargs['html_args']
- if not isinstance(html_args, list):
- html_args = [html_args]
- for i in html_args:
+ new_args = kwargs[kwarg_name]
+ if not isinstance(new_args, list):
+ new_args = [new_args]
+ for i in new_args:
if not isinstance(i, str):
raise MesonException('html_args values must be strings.')
except KeyError:
- html_args = []
+ return[]
if len(html_args) > 0:
- args.append('--htmlargs=' + '@@'.join(html_args))
- res = [build.RunTarget(targetname, command, args, state.subdir)]
- if kwargs.get('install', True):
- res.append(build.InstallScript([command] + args))
- return res
+ return ['--htmlargs=' + '@@'.join(new_args)]
+ return []
def gdbus_codegen(self, state, args, kwargs):
if len(args) != 2: