From c5cb65eb7c876dee64df5e516953b839afe273f7 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Fri, 15 Jun 2018 15:42:14 -0400 Subject: 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 --- mesonbuild/modules/gnome.py | 2 ++ mesonbuild/scripts/gtkdochelper.py | 5 +++-- 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': -- cgit v1.2.1