Re: [Intel-gfx] [PATCH i-g-t 2/3] meson: gtkdoc support

2018-03-06 Thread Daniel Vetter
On Thu, Feb 22, 2018 at 03:54:09PM -0800, Eric Anholt wrote:
> Daniel Vetter  writes:
> 
> > Bunch of neat improvements:
> >
> > - xml generates correctly depend upon the test binaries
> > - no need to re-run autogen.sh when new chapters/functions get added,
> >   all handed by meson
> 
> I just rebased on top of this commit, and now my cross build takes 5
> minutes as my skylake build host slowly churns through executing the ARM
> binaries under QEMU.
> 
> Is there anything we could do to avoid executing the built binaries
> during the build process?

meson 0.45 will have the dependency tracking fixed for gtkdoc and will
allow us to drop the always_build hack. I'll see whether we can do a
version check or something like that to work around this all.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH i-g-t 2/3] meson: gtkdoc support

2018-02-22 Thread Eric Anholt
Daniel Vetter  writes:

> Bunch of neat improvements:
>
> - xml generates correctly depend upon the test binaries
> - no need to re-run autogen.sh when new chapters/functions get added,
>   all handed by meson

I just rebased on top of this commit, and now my cross build takes 5
minutes as my skylake build host slowly churns through executing the ARM
binaries under QEMU.

Is there anything we could do to avoid executing the built binaries
during the build process?


signature.asc
Description: PGP signature
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH i-g-t 2/3] meson: gtkdoc support

2017-12-05 Thread Daniel Vetter
Bunch of neat improvements:

- xml generates correctly depend upon the test binaries
- no need to re-run autogen.sh when new chapters/functions get added,
  all handed by meson

Still one issue:

- the gtkdoc target doesn't depend upon the custom_target yet, hacked
  around using build_by_default: true

  This is an issue known to upstream already:

  https://github.com/mesonbuild/meson/issues/2148

v2: Bump meson version to 0.42, since that's the first release which
adds the build dir when running the gtkdoc tools, and hence allows
including generated files.

v2:
- Undo the bump, it's only needed for generated source files. Other
  generated files as input should work with 0.40 already.

- Generate version.xml from version.xml.in, which allows us to keep
  the  entity.

v3: Add github issue link.

v4:
- Resurrect lost KEYWORDS (Petri)
- Fix issue when running with a clean build, files() doesn't work on generate
  files (Petri).

Signed-off-by: Daniel Vetter 
---
 docs/meson.build   |  1 +
 .../intel-gpu-tools/generate_description_xml.sh| 46 +
 .../intel-gpu-tools/generate_programs_xml.sh   | 22 ++
 docs/reference/intel-gpu-tools/meson.build | 80 ++
 docs/reference/meson.build |  1 +
 meson.build|  3 +
 meson.sh   |  2 +-
 tests/meson.build  |  6 +-
 8 files changed, 158 insertions(+), 3 deletions(-)
 create mode 100644 docs/meson.build
 create mode 100644 docs/reference/intel-gpu-tools/generate_description_xml.sh
 create mode 100755 docs/reference/intel-gpu-tools/generate_programs_xml.sh
 create mode 100644 docs/reference/intel-gpu-tools/meson.build
 create mode 100644 docs/reference/meson.build

