summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2018-06-15 15:42:14 -0400
committerJussi Pakkanen <jpakkane@gmail.com>2018-06-17 15:38:30 +0300
commitc5cb65eb7c876dee64df5e516953b839afe273f7 (patch)
tree0b0a49d160c1264e70ee6f1d0a51687d688f369f
parent8d5361bb1d79c55ef617a33df77ba46bcf136fec (diff)
downloadmeson-c5cb65eb7c876dee64df5e516953b839afe273f7.tar.gz
gtkdoc: Run gtkdoc-scangobj command from build directory
All paths in CFLAGS are relative to build_root, so current directory must be there we invoking gtkdoc-scangobj. Closes: #3379
-rw-r--r--mesonbuild/modules/gnome.py2
-rw-r--r--mesonbuild/scripts/gtkdochelper.py5
2 files changed, 5 insertions, 2 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index e1702c0aa..111e7f700 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -870,6 +870,8 @@ This will become a hard error in the future.''')
for i in new_args:
if expend_file_state and isinstance(i, mesonlib.File):
i = i.absolute_path(expend_file_state.environment.get_source_dir(), expend_file_state.environment.get_build_dir())
+ elif expend_file_state and isinstance(i, str):
+ i = os.path.join(expend_file_state.environment.get_source_dir(), expend_file_state.subdir, i)
elif not isinstance(i, str):
raise MesonException(kwarg_name + ' values must be strings.')
args.append(i)
diff --git a/mesonbuild/scripts/gtkdochelper.py b/mesonbuild/scripts/gtkdochelper.py
index 28959919c..fedcc4789 100644
--- a/mesonbuild/scripts/gtkdochelper.py
+++ b/mesonbuild/scripts/gtkdochelper.py
@@ -122,7 +122,8 @@ def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
'--module=' + module,
'--cflags=' + cflags,
'--ldflags=' + ldflags,
- '--ld=' + ld]
+ '--ld=' + ld,
+ '--output-dir=' + abs_out]
library_paths = []
for ldflag in shlex.split(ldflags):
@@ -132,7 +133,7 @@ def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
library_paths.append(os.environ['LD_LIBRARY_PATH'])
library_path = ':'.join(library_paths)
- gtkdoc_run_check(scanobjs_cmd, abs_out, library_path)
+ gtkdoc_run_check(scanobjs_cmd, build_root, library_path)
# Make docbook files
if mode == 'auto':