xserver distcheck broken with and without --disable-devel-docs

Dan Nicholson dbn.lists at gmail.com
Sun Feb 20 08:51:40 PST 2011


On Sat, Feb 19, 2011 at 8:24 AM, Gaetan Nadon <memsize at videotron.ca> wrote:
> On Sat, 2011-02-19 at 17:08 +0100, Cyril Brulebois wrote:
>
> Gaetan Nadon <memsize at videotron.ca> (19/02/2011):
>> The scenario in question is running distcheck in a VPATH build when
>> doc generation is disabled which conflicts with the requirement of
>> mandating generated docs in the tarball.
>>
>> This scenario does not affect distro/OS builds as far as I can tell.
>
> Out-of-tree build (with doc enabled) failed for me. I'm attaching the
> patch I used to get going. Need to figure out why $(abs_builddir)
> instead of plain $(builddir), though. Please also note the typo fix
> for the last target, there was a missing slash.
>
> Failure:
> | make[3]: Entering directory
> `/home/cyril/debian-x/xserver/xorg-server.git/build-main/hw/dmx/doc'
> | /usr/bin/doxygen ../../../../hw/dmx/doc/doxygen.conf
> | error: tag HTML_HEADER: header file `doxygen.head' does not exist
> | make[3]: *** [html/annotated.html] Error 1
>
>
> That code has not changed for years. Perhaps a subtle change in automake
> behaviour.
> Out of curiosity, what version do you use? It may explain why just a few
> people noticed it.
> I am on automake 1.10.

I don't see how this could be automake doing anything. doxygen has
been passed the correct path to doxygen.conf, but it's having trouble
finding doxygen.head, which isn't specified on the command line.

Why don't we just generate doxygen.conf at build time with correct
srcdir paths. Something like this (untested, formatting broken by
gmail, using rename detection):

diff --git a/configure.ac b/configure.ac
index e1adeb5..f09cafc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2248,6 +2248,7 @@ hw/xfree86/utils/gtf/Makefile
 hw/dmx/config/Makefile
 hw/dmx/config/man/Makefile
 hw/dmx/doc/Makefile
+hw/dmx/doc/doxygen.conf
 hw/dmx/examples/Makefile
 hw/dmx/input/Makefile
 hw/dmx/glxProxy/Makefile
diff --git a/hw/dmx/doc/.gitignore b/hw/dmx/doc/.gitignore
index 6bdd862..92c1150 100644
--- a/hw/dmx/doc/.gitignore
+++ b/hw/dmx/doc/.gitignore
@@ -8,3 +8,4 @@ scaled.html
 scaled.pdf
 scaled.ps
 scaled.txt
+doxygen.conf
diff --git a/hw/dmx/doc/doxygen.conf b/hw/dmx/doc/doxygen.conf.in
similarity index 98%
rename from hw/dmx/doc/doxygen.conf
rename to hw/dmx/doc/doxygen.conf.in
index f7a541f..f886a43 100644
--- a/hw/dmx/doc/doxygen.conf
+++ b/hw/dmx/doc/doxygen.conf.in
@@ -344,9 +344,9 @@ WARN_LOGFILE           =
 # directories like "/usr/src/myproject". Separate the files or directories
 # with spaces.

-INPUT                  = .. \
-                         ../input \
-                         ../config
+INPUT                  = @srcdir@/.. \
+                         @srcdir@/../input \
+                         @srcdir@/../config

 # If the value of the INPUT tag contains directories, you can use the
 # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
@@ -367,9 +367,9 @@ RECURSIVE              = NO
 # excluded from the INPUT source files. This way you can easily exclude a
 # subdirectory from a directory tree whose root is specified with the INPUT tag

-EXCLUDE                = ../config/parser.c \
-                         ../config/parser.h \
-                         ../config/scanner.c
+EXCLUDE                = @srcdir@/../config/parser.c \
+                         @srcdir@/../config/parser.h \
+                         @srcdir@/../config/scanner.c

 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or directori
 # that are symbolic links (a Unix filesystem feature) are excluded from the inp
@@ -510,20 +510,20 @@ HTML_FILE_EXTENSION    = .html
 # each generated HTML page. If it is left blank doxygen will generate a
 # standard header.

-HTML_HEADER            = doxygen.head
+HTML_HEADER            = @srcdir@/doxygen.head

 # The HTML_FOOTER tag can be used to specify a personal HTML footer for
 # each generated HTML page. If it is left blank doxygen will generate a
 # standard footer.

-HTML_FOOTER            = doxygen.foot
+HTML_FOOTER            = @srcdir@/doxygen.foot

 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading
 # style sheet that is used by each HTML page. It can be used to
 # fine-tune the look of the HTML output. If the tag is left blank doxygen
 # will generate a default style sheet

-HTML_STYLESHEET        = doxygen.css
+HTML_STYLESHEET        = @srcdir@/doxygen.css

 # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
 # files or namespaces will be aligned in HTML using tables. If set to


More information about the xorg-devel mailing list