diff --git a/docs/meson.build b/docs/meson.build
new file mode 100644
index ..ead14c4015d9
--- /dev/null
+++ b/docs/meson.build
@@ -0,0 +1 @@
+subdir('reference')
diff --git a/docs/reference/intel-gpu-tools/generate_description_xml.sh 
b/docs/reference/intel-gpu-tools/generate_description_xml.sh
new file mode 100644
index ..705a7bf3f180
--- /dev/null
+++ b/docs/reference/intel-gpu-tools/generate_description_xml.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+output=$1
+filter=$2
+testlist=$3
+testdir=$(dirname $testlist)
+
+KEYWORDS="(invalid|hang|swap|thrash|crc|tiled|tiling|rte|ctx|render|blt|bsd|vebox|exec|rpm)"
+
+echo "" > $output
+echo "> 
$output
+echo "   
\"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd\"; >> $output
+echo "[" >> $output
+echo "  http://www.w3.org/2003/XInclude'\">" >> $output
+echo "  " >> $output
+echo "]>" >> $output
+echo "" >> $output
+echo "Description" >> $output
+for test in `cat $testlist | tr ' ' '\n' | grep "^$filter" | sort`; do
+   echo "" >> $output;
+   echo "$test" | perl -pe 
"s/(?<=_)$KEYWORDS(?=(_|\\W))/\\1<\\/acronym>/g" >> $output;
+   echo "" >> $output;
+   if ./$testprog --list-subtests > /dev/null ; then
+   echo "Subtests" >> $output;
+   subtest_list=`./$testprog --list-subtests`;
+   subtest_count=`echo $subtest_list | wc -w`;
+   if [ $subtest_count -gt 100 ]; then
+   echo "This test has over 100 subtests. " >> 
$output;
+   echo "Run $test 
--list-subtests to list them." >> $output;
+   else
+   echo "" >> $output;
+   for subtest in $subtest_list; do
+   echo "" >> $output;
+   echo "$subtest" | perl -pe 
"s/\\b$KEYWORDS\\b/\\1<\\/acronym>/g" >> $output;
+   echo "" >> $output;
+   done;
+   echo "" >> $output;
+   fi;
+   echo "" >> $output;
+   fi;
+   echo "" >> $output;
+done;
+echo "" >> $output
diff --git a/docs/reference/intel-gpu-tools/generate_programs_xml.sh 
b/docs/reference/intel-gpu-tools/generate_programs_xml.sh
new file mode 100755
index ..73adc8cc7bfc
--- /dev/null
+++ b/docs/reference/intel-gpu-tools/generate_programs_xml.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+output=$1
+filter=$2
+testlist=$3
+
+echo "" > $output
+echo "> 
$output
+echo "   
\"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd\"; >> $output
+echo "[" >> $output
+echo "  http://www.w3.org/2003/XInclude'\">" >> $output
+echo "  " >> $output
+echo "]>" >> $output
+echo "" >> $output
+echo "Programs" >> $output
+echo "" 
>> $output
+for test in `cat $testlist | tr ' ' '\n' | grep "^$filter" | sort`; do
+   echo "" >> $output;
+   echo "$test" >> $output;
+done;
+echo "" >> $output
+echo "" >> $output
diff --git a/docs/reference/intel-gpu-tools/meson.build 
b/docs/reference/intel-gpu-tools/meson.build
new file mode 100644
index ..1c009229aae2
--- /dev/null

Re: [Intel-gfx] [PATCH i-g-t 2/3] meson: gtkdoc support

