[igt-dev] [PATCH i-g-t v4 6/8] testplan/meson.build: cleanup dependency chain

Mauro Carvalho Chehab mauro.chehab at linux.intel.com
Wed Mar 22 06:50:01 UTC 2023


From: Mauro Carvalho Chehab <mchehab at kernel.org>

Simplify the checks inside testplan/meson.build and ensure that
it will only build if option build_testplan is selected, by moving
such check to docs/meson.build.

Signed-off-by: Mauro Carvalho Chehab <mchehab at kernel.org>
---
 docs/meson.build          |  5 ++++-
 docs/testplan/meson.build | 42 +++++++++++++++++----------------------
 meson.build               |  3 +++
 scripts/meson.build       |  4 ++--
 4 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/docs/meson.build b/docs/meson.build
index 01edf64f04a8..d56260564cec 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -1,2 +1,5 @@
 subdir('reference')
-subdir('testplan')
+
+if igt_doc_script.found()
+	subdir('testplan')
+endif
diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
index d34a8212df76..9e7ae7a04753 100644
--- a/docs/testplan/meson.build
+++ b/docs/testplan/meson.build
@@ -1,10 +1,7 @@
 testplan_title = 'IGT test plans'
 
-build_testplan = get_option('testplan')
-build_sphinx = get_option('sphinx')
-
-rst2html = find_program('rst2html-3', 'rst2html', required : build_testplan)
 sphinx = find_program('sphinx-build', required: build_sphinx)
+rst2html = find_program('rst2html-3', 'rst2html', required : false)
 rst2pdf = find_program('rst2pdf', required: false)
 
 stylesheet = meson.current_source_dir() + '/testplan.css'
@@ -20,26 +17,24 @@ test_dict = { 'xe_tests': {
               }
             }
 
-if igt_doc_script.found()
-    foreach testplan, fields: test_dict
-        rst = custom_target(testplan + '.rst',
-                            build_by_default : true,
-                            command : [ igt_doc_script, '--config', '@INPUT@', '--rest', '@OUTPUT@' ] + fields['extra_args'],
-                            depends : test_executables,
-                            input : fields['input'],
-                            output : testplan + '.rst'
-                            )
+foreach testplan, fields: test_dict
+    rst = custom_target(testplan + '.rst',
+                        build_by_default : true,
+                        command : [ igt_doc_script, '--config', '@INPUT@', '--rest', '@OUTPUT@' ] + fields['extra_args'],
+                        depends : test_executables,
+                        input : fields['input'],
+                        output : testplan + '.rst'
+                        )
 
-        if rst2html.found()
-            custom_target(testplan + '.html',
-                          build_by_default : true,
-                          command : [ rst2html, '--stylesheet=' + stylesheet, '--field-name-limit=0', '@INPUT@', '@OUTPUT@' ],
-                          input : rst,
-                          output : testplan + '.html'
-                          )
-        endif
-    endforeach
-endif
+    if rst2html.found()
+        custom_target(testplan + '.html',
+                      build_by_default : true,
+                      command : [ rst2html, '--stylesheet=' + stylesheet, '--field-name-limit=0', '@INPUT@', '@OUTPUT@' ],
+                      input : rst,
+                      output : testplan + '.html'
+                      )
+    endif
+endforeach
 
 if sphinx.found()
     if gen_rst_index.found()
@@ -75,7 +70,6 @@ if sphinx.found()
     endif
 endif
 
-build_info += 'Build ReST test documentation: @0@'.format(igt_doc_script.found())
 build_info += 'Build simple html testplan documentation: @0@'.format(rst2html.found())
 build_info += 'Build indexed html testplan documentation: @0@'.format(sphinx.found())
 build_info += 'Build pdf testplan documentation: @0@'.format(sphinx.found() and rst2pdf.found())
diff --git a/meson.build b/meson.build
index 12d5113a9042..7360634fe199 100644
--- a/meson.build
+++ b/meson.build
@@ -328,6 +328,9 @@ else
 endif
 build_info += 'Build tests: @0@'.format(build_tests)
 
+build_testplan = get_option('testplan')
+build_sphinx = get_option('sphinx')
+
 subdir('benchmarks')
 subdir('tools')
 subdir('runner')
diff --git a/scripts/meson.build b/scripts/meson.build
index ce12aa02e946..98783222b6fc 100644
--- a/scripts/meson.build
+++ b/scripts/meson.build
@@ -12,5 +12,5 @@ if build_tests
 	endforeach
 endif
 
-igt_doc_script = find_program('igt_doc.py')
-gen_rst_index = find_program('gen_rst_index')
+igt_doc_script = find_program('igt_doc.py', required : build_testplan)
+gen_rst_index = find_program('gen_rst_index', required : build_sphinx)
-- 
2.39.2



More information about the igt-dev mailing list