[libvirt] [PATCH] docs: apibuild: Fix VPATH build

Peter Krempa pkrempa at redhat.com
Fri Apr 22 14:21:38 UTC 2016


libvirt-common.h is generated into builddir/include/libvirt. apibuild.py
only operated on srcdir/inlcude/libvirt. With VPATH build
srcdir/docs/libvirt-libvirt-common.html would not get generated and make
RPM failed.
---
We still generate the html files and other stuff into the srcdir which is gross,
but's that for a different fix.

 docs/Makefile.am | 2 +-
 docs/apibuild.py | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/docs/Makefile.am b/docs/Makefile.am
index 3ca53a4..1b21b5c 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -325,7 +325,7 @@ $(APIBUILD_STAMP): $(srcdir)/apibuild.py \
 		$(top_srcdir)/src/util/virerror.c \
 		$(top_srcdir)/src/util/virevent.c \
 		$(top_srcdir)/src/util/virtypedparam.c
-	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(APIBUILD)
+	$(AM_V_GEN)srcdir=$(srcdir) builddir=$(abs_builddir) $(PYTHON) $(APIBUILD)
 	touch $@


diff --git a/docs/apibuild.py b/docs/apibuild.py
index 8882759..648036f 100755
--- a/docs/apibuild.py
+++ b/docs/apibuild.py
@@ -2584,13 +2584,18 @@ def rebuild(name):
         self.warning("rebuild() failed, unknown module %s") % name
         return None
     builder = None
-    srcdir = os.environ["srcdir"]
+    srcdir = os.path.abspath((os.environ["srcdir"]))
+    builddir = os.path.abspath((os.environ["builddir"]))
+    if srcdir == builddir:
+        builddir = None
     if glob.glob(srcdir + "/../src/libvirt.c") != [] :
         if not quiet:
             print "Rebuilding API description for %s" % name
         dirs = [srcdir + "/../src",
                 srcdir + "/../src/util",
                 srcdir + "/../include/libvirt"]
+        if builddir:
+            dirs.append(builddir + "/../include/libvirt")
         if glob.glob(srcdir + "/../include/libvirt/libvirt.h") == [] :
             dirs.append("../include/libvirt")
         builder = docBuilder(name, srcdir, dirs, [])
-- 
2.8.1




More information about the libvir-list mailing list