2017-12-05 Thread Petri Latvala
On Mon, Dec 04, 2017 at 09:48:36PM +0100, Daniel Vetter wrote:
> Bunch of neat improvements:
> 
> - xml generates correctly depend upon the test binaries
> - no need to re-run autogen.sh when new chapters/functions get added,
>   all handed by meson
> 
> Still one issue:
> 
> - the gtkdoc target doesn't depend upon the custom_target yet, hacked
>   around using build_by_default: true
> 
>   This is an issue known to upstream already:
> 
>   https://github.com/mesonbuild/meson/issues/2148
> 
> v2: Bump meson version to 0.42, since that's the first release which
> adds the build dir when running the gtkdoc tools, and hence allows
> including generated files.
> 
> v2:
> - Undo the bump, it's only needed for generated source files. Other
>   generated files as input should work with 0.40 already.
> 
> - Generate version.xml from version.xml.in, which allows us to keep
>   the  entity.
> 
> v3: Add github issue link.
> 
> Signed-off-by: Daniel Vetter 
> ---
>  docs/meson.build   |  1 +
>  .../intel-gpu-tools/generate_description_xml.sh| 44 
>  .../intel-gpu-tools/generate_programs_xml.sh   | 22 ++
>  docs/reference/intel-gpu-tools/meson.build | 80 
> ++
>  docs/reference/meson.build |  1 +
>  meson.build|  3 +
>  meson.sh   |  2 +-
>  tests/meson.build  |  6 +-
>  8 files changed, 157 insertions(+), 2 deletions(-)
>  create mode 100644 docs/meson.build
>  create mode 100644 docs/reference/intel-gpu-tools/generate_description_xml.sh
>  create mode 100755 docs/reference/intel-gpu-tools/generate_programs_xml.sh
>  create mode 100644 docs/reference/intel-gpu-tools/meson.build
>  create mode 100644 docs/reference/meson.build
> 
> diff --git a/docs/meson.build b/docs/meson.build
> new file mode 100644
> index ..ead14c4015d9
> --- /dev/null
> +++ b/docs/meson.build
> @@ -0,0 +1 @@
> +subdir('reference')
> diff --git a/docs/reference/intel-gpu-tools/generate_description_xml.sh 
> b/docs/reference/intel-gpu-tools/generate_description_xml.sh
> new file mode 100644
> index ..8e39e0c4c289
> --- /dev/null
> +++ b/docs/reference/intel-gpu-tools/generate_description_xml.sh
> @@ -0,0 +1,44 @@
> +#!/bin/sh
> +
> +output=$1
> +filter=$2
> +testlist=$3
> +testdir=$(dirname $testlist)
> +
> +echo "" > $output
> +echo "> 
> $output
> +echo "   
> \"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd\"; >> $output
> +echo "[" >> $output
> +echo "   'http://www.w3.org/2003/XInclude'\">" >> $output
> +echo "  " >> $output
> +echo "]>" >> $output
> +echo "" >> $output
> +echo "Description" >> $output
> +for test in `cat $testlist | tr ' ' '\n' | grep "^$filter" | sort`; do
> + echo "" >> $output;
> + echo "$test" | perl -pe 
> 's/(?<=_)$(KEYWORDS)(?=(_|\W))/\1<\/acronym>/g' >> $output;
> + echo "" >> $output;
> + if ./$testprog --list-subtests > /dev/null ; then
> + echo "Subtests" >> $output;
> + subtest_list=`./$testprog --list-subtests`;
> + subtest_count=`echo $subtest_list | wc -w`;
> + if [ $subtest_count -gt 100 ]; then
> + echo "This test has over 100 subtests. " >> 
> $output;
> + echo "Run $test 
> --list-subtests to list them." >> $output;
> + else
> + echo "" >> $output;
> + for subtest in $subtest_list; do
> + echo "" >> $output;
> + echo "$subtest" | perl -pe 
> 's/\b$(KEYWORDS)\b/\1<\/acronym>/g' >> $output;
> + echo "" >> $output;
> + done;
> + echo "" >> $output;
> + fi;
> + echo "" >> $output;
> + fi;
> + echo "" >> $output;
> +done;
> +echo "" >> $output
> diff --git a/docs/reference/intel-gpu-tools/generate_programs_xml.sh 
> b/docs/reference/intel-gpu-tools/generate_programs_xml.sh
> new file mode 100755
> index ..73adc8cc7bfc
> --- /dev/null
> +++ b/docs/reference/intel-gpu-tools/generate_programs_xml.sh
> @@ -0,0 +1,22 @@
> +#!/bin/sh
> +
> +output=$1
> +filter=$2
> +testlist=$3
> +
> +echo "" > $output
> +echo "> 
> $output
> +echo "   
> \"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd\"; >> $output
> +echo "[" >> $output
> +echo "   'http://www.w3.org/2003/XInclude'\">" >> $output
> +echo "  " >> $output
> +echo "]>" >> $output
> +echo "" >> $output
> +echo "Programs" >> $output
> +echo "" 
> >> $output
> +for test in `cat $testlist | tr ' ' '\n' | grep "^$filter" | sort`; do
> + echo "" >> $output;
> + echo "$test" >> $output;
> +done;
> +echo "" >> $output
> +echo "" >> $output
> diff --git a/docs/reference/intel-gpu-tools/meson.build 
> b/docs/reference/intel-gpu-tools/meson.build
> 

[Intel-gfx] [PATCH i-g-t 2/3] meson: gtkdoc support

2017-12-04 Thread Daniel Vetter
Bunch of neat improvements:

- xml generates correctly depend upon the test binaries
- no need to re-run autogen.sh when new chapters/functions get added,
  all handed by meson

Still one issue:

- the gtkdoc target doesn't depend upon the custom_target yet, hacked
  around using build_by_default: true

  This is an issue known to upstream already:

  https://github.com/mesonbuild/meson/issues/2148

v2: Bump meson version to 0.42, since that's the first release which
adds the build dir when running the gtkdoc tools, and hence allows
including generated files.

v2:
- Undo the bump, it's only needed for generated source files. Other
  generated files as input should work with 0.40 already.

- Generate version.xml from version.xml.in, which allows us to keep
  the  entity.

v3: Add github issue link.

