[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] [RFC] Add libxen to overall xen build
libxen (c-bindings to new XenAPI) is not integrated into the overall xen build. This patch enables building of libxen when 'LIBXENAPI_BINDINGS ?= y' in Config.mk. Headers are installed in $(DESTDIR)/usr/include/xen/api and libs in $(DESTDIR/usr/$(LIBDIR). I did not include the test_bindings program since it introduces yet another dependency - libcurl. Regards, Jim # HG changeset patch # User jfehlig@xxxxxxxxxxxxxxxxxxxxxxxxx # Date 1164230707 25200 # Node ID 234b8e33a4b4a923b816b43c91f76bd4b97a36cf # Parent 08007423788ab86753515756b8142b075162c336 Add libxen to overall xen build via a config option in Config.mk. Signed-off-by: Jim Fehlig <jfehlig@xxxxxxxxxx> diff -r 08007423788a -r 234b8e33a4b4 Config.mk --- a/Config.mk Tue Nov 21 16:14:53 2006 +0000 +++ b/Config.mk Wed Nov 22 14:25:07 2006 -0700 @@ -71,5 +71,6 @@ XENSTAT_XENTOP ?= y XENSTAT_XENTOP ?= y VTPM_TOOLS ?= n +LIBXENAPI_BINDINGS ?= n -include $(XEN_ROOT)/.config diff -r 08007423788a -r 234b8e33a4b4 tools/Makefile --- a/tools/Makefile Tue Nov 21 16:14:53 2006 +0000 +++ b/tools/Makefile Wed Nov 22 14:25:07 2006 -0700 @@ -19,6 +19,7 @@ SUBDIRS-y += libaio SUBDIRS-y += libaio SUBDIRS-y += blktap SUBDIRS-y += libfsimage +SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen # These don't cross-compile ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH)) diff -r 08007423788a -r 234b8e33a4b4 tools/libxen/Makefile --- a/tools/libxen/Makefile Tue Nov 21 16:14:53 2006 +0000 +++ b/tools/libxen/Makefile Wed Nov 22 14:25:07 2006 -0700 @@ -15,23 +15,55 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +XEN_ROOT=../.. +include $(XEN_ROOT)/tools/Rules.mk + +MAJOR = 0.1 +MINOR = 0 CFLAGS = -Iinclude \ - $(shell xml2-config --cflags) \ + $(shell xml2-config --cflags) \ $(shell curl-config --cflags) \ -W -Wall -Wmissing-prototypes -Werror -std=c99 -O2 -fPIC LDFLAGS = $(shell xml2-config --libs) \ $(shell curl-config --libs) -test/test_bindings: test/test_bindings.o src/libxen.so - $(CC) $(LDFLAGS) -o $@ $< -L src -lxen +LIBXENAPI_HDRS = $(wildcard include/*.h) +LIBXENAPI_OBJS = $(patsubst %.c, %.o, $(wildcard src/*.c)) -src/libxen.so: $(patsubst %.c, %.o, $(wildcard src/*.c)) - $(CC) -shared -o $@ $^ + +.PHONY: all +all: libxenapi.so libxenapi.a + +libxenapi.so: libxenapi.so.$(MAJOR) + ln -sf $< $@ + +libxenapi.so.$(MAJOR): libxenapi.so.$(MAJOR).$(MINOR) + ln -sf $< $@ + +libxenapi.so.$(MAJOR).$(MINOR): $(LIBXENAPI_OBJS) + $(CC) $(CFLAGS) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenapi.so.$(MAJOR) $(SHLIB_CFLAGS) -o $@ $^ + +libxenapi.a: $(LIBXENAPI_OBJS) + $(AR) rcs libxenapi.a $^ + + +.PHONY: install +install: all + $(INSTALL_DIR) -p $(DESTDIR)/usr/include/xen/api + $(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR) + $(INSTALL_PROG) libxenapi.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR) + ln -sf libxenapi.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)/libxenapi.so.$(MAJOR) + ln -sf libxenapi.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxenapi.so + $(INSTALL_DATA) libxenapi.a $(DESTDIR)/usr/$(LIBDIR) + for i in $(LIBXENAPI_HDRS); do \ + $(INSTALL_DATA) $$i $(DESTDIR)/usr/include/xen/api; \ + done .PHONY: clean clean: rm -f `find -name *.o` - rm -f src/libxen.so + rm -f libxenapi.so* + rm -f libxenapi.a rm -f test/test_bindings _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |