]> xenbits.xensource.com Git - libvirt.git/commitdiff
build: Fix VPATH build
authorJiri Denemark <jdenemar@redhat.com>
Wed, 16 Feb 2011 14:09:09 +0000 (15:09 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Thu, 17 Feb 2011 13:11:24 +0000 (14:11 +0100)
Even VPATH make dist succeeds now

docs/Makefile.am
docs/apibuild.py

index d0fe9189ca678cbe89a98d3a1a04073b1600d4a2..b525fdc5713c04ae97e9670b19cc6dd32a2aa022 100644 (file)
@@ -92,7 +92,7 @@ MAINTAINERCLEANFILES = $(dot_html) $(apihtml) $(devhelphtml)
 
 all: web
 
-api: libvirt-api.xml libvirt-refs.xml
+api: $(srcdir)/libvirt-api.xml $(srcdir)/libvirt-refs.xml
 
 web: $(dot_html) html/index.html devhelp/index.html
 
@@ -146,7 +146,7 @@ internals/%.html.tmp: internals/%.html.in subsite.xsl page.xsl sitemap.html.in
 html/index.html: libvirt-api.xml newapi.xsl page.xsl sitemap.html.in
        -@if [ -x $(XSLTPROC) ] ; then \
          echo "Rebuilding the HTML pages from the XML API" ; \
-         $(XSLTPROC) --nonet $(srcdir)/newapi.xsl libvirt-api.xml ; fi
+         $(XSLTPROC) --nonet $(srcdir)/newapi.xsl $(srcdir)/libvirt-api.xml ; fi
        -@if test -x $(XMLLINT) && test -x $(XMLCATALOG) ; then \
          if $(XMLCATALOG) '$(XML_CATALOG_FILE)' "-//W3C//DTD XHTML 1.0 Strict//EN" \
            > /dev/null ; then \
@@ -159,7 +159,7 @@ $(addprefix $(srcdir)/,$(devhelphtml)): $(srcdir)/libvirt-api.xml $(devhelpxsl)
        -@echo Rebuilding devhelp files
        -@if [ -x $(XSLTPROC) ] ; then \
          $(XSLTPROC) --nonet -o devhelp/libvirt.devhelp \
-         $(top_srcdir)/docs/devhelp/devhelp.xsl libvirt-api.xml ; fi
+         $(top_srcdir)/docs/devhelp/devhelp.xsl $(srcdir)/libvirt-api.xml ; fi
 
 python_generated_files = \
                $(srcdir)/html/libvirt-libvirt.html \
@@ -179,7 +179,7 @@ clean-local:
        rm -f *~ *.bak *.hierarchy *.signals *-unused.txt *.html
 
 maintainer-clean-local: clean-local
-       rm -rf libvirt-api.xml libvirt-refs.xml todo.html.in
+       rm -rf $(srcdir)/libvirt-api.xml $(srcdir)/libvirt-refs.xml todo.html.in
 
 rebuild: api all
 
index 62b75575bdcce506cfd05b1c4b561f9713c96690..895a3135bdf2ea8cf36b35ac82fa30c662568b80 100755 (executable)
@@ -1614,8 +1614,9 @@ class CParser:
 
 class docBuilder:
     """A documentation builder"""
-    def __init__(self, name, directories=['.'], includes=[]):
+    def __init__(self, name, path='.', directories=['.'], includes=[]):
         self.name = name
+        self.path = path
         self.directories = directories
        self.includes = includes + included_files.keys()
        self.modules = {}
@@ -2062,7 +2063,7 @@ class docBuilder:
        output.write("  </index>\n")
 
     def serialize(self):
-        filename = "%s-api.xml" % self.name
+        filename = "%s/%s-api.xml" % (self.path, self.name)
         print "Saving XML description %s" % (filename)
         output = open(filename, "w")
         output.write('<?xml version="1.0" encoding="ISO-8859-1"?>\n')
@@ -2098,7 +2099,7 @@ class docBuilder:
         output.write("</api>\n")
         output.close()
 
-        filename = "%s-refs.xml" % self.name
+        filename = "%s/%s-refs.xml" % (self.path, self.name)
         print "Saving XML Cross References %s" % (filename)
         output = open(filename, "w")
         output.write('<?xml version="1.0" encoding="ISO-8859-1"?>\n')
@@ -2113,14 +2114,16 @@ def rebuild():
     srcdir = os.environ["srcdir"]
     if glob.glob(srcdir + "/../src/libvirt.c") != [] :
         print "Rebuilding API description for libvirt"
-       builder = docBuilder("libvirt",
-                             [srcdir + "/../src",
-                              srcdir + "/../src/util",
-                              srcdir + "/../include/libvirt"],
-                             [])
+        dirs = [srcdir + "/../src",
+                srcdir + "/../src/util",
+                srcdir + "/../include/libvirt"]
+        if glob.glob(srcdir + "/../include/libvirt/libvirt.h") == [] :
+            dirs.append("../include/libvirt")
+        builder = docBuilder("libvirt", srcdir, dirs, [])
     elif glob.glob("src/libvirt.c") != [] :
-        print "Rebuilding API description for libvir"
-       builder = docBuilder("libvirt", ["src", "src/util", "include/libvirt"],
+        print "Rebuilding API description for libvirt"
+        builder = docBuilder("libvirt", srcdir,
+                             ["src", "src/util", "include/libvirt"],
                             [])
     else:
         print "rebuild() failed, unable to guess the module"