Signed-off-by: Daniel Vetter 
---
 docs/meson.build   |  1 +
 .../intel-gpu-tools/generate_description_xml.sh| 44 
 .../intel-gpu-tools/generate_programs_xml.sh   | 22 ++
 docs/reference/intel-gpu-tools/meson.build | 80 ++
 docs/reference/meson.build |  1 +
 meson.build|  3 +
 meson.sh   |  2 +-
 tests/meson.build  |  6 +-
 8 files changed, 157 insertions(+), 2 deletions(-)
 create mode 100644 docs/meson.build
 create mode 100644 docs/reference/intel-gpu-tools/generate_description_xml.sh
 create mode 100755 docs/reference/intel-gpu-tools/generate_programs_xml.sh
 create mode 100644 docs/reference/intel-gpu-tools/meson.build
 create mode 100644 docs/reference/meson.build

diff --git a/docs/meson.build b/docs/meson.build
new file mode 100644
index ..ead14c4015d9
--- /dev/null
+++ b/docs/meson.build
@@ -0,0 +1 @@
+subdir('reference')
diff --git a/docs/reference/intel-gpu-tools/generate_description_xml.sh 
b/docs/reference/intel-gpu-tools/generate_description_xml.sh
new file mode 100644
index ..8e39e0c4c289
--- /dev/null
+++ b/docs/reference/intel-gpu-tools/generate_description_xml.sh
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+output=$1
+filter=$2
+testlist=$3
+testdir=$(dirname $testlist)
+
+echo "" > $output
+echo "> 
$output
+echo "   
\"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd\"; >> $output
+echo "[" >> $output
+echo "  http://www.w3.org/2003/XInclude'\">" >> $output
+echo "  " >> $output
+echo "]>" >> $output
+echo "" >> $output
+echo "Description" >> $output
+for test in `cat $testlist | tr ' ' '\n' | grep "^$filter" | sort`; do
+   echo "" >> $output;
+   echo "$test" | perl -pe 
's/(?<=_)$(KEYWORDS)(?=(_|\W))/\1<\/acronym>/g' >> $output;
+   echo "" >> $output;
+   if ./$testprog --list-subtests > /dev/null ; then
+   echo "Subtests" >> $output;
+   subtest_list=`./$testprog --list-subtests`;
+   subtest_count=`echo $subtest_list | wc -w`;
+   if [ $subtest_count -gt 100 ]; then
+   echo "This test has over 100 subtests. " >> 
$output;
+   echo "Run $test 
--list-subtests to list them." >> $output;
+   else
+   echo "" >> $output;
+   for subtest in $subtest_list; do
+   echo "" >> $output;
+   echo "$subtest" | perl -pe 
's/\b$(KEYWORDS)\b/\1<\/acronym>/g' >> $output;
+   echo "" >> $output;
+   done;
+   echo "" >> $output;
+   fi;
+   echo "" >> $output;
+   fi;
+   echo "" >> $output;
+done;
+echo "" >> $output
diff --git a/docs/reference/intel-gpu-tools/generate_programs_xml.sh 
b/docs/reference/intel-gpu-tools/generate_programs_xml.sh
new file mode 100755
index ..73adc8cc7bfc
--- /dev/null
+++ b/docs/reference/intel-gpu-tools/generate_programs_xml.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+output=$1
+filter=$2
+testlist=$3
+
+echo "" > $output
+echo "> 
$output
+echo "   
\"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd\"; >> $output
+echo "[" >> $output
+echo "  http://www.w3.org/2003/XInclude'\">" >> $output
+echo "  " >> $output
+echo "]>" >> $output
+echo "" >> $output
+echo "Programs" >> $output
+echo "" 
>> $output
+for test in `cat $testlist | tr ' ' '\n' | grep "^$filter" | sort`; do
+   echo "" >> $output;
+   echo "$test" >> $output;
+done;
+echo "" >> $output
+echo "" >> $output
diff --git a/docs/reference/intel-gpu-tools/meson.build 
b/docs/reference/intel-gpu-tools/meson.build
new file mode 100644
index ..1c009229aae2
--- /dev/null
+++ b/docs/reference/intel-gpu-tools/meson.build
@@ -0,0 +1,80 @@
+gnome = import('gnome')
+
+ignore_headers = [
+   'gen6_render.h',
+   'gen7_media.h',
+   'gen7_render.h',
+   'gen8_media.h',
+   'gen8_render.h',