[igt-dev] [PATCH i-g-t] gtkdoc: Remove the build_by_default hack

Daniel Vetter daniel.vetter at ffwll.ch
Mon Jun 18 15:49:21 UTC 2018


meson 0.45 properly supports generated content_files. Except for the
minor issue that we're hitting an internal bug in meson. I've made a
pull request for that

https://github.com/mesonbuild/meson/pull/3189

which has now been addressed in

commit c1f275bfa644beafab9f8572351d4b64d61c148b
Author: Nirbheek Chauhan <nirbheek at centricular.com>
Date:   Sun May 6 20:09:49 2018 +0530

    gnome.gtkdoc: Allow passing file objects as xml_files

    If we pass a source files() object, we will look for it in the build
    directory, which is wrong. If we pass a build files() object (from
    configure_file()), we will find it in the build directory, and then
    try to copy it on top of itself in gtkdochelper.py getting a
    SameFileError.

    Add a test for it, and also properly iterate custom target outputs
    when adding to content files.

Downside of this all is that we'd need to up the meson requirements to
something like 0.47, which isn't even released yet :-/

v2: Rebase and also add version requirement.

Cc: Eric Anholt <eric at anholt.net>
Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
---
 docs/reference/igt-gpu-tools/meson.build | 10 +++++-----
 meson.build                              |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/docs/reference/igt-gpu-tools/meson.build b/docs/reference/igt-gpu-tools/meson.build
index aadb9af593d9..4f33c973a343 100644
--- a/docs/reference/igt-gpu-tools/meson.build
+++ b/docs/reference/igt-gpu-tools/meson.build
@@ -50,17 +50,17 @@ gen_programs = find_program('generate_programs_xml.sh')
 
 test_list_files = []
 
+generated_docs = []
+
 foreach group : test_groups
 	programs_xml = 'igt_test_programs_' + group + '_programs.xml'
-	custom_target(programs_xml,
+	generated_docs += custom_target(programs_xml,
 		      output : programs_xml,
-		      build_by_default : true,
 		      command : [ gen_programs, '@OUTPUT@', group, test_list ])
 
 	description_xml = 'igt_test_programs_' + group + '_description.xml'
-	custom_target(description_xml,
+	generated_docs += custom_target(description_xml,
 		      output : description_xml,
-		      build_by_default : true,
 		      depends : test_executables,
 		      command : [ gen_description, '@OUTPUT@', group, test_list ])
 endforeach
@@ -70,7 +70,7 @@ configure_file(input: 'version.xml.in',
 	       install: false, configuration: config)
 
 gnome.gtkdoc('igt-gpu-tools',
-	     content_files : ['igt_test_programs.xml'],
+	     content_files : ['igt_test_programs.xml'] + generated_docs,
 	     dependencies : lib_igt,
 	     install : true,
 	     main_xml : 'igt-gpu-tools-docs.xml',
diff --git a/meson.build b/meson.build
index cd736d8e232a..1e7b37bfa406 100644
--- a/meson.build
+++ b/meson.build
@@ -5,7 +5,7 @@ project('igt-gpu-tools', 'c',
           'c_std=gnu99',
         ],
 	license : 'MIT',
-	meson_version : '>0.40.0')
+	meson_version : '>0.47')
 
 cc = meson.get_compiler('c')
 
-- 
2.17.0



More information about the igt-dev mailing list