[PATCH] rpc: Fix VPATH building issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



     The XDR routine .c file generated by rpcgen includes the corresponding
   Header file. however, the path in include directive of the header file
   is picked up based on the path of .x file. In the situation of VPATH Builds
   it will include full path of the header file rather than relative path. Hence,
   the error happens when compiling time

   For example: The libvirt source code resides in /home/testuser,
                I make dist in /tmp/buildvpath, the XDR routine .c file will
                include full path of the header file like:

                #include "/home/testuser/src/rpc/virnetprotocol.h"
                #include "internal.h"
                #include <arpa/inet.h>

   If we distribute the tarball to another machine to compile,
   it will report error as follows:

   rpc/virnetprotocol.c:7:59: fatal error:
   /home/testuser/src/rpc/virnetprotocol.h: No such file or directory
---
 src/Makefile.am |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index e57eca2..6c9f598 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -662,12 +662,18 @@ $(srcdir)/remote/remote_driver.c: $(REMOTE_DRIVER_GENERATED)
 endif WITH_REMOTE
 
 %protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
-	$(AM_V_GEN)perl -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
-	       $< $@
+	$(AM_V_GEN)protocolx='$<'; \
+	protocolc='$@'; \
+	cd $(srcdir); \
+	perl -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
+		$${protocolx/'$(srcdir)/'/''} $${protocolc/'$(srcdir)/'/''}
 
 %protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
-	$(AM_V_GEN)perl -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
-	       $< $@
+	$(AM_V_GEN)protocolx='$<'; \
+	protocolh='$@'; \
+	cd $(srcdir); \
+	perl -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
+		$${protocolx/'$(srcdir)/'/''} $${protocolh/'$(srcdir)/'/''}
 
 if WITH_XEN
 if WITH_DRIVER_MODULES
-- 
1.7.7.5

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]