Re: [Intel-gfx] [PATCH i-g-t 2/3] meson: gtkdoc support
On Thu, Feb 22, 2018 at 03:54:09PM -0800, Eric Anholt wrote: > Daniel Vetterwrites: > > > 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
Daniel Vetterwrites: > 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
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
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
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',