]> xenbits.xensource.com Git - people/royger/xen.git/commitdiff
tools: provide pkg-config file for libxendevicemodel
authorJuergen Gross <jgross@suse.com>
Tue, 14 Mar 2017 13:31:18 +0000 (14:31 +0100)
committerWei Liu <wei.liu2@citrix.com>
Tue, 14 Mar 2017 14:13:14 +0000 (14:13 +0000)
In order to be able to use pkg-config for obtaining linker- and
compiler-flags provide a xendevicemodel.pc file.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
.gitignore
tools/libs/devicemodel/Makefile
tools/libs/devicemodel/xendevicemodel.pc.in [new file with mode: 0644]

index af41e7a10e56ded82b6541cee61ae66541091cb9..ba0f2e4b47e13a5b6ef5ed823a7680890700bb82 100644 (file)
@@ -107,6 +107,7 @@ tools/libs/call/xencall.pc
 tools/libs/foreignmemory/headers.chk
 tools/libs/foreignmemory/xenforeignmemory.pc
 tools/libs/devicemodel/headers.chk
+tools/libs/devicemodel/xendevicemodel.pc
 tools/blktap2/daemon/blktapctrl
 tools/blktap2/drivers/img2qcow
 tools/blktap2/drivers/lock-util
index 180394208547687799a3953e5e79078987ff3280..55626a504970219ba17e028b81b0a4d1c8dfd6ab 100644 (file)
@@ -25,6 +25,23 @@ ifneq ($(nosharedlibs),y)
 LIB += libxendevicemodel.so
 endif
 
+PKG_CONFIG := xendevicemodel.pc
+PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
+
+ifneq ($(CONFIG_LIBXC_MINIOS),y)
+PKG_CONFIG_INST := $(PKG_CONFIG)
+$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
+$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
+$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+endif
+
+PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
+
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_LIBXENDEVICEMODEL)/include
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
+
 .PHONY: all
 all: build
 
@@ -33,7 +50,7 @@ build:
        $(MAKE) libs
 
 .PHONY: libs
-libs: headers.chk $(LIB)
+libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
 
 headers.chk: $(wildcard include/*.h)
 
@@ -57,6 +74,7 @@ install: build
        $(SYMLINK_SHLIB) libxendevicemodel.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxendevicemodel.so.$(MAJOR)
        $(SYMLINK_SHLIB) libxendevicemodel.so.$(MAJOR) $(DESTDIR)$(libdir)/libxendevicemodel.so
        $(INSTALL_DATA) include/xendevicemodel.h $(DESTDIR)$(includedir)
+       $(INSTALL_DATA) xendevicemodel.pc $(DESTDIR)$(PKG_INSTALLDIR)
 
 .PHONY: TAGS
 TAGS:
@@ -67,6 +85,7 @@ clean:
        rm -rf *.rpm $(LIB) *~ $(DEPS) $(LIB_OBJS) $(PIC_OBJS)
        rm -f libxendevicemodel.so.$(MAJOR).$(MINOR) libxendevicemodel.so.$(MAJOR)
        rm -f headers.chk
+       rm -f xendevicemodel.pc
 
 .PHONY: distclean
 distclean: clean
diff --git a/tools/libs/devicemodel/xendevicemodel.pc.in b/tools/libs/devicemodel/xendevicemodel.pc.in
new file mode 100644 (file)
index 0000000..ed08f83
--- /dev/null
@@ -0,0 +1,10 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xendevicemodel
+Description: The Xendevicemodel library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir} @@cflagslocal@@
+Libs: @@libsflag@@${libdir} -lxendevicemodel
+Requires.private: xentoollog,xencall