mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
tools/libxc: move libxenguest to tools/libs/guest
tools/libxc now contains libxenguest only. Move it to tools/libs/guest. When generating the pkg-config file for libxenguest a filter is now required for replacing "xenctrl" by "xencontrol" in the "Requires.private:" entry. Add this filter to tools/libs/libs.mk. Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> (stubdom parts)
This commit is contained in:
1 parent
af6c78d9dc
commit
e3dd624e48
52 files changed
+148
-261
No files matched your search
+8
-8
@@ -71,7 +71,6 @@ stubdom/include
|
||||
stubdom/ioemu
|
||||
stubdom/ioemu/
|
||||
stubdom/libs-*
|
||||
stubdom/libxc-*
|
||||
stubdom/libxencall-*
|
||||
stubdom/libxenevtchn-*
|
||||
stubdom/libxenforeignmemory-*
|
||||
@@ -121,6 +120,14 @@ tools/libs/foreignmemory/headers.chk
|
||||
tools/libs/foreignmemory/xenforeignmemory.pc
|
||||
tools/libs/devicemodel/headers.chk
|
||||
tools/libs/devicemodel/xendevicemodel.pc
|
||||
tools/libs/guest/_*.[ch]
|
||||
tools/libs/guest/libxenguest.map
|
||||
tools/libs/guest/xenguest.pc
|
||||
tools/libs/guest/xc_bitops.h
|
||||
tools/libs/guest/xc_core.h
|
||||
tools/libs/guest/xc_core_arm.h
|
||||
tools/libs/guest/xc_core_x86.h
|
||||
tools/libs/guest/xc_private.h
|
||||
tools/console/xenconsole
|
||||
tools/console/xenconsoled
|
||||
tools/console/client/_paths.h
|
||||
@@ -197,12 +204,6 @@ tools/include/xen-xsm/*
|
||||
tools/include/xen-foreign/*.(c|h|size)
|
||||
tools/include/xen-foreign/checker
|
||||
tools/libvchan/xenvchan.pc
|
||||
tools/libxc/*.pc
|
||||
tools/libxc/xc_bitops.h
|
||||
tools/libxc/xc_core.h
|
||||
tools/libxc/xc_core_arm.h
|
||||
tools/libxc/xc_core_x86.h
|
||||
tools/libxc/xc_private.h
|
||||
tools/libxl/_libxl.api-for-check
|
||||
tools/libxl/*.api-ok
|
||||
tools/libxl/*.pc
|
||||
@@ -370,7 +371,6 @@ tools/include/xen-foreign/arm64.h
|
||||
tools/misc/xen-hptool
|
||||
tools/misc/xen-mfndump
|
||||
tools/libs/toolcore/include/_*.h
|
||||
tools/libxc/_*.[ch]
|
||||
tools/libxl/_*.[ch]
|
||||
tools/libxl/testidl
|
||||
tools/libxl/testidl.c
|
||||
|
||||
+11
-23
@@ -331,7 +331,9 @@ endif
|
||||
# libraries under tools/libs
|
||||
#######
|
||||
|
||||
STUB_LIBS := toolcore toollog evtchn gnttab call foreignmemory devicemodel ctrl
|
||||
STUB_LIBS := toolcore toollog evtchn gnttab call foreignmemory devicemodel ctrl guest
|
||||
|
||||
LIBDEP_guest := cross-zlib
|
||||
|
||||
#######
|
||||
# common handling
|
||||
@@ -362,13 +364,10 @@ endef
|
||||
|
||||
$(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib))))
|
||||
|
||||
libxc-$(XEN_TARGET_ARCH)/stamp: $(XEN_ROOT)/tools/libxc/Makefile
|
||||
$(do_links)
|
||||
|
||||
xenstore/stamp: $(XEN_ROOT)/tools/xenstore/Makefile
|
||||
$(do_links)
|
||||
|
||||
LINK_DIRS := libxc-$(XEN_TARGET_ARCH) xenstore $(foreach dir,$(STUB_LIBS),libs-$(XEN_TARGET_ARCH)/$(dir))
|
||||
LINK_DIRS := xenstore $(foreach dir,$(STUB_LIBS),libs-$(XEN_TARGET_ARCH)/$(dir))
|
||||
LINK_STAMPS := $(foreach dir,$(LINK_DIRS),$(dir)/stamp)
|
||||
|
||||
mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET) $(LINK_STAMPS)
|
||||
@@ -391,16 +390,6 @@ $(TARGETS_MINIOS): mini-os-%:
|
||||
mkdir -p $@/$$i ; \
|
||||
done
|
||||
|
||||
#######
|
||||
# libxc
|
||||
#######
|
||||
|
||||
.PHONY: libxc
|
||||
libxc: libxc-$(XEN_TARGET_ARCH)/libxenguest.a
|
||||
libxc-$(XEN_TARGET_ARCH)/libxenguest.a: libxenevtchn libxenctrl cross-zlib
|
||||
libxc-$(XEN_TARGET_ARCH)/libxenguest.a: mk-headers-$(XEN_TARGET_ARCH) $(NEWLIB_STAMPFILE)
|
||||
CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= CONFIG_LIBXC_MINIOS=y -C libxc-$(XEN_TARGET_ARCH)
|
||||
|
||||
#######
|
||||
# ioemu
|
||||
#######
|
||||
@@ -409,7 +398,7 @@ ioemu-minios-config.mk: $(CURDIR)/ioemu-minios.cfg
|
||||
MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
|
||||
|
||||
.PHONY: ioemu
|
||||
ioemu: cross-zlib cross-libpci libxc ioemu-minios-config.mk
|
||||
ioemu: cross-zlib cross-libpci libxenguest ioemu-minios-config.mk
|
||||
[ -f ioemu/config-host.mak ] || \
|
||||
( $(buildmakevars2shellvars); \
|
||||
cd ioemu ; \
|
||||
@@ -503,15 +492,15 @@ xenstore: $(CROSS_ROOT) xenstore-minios-config.mk
|
||||
|
||||
.PHONY: ioemu-stubdom
|
||||
ioemu-stubdom: APP_OBJS=$(CURDIR)/ioemu/i386-stubdom/qemu.a $(CURDIR)/ioemu/i386-stubdom/libqemu.a $(CURDIR)/ioemu/libqemu_common.a
|
||||
ioemu-stubdom: mini-os-$(XEN_TARGET_ARCH)-ioemu lwip-$(XEN_TARGET_ARCH) libxc ioemu
|
||||
ioemu-stubdom: mini-os-$(XEN_TARGET_ARCH)-ioemu lwip-$(XEN_TARGET_ARCH) libxenguest ioemu
|
||||
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/ioemu-minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(APP_OBJS)"
|
||||
|
||||
.PHONY: caml-stubdom
|
||||
caml-stubdom: mini-os-$(XEN_TARGET_ARCH)-caml lwip-$(XEN_TARGET_ARCH) libxc cross-ocaml caml
|
||||
caml-stubdom: mini-os-$(XEN_TARGET_ARCH)-caml lwip-$(XEN_TARGET_ARCH) libxenguest cross-ocaml caml
|
||||
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/caml/minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(CURDIR)/caml/main-caml.o $(CURDIR)/caml/caml.o $(CAMLLIB)/libasmrun.a"
|
||||
|
||||
.PHONY: c-stubdom
|
||||
c-stubdom: mini-os-$(XEN_TARGET_ARCH)-c lwip-$(XEN_TARGET_ARCH) libxc c
|
||||
c-stubdom: mini-os-$(XEN_TARGET_ARCH)-c lwip-$(XEN_TARGET_ARCH) libxenguest c
|
||||
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/c/minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS=$(CURDIR)/c/main.a
|
||||
|
||||
.PHONY: vtpm-stubdom
|
||||
@@ -523,11 +512,11 @@ vtpmmgr-stubdom: mini-os-$(XEN_TARGET_ARCH)-vtpmmgr vtpmmgr
|
||||
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/vtpmmgr/minios.cfg" $(MAKE) -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS="$(CURDIR)/vtpmmgr/vtpmmgr.a" APP_LDLIBS="-lm -lpolarssl"
|
||||
|
||||
.PHONY: pv-grub
|
||||
pv-grub: mini-os-$(XEN_TARGET_ARCH)-grub libxc grub
|
||||
pv-grub: mini-os-$(XEN_TARGET_ARCH)-grub libxenguest grub
|
||||
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/grub/minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/grub-$(XEN_TARGET_ARCH)/main.a
|
||||
|
||||
.PHONY: xenstore-stubdom
|
||||
xenstore-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstore libxc xenstore
|
||||
xenstore-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstore libxenguest xenstore
|
||||
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/xenstore-minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/xenstore/xenstored.a
|
||||
|
||||
#########
|
||||
@@ -621,7 +610,6 @@ clean:
|
||||
rm -f $(STUBDOMPATH)
|
||||
rm -f *-minios-config.mk
|
||||
rm -fr pkg-config
|
||||
[ ! -e libxc-$(XEN_TARGET_ARCH)/Makefile ] || $(MAKE) DESTDIR= -C libxc-$(XEN_TARGET_ARCH) clean
|
||||
-[ ! -d ioemu ] || $(MAKE) DESTDIR= -C ioemu clean
|
||||
-[ ! -d xenstore ] || $(MAKE) DESTDIR= -C xenstore clean
|
||||
|
||||
@@ -632,7 +620,7 @@ crossclean: clean
|
||||
rm -fr newlib-$(XEN_TARGET_ARCH)
|
||||
rm -fr zlib-$(XEN_TARGET_ARCH) pciutils-$(XEN_TARGET_ARCH)
|
||||
rm -fr libs-$(XEN_TARGET_ARCH)
|
||||
rm -fr libxc-$(XEN_TARGET_ARCH) ioemu xenstore
|
||||
rm -fr ioemu xenstore
|
||||
rm -fr gmp-$(XEN_TARGET_ARCH)
|
||||
rm -fr polarssl-$(XEN_TARGET_ARCH)
|
||||
rm -fr openssl-$(XEN_TARGET_ARCH)
|
||||
|
||||
@@ -7,7 +7,7 @@ BOOT=$(OBJ_DIR)/boot-$(XEN_TARGET_ARCH).o
|
||||
|
||||
DEF_CPPFLAGS += -I$(XEN_ROOT)/tools/libs/toollog/include
|
||||
DEF_CPPFLAGS += -I$(XEN_ROOT)/tools/libs/ctrl/include
|
||||
DEF_CPPFLAGS += -I$(XEN_ROOT)/tools/libxc/include
|
||||
DEF_CPPFLAGS += -I$(XEN_ROOT)/tools/libs/guest/include
|
||||
DEF_CPPFLAGS += -I$(XEN_ROOT)/tools/include -I.
|
||||
DEF_CPPFLAGS += -I../grub-upstream/stage1
|
||||
DEF_CPPFLAGS += -I../grub-upstream/stage2
|
||||
|
||||
+1
-1
@@ -14,4 +14,4 @@ CALL_PATH = $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/call
|
||||
FOREIGNMEMORY_PATH = $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/foreignmemory
|
||||
DEVICEMODEL_PATH = $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/devicemodel
|
||||
CTRL_PATH = $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/ctrl
|
||||
GUEST_PATH = $(XEN_ROOT)/stubdom/libxc-$(MINIOS_TARGET_ARCH)
|
||||
GUEST_PATH = $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/guest
|
||||
+1
-2
@@ -6,7 +6,6 @@ include $(XEN_ROOT)/tools/Rules.mk
|
||||
|
||||
SUBDIRS-y :=
|
||||
SUBDIRS-y += libs
|
||||
SUBDIRS-y += libxc
|
||||
SUBDIRS-y += flask
|
||||
SUBDIRS-y += fuzz
|
||||
SUBDIRS-y += xenstore
|
||||
@@ -44,7 +43,7 @@ SUBDIRS-y += pygrub
|
||||
SUBDIRS-$(OCAML_TOOLS) += ocaml
|
||||
|
||||
ifeq ($(CONFIG_RUMP),y)
|
||||
SUBDIRS-y := libs libxc xenstore
|
||||
SUBDIRS-y := libs xenstore
|
||||
endif
|
||||
|
||||
# For the sake of linking, set the sys-root
|
||||
|
||||
+1
-6
@@ -15,7 +15,6 @@ XEN_INCLUDE = $(XEN_ROOT)/tools/include
|
||||
|
||||
include $(XEN_ROOT)/tools/libs/uselibs.mk
|
||||
|
||||
XEN_libxenguest = $(XEN_ROOT)/tools/libxc
|
||||
XEN_libxenlight = $(XEN_ROOT)/tools/libxl
|
||||
# Currently libxlutil lives in the same directory as libxenlight
|
||||
XEN_libxlutil = $(XEN_libxenlight)
|
||||
@@ -105,11 +104,7 @@ $(foreach lib,$(LIBS_LIBS),$(eval $(call LIB_defs,$(lib))))
|
||||
# code which compiles against libxenctrl get __XEN_TOOLS__ and
|
||||
# therefore sees the unstable hypercall interfaces.
|
||||
CFLAGS_libxenctrl += $(CFLAGS_libxentoollog) $(CFLAGS_libxenforeignmemory) $(CFLAGS_libxendevicemodel) -D__XEN_TOOLS__
|
||||
|
||||
CFLAGS_libxenguest = -I$(XEN_libxenguest)/include $(CFLAGS_libxenevtchn) $(CFLAGS_libxenforeignmemory) $(CFLAGS_xeninclude)
|
||||
SHDEPS_libxenguest = $(SHLIB_libxenevtchn) $(SHLIB_libxenctrl)
|
||||
LDLIBS_libxenguest = $(SHDEPS_libxenguest) $(XEN_libxenguest)/libxenguest$(libextension)
|
||||
SHLIB_libxenguest = $(SHDEPS_libxenguest) -Wl,-rpath-link=$(XEN_libxenguest)
|
||||
CFLAGS_libxenguest += $(CFLAGS_libxenevtchn) $(CFLAGS_libxenforeignmemory)
|
||||
|
||||
CFLAGS_libxenstore = -I$(XEN_libxenstore)/include $(CFLAGS_xeninclude)
|
||||
SHDEPS_libxenstore = $(SHLIB_libxentoolcore) $(SHLIB_libxenctrl)
|
||||
|
||||
@@ -10,6 +10,7 @@ SUBDIRS-y += call
|
||||
SUBDIRS-y += foreignmemory
|
||||
SUBDIRS-y += devicemodel
|
||||
SUBDIRS-y += ctrl
|
||||
SUBDIRS-y += guest
|
||||
SUBDIRS-y += hypfs
|
||||
|
||||
ifeq ($(CONFIG_RUMP),y)
|
||||
|
||||
File renamed without changes.
@@ -0,0 +1,121 @@
|
||||
XEN_ROOT = $(CURDIR)/../../..
|
||||
include $(XEN_ROOT)/tools/Rules.mk
|
||||
|
||||
ifeq ($(CONFIG_LIBXC_MINIOS),y)
|
||||
# Save/restore of a domain is currently incompatible with a stubdom environment
|
||||
override CONFIG_MIGRATE := n
|
||||
endif
|
||||
|
||||
LINK_FILES := xc_private.h xc_core.h xc_core_x86.h xc_core_arm.h xc_bitops.h
|
||||
|
||||
$(LINK_FILES):
|
||||
ln -sf $(XEN_ROOT)/tools/libs/ctrl/$(notdir $@) $@
|
||||
|
||||
SRCS-y += xg_private.c
|
||||
SRCS-y += xg_domain.c
|
||||
SRCS-y += xg_suspend.c
|
||||
ifeq ($(CONFIG_MIGRATE),y)
|
||||
SRCS-y += xg_sr_common.c
|
||||
SRCS-$(CONFIG_X86) += xg_sr_common_x86.c
|
||||
SRCS-$(CONFIG_X86) += xg_sr_common_x86_pv.c
|
||||
SRCS-$(CONFIG_X86) += xg_sr_restore_x86_pv.c
|
||||
SRCS-$(CONFIG_X86) += xg_sr_restore_x86_hvm.c
|
||||
SRCS-$(CONFIG_X86) += xg_sr_save_x86_pv.c
|
||||
SRCS-$(CONFIG_X86) += xg_sr_save_x86_hvm.c
|
||||
SRCS-y += xg_sr_restore.c
|
||||
SRCS-y += xg_sr_save.c
|
||||
SRCS-y += xg_offline_page.c
|
||||
else
|
||||
SRCS-y += xg_nomigrate.c
|
||||
endif
|
||||
|
||||
vpath %.c ../../../xen/common/libelf
|
||||
CFLAGS += -I../../../xen/common/libelf
|
||||
|
||||
ELF_SRCS-y += libelf-tools.c libelf-loader.c
|
||||
ELF_SRCS-y += libelf-dominfo.c
|
||||
|
||||
SRCS-y += $(ELF_SRCS-y)
|
||||
|
||||
$(patsubst %.c,%.o,$(ELF_SRCS-y)): CFLAGS += -Wno-pointer-sign
|
||||
$(patsubst %.c,%.opic,$(ELF_SRCS-y)): CFLAGS += -Wno-pointer-sign
|
||||
|
||||
ifeq ($(CONFIG_X86),y) # Add libx86 to the build
|
||||
vpath %.c ../../../xen/lib/x86
|
||||
|
||||
SRCS-y += cpuid.c msr.c
|
||||
endif
|
||||
|
||||
# new domain builder
|
||||
SRCS-y += xg_dom_core.c
|
||||
SRCS-y += xg_dom_boot.c
|
||||
SRCS-y += xg_dom_elfloader.c
|
||||
SRCS-$(CONFIG_X86) += xg_dom_bzimageloader.c
|
||||
SRCS-$(CONFIG_X86) += xg_dom_decompress_lz4.c
|
||||
SRCS-$(CONFIG_X86) += xg_dom_hvmloader.c
|
||||
SRCS-$(CONFIG_ARM) += xg_dom_armzimageloader.c
|
||||
SRCS-y += xg_dom_binloader.c
|
||||
SRCS-y += xg_dom_compat_linux.c
|
||||
|
||||
SRCS-$(CONFIG_X86) += xg_dom_x86.c
|
||||
SRCS-$(CONFIG_X86) += xg_cpuid_x86.c
|
||||
SRCS-$(CONFIG_ARM) += xg_dom_arm.c
|
||||
|
||||
ifeq ($(CONFIG_LIBXC_MINIOS),y)
|
||||
SRCS-y += xg_dom_decompress_unsafe.c
|
||||
SRCS-y += xg_dom_decompress_unsafe_bzip2.c
|
||||
SRCS-y += xg_dom_decompress_unsafe_lzma.c
|
||||
SRCS-y += xg_dom_decompress_unsafe_lzo1x.c
|
||||
SRCS-y += xg_dom_decompress_unsafe_xz.c
|
||||
endif
|
||||
|
||||
-include $(XEN_TARGET_ARCH)/Makefile
|
||||
|
||||
CFLAGS += -Werror -Wmissing-prototypes
|
||||
CFLAGS += -I. -I./include $(CFLAGS_xeninclude)
|
||||
CFLAGS += -D__XEN_TOOLS__
|
||||
CFLAGS += -include $(XEN_ROOT)/tools/config.h
|
||||
|
||||
# Needed for posix_fadvise64() in xc_linux.c
|
||||
CFLAGS-$(CONFIG_Linux) += -D_GNU_SOURCE
|
||||
|
||||
CFLAGS += $(PTHREAD_CFLAGS)
|
||||
CFLAGS += $(CFLAGS_libxentoollog)
|
||||
CFLAGS += $(CFLAGS_libxenevtchn)
|
||||
CFLAGS += $(CFLAGS_libxendevicemodel)
|
||||
|
||||
# libxenguest includes xc_private.h, so needs this despite not using
|
||||
# this functionality directly.
|
||||
CFLAGS += $(CFLAGS_libxencall) $(CFLAGS_libxenforeignmemory)
|
||||
|
||||
ifeq ($(CONFIG_MiniOS),y)
|
||||
zlib-options =
|
||||
else
|
||||
zlib-options = $(ZLIB)
|
||||
endif
|
||||
|
||||
xc_dom_bzimageloader.o: CFLAGS += $(filter -D%,$(zlib-options))
|
||||
xc_dom_bzimageloader.opic: CFLAGS += $(filter -D%,$(zlib-options))
|
||||
|
||||
LIBHEADER := xenguest.h
|
||||
|
||||
NO_HEADERS_CHK := y
|
||||
|
||||
include $(XEN_ROOT)/tools/libs/libs.mk
|
||||
|
||||
libxenguest.so.$(MAJOR).$(MINOR): COMPRESSION_LIBS = $(filter -l%,$(zlib-options))
|
||||
libxenguest.so.$(MAJOR).$(MINOR): APPEND_LDFLAGS += $(COMPRESSION_LIBS) -lz
|
||||
|
||||
genpath-target = $(call buildmakevars2header,_paths.h)
|
||||
$(eval $(genpath-target))
|
||||
|
||||
xc_private.h: _paths.h
|
||||
|
||||
$(LIB_OBJS) $(PIC_OBJS): $(LINK_FILES)
|
||||
|
||||
$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_libxenctrl)/include
|
||||
$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
|
||||
|
||||
.PHONY: cleanlocal
|
||||
cleanlocal:
|
||||
rm -f libxenguest.map
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+1
-1
@@ -34,7 +34,7 @@ PKG_CONFIG_DESC ?= The $(PKG_CONFIG_NAME) library for Xen hypervisor
|
||||
PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
|
||||
PKG_CONFIG_USELIBS := $(SHLIB_libxen$(LIBNAME))
|
||||
PKG_CONFIG_LIB := xen$(LIBNAME)
|
||||
PKG_CONFIG_REQPRIV := $(subst $(space),$(comma),$(strip $(foreach lib,$(USELIBS_$(LIBNAME)),xen$(lib))))
|
||||
PKG_CONFIG_REQPRIV := $(subst $(space),$(comma),$(strip $(foreach lib,$(patsubst ctrl,control,$(USELIBS_$(LIBNAME))),xen$(lib))))
|
||||
|
||||
ifneq ($(CONFIG_LIBXC_MINIOS),y)
|
||||
PKG_CONFIG_INST := $(PKG_CONFIG)
|
||||
|
||||
@@ -18,3 +18,5 @@ LIBS_LIBS += hypfs
|
||||
USELIBS_hypfs := toollog toolcore call
|
||||
LIBS_LIBS += ctrl
|
||||
USELIBS_ctrl := toollog call evtchn gnttab foreignmemory devicemodel
|
||||
LIBS_LIBS += guest
|
||||
USELIBS_guest := evtchn ctrl
|
||||
@@ -1,219 +0,0 @@
|
||||
XEN_ROOT = $(CURDIR)/../..
|
||||
include $(XEN_ROOT)/tools/Rules.mk
|
||||
|
||||
MAJOR = 4.15
|
||||
MINOR = 0
|
||||
|
||||
ifeq ($(CONFIG_LIBXC_MINIOS),y)
|
||||
# Save/restore of a domain is currently incompatible with a stubdom environment
|
||||
override CONFIG_MIGRATE := n
|
||||
endif
|
||||
|
||||
LINK_FILES := xc_private.h xc_core.h xc_core_x86.h xc_core_arm.h xc_bitops.h
|
||||
|
||||
$(LINK_FILES):
|
||||
ln -sf $(XEN_ROOT)/tools/libs/ctrl/$(notdir $@) $@
|
||||
|
||||
GUEST_SRCS-y :=
|
||||
GUEST_SRCS-y += xg_private.c
|
||||
GUEST_SRCS-y += xg_domain.c
|
||||
GUEST_SRCS-y += xg_suspend.c
|
||||
ifeq ($(CONFIG_MIGRATE),y)
|
||||
GUEST_SRCS-y += xg_sr_common.c
|
||||
GUEST_SRCS-$(CONFIG_X86) += xg_sr_common_x86.c
|
||||
GUEST_SRCS-$(CONFIG_X86) += xg_sr_common_x86_pv.c
|
||||
GUEST_SRCS-$(CONFIG_X86) += xg_sr_restore_x86_pv.c
|
||||
GUEST_SRCS-$(CONFIG_X86) += xg_sr_restore_x86_hvm.c
|
||||
GUEST_SRCS-$(CONFIG_X86) += xg_sr_save_x86_pv.c
|
||||
GUEST_SRCS-$(CONFIG_X86) += xg_sr_save_x86_hvm.c
|
||||
GUEST_SRCS-y += xg_sr_restore.c
|
||||
GUEST_SRCS-y += xg_sr_save.c
|
||||
GUEST_SRCS-y += xg_offline_page.c
|
||||
else
|
||||
GUEST_SRCS-y += xg_nomigrate.c
|
||||
endif
|
||||
|
||||
vpath %.c ../../xen/common/libelf
|
||||
CFLAGS += -I../../xen/common/libelf
|
||||
|
||||
ELF_SRCS-y += libelf-tools.c libelf-loader.c
|
||||
ELF_SRCS-y += libelf-dominfo.c
|
||||
|
||||
GUEST_SRCS-y += $(ELF_SRCS-y)
|
||||
|
||||
$(patsubst %.c,%.o,$(ELF_SRCS-y)): CFLAGS += -Wno-pointer-sign
|
||||
$(patsubst %.c,%.opic,$(ELF_SRCS-y)): CFLAGS += -Wno-pointer-sign
|
||||
|
||||
ifeq ($(CONFIG_X86),y) # Add libx86 to the build
|
||||
vpath %.c ../../xen/lib/x86
|
||||
|
||||
GUEST_SRCS-y += cpuid.c msr.c
|
||||
endif
|
||||
|
||||
# new domain builder
|
||||
GUEST_SRCS-y += xg_dom_core.c
|
||||
GUEST_SRCS-y += xg_dom_boot.c
|
||||
GUEST_SRCS-y += xg_dom_elfloader.c
|
||||
GUEST_SRCS-$(CONFIG_X86) += xg_dom_bzimageloader.c
|
||||
GUEST_SRCS-$(CONFIG_X86) += xg_dom_decompress_lz4.c
|
||||
GUEST_SRCS-$(CONFIG_X86) += xg_dom_hvmloader.c
|
||||
GUEST_SRCS-$(CONFIG_ARM) += xg_dom_armzimageloader.c
|
||||
GUEST_SRCS-y += xg_dom_binloader.c
|
||||
GUEST_SRCS-y += xg_dom_compat_linux.c
|
||||
|
||||
GUEST_SRCS-$(CONFIG_X86) += xg_dom_x86.c
|
||||
GUEST_SRCS-$(CONFIG_X86) += xg_cpuid_x86.c
|
||||
GUEST_SRCS-$(CONFIG_ARM) += xg_dom_arm.c
|
||||
|
||||
ifeq ($(CONFIG_LIBXC_MINIOS),y)
|
||||
GUEST_SRCS-y += xg_dom_decompress_unsafe.c
|
||||
GUEST_SRCS-y += xg_dom_decompress_unsafe_bzip2.c
|
||||
GUEST_SRCS-y += xg_dom_decompress_unsafe_lzma.c
|
||||
GUEST_SRCS-y += xg_dom_decompress_unsafe_lzo1x.c
|
||||
GUEST_SRCS-y += xg_dom_decompress_unsafe_xz.c
|
||||
endif
|
||||
|
||||
-include $(XEN_TARGET_ARCH)/Makefile
|
||||
|
||||
CFLAGS += -Werror -Wmissing-prototypes
|
||||
CFLAGS += -I. -I./include $(CFLAGS_xeninclude)
|
||||
CFLAGS += -D__XEN_TOOLS__
|
||||
|
||||
# Needed for posix_fadvise64() in xc_linux.c
|
||||
CFLAGS-$(CONFIG_Linux) += -D_GNU_SOURCE
|
||||
|
||||
CFLAGS += $(PTHREAD_CFLAGS)
|
||||
CFLAGS += $(CFLAGS_libxentoollog)
|
||||
CFLAGS += $(CFLAGS_libxenevtchn)
|
||||
CFLAGS += $(CFLAGS_libxendevicemodel)
|
||||
|
||||
GUEST_LIB_OBJS := $(patsubst %.c,%.o,$(GUEST_SRCS-y))
|
||||
GUEST_PIC_OBJS := $(patsubst %.c,%.opic,$(GUEST_SRCS-y))
|
||||
|
||||
$(GUEST_LIB_OBJS) $(GUEST_PIC_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h
|
||||
|
||||
# libxenguest includes xc_private.h, so needs this despite not using
|
||||
# this functionality directly.
|
||||
$(GUEST_LIB_OBJS) $(GUEST_PIC_OBJS): CFLAGS += $(CFLAGS_libxencall) $(CFLAGS_libxenforeignmemory)
|
||||
|
||||
LIB += libxenguest.a
|
||||
ifneq ($(nosharedlibs),y)
|
||||
LIB += libxenguest.so libxenguest.so.$(MAJOR) libxenguest.so.$(MAJOR).$(MINOR)
|
||||
endif
|
||||
|
||||
genpath-target = $(call buildmakevars2header,_paths.h)
|
||||
$(eval $(genpath-target))
|
||||
|
||||
xc_private.h: _paths.h
|
||||
|
||||
$(GUEST_LIB_OBJS) $(GUEST_PIC_OBJS): $(LINK_FILES)
|
||||
|
||||
PKG_CONFIG := xenguest.pc
|
||||
PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
|
||||
|
||||
xenguest.pc: PKG_CONFIG_NAME = Xenguest
|
||||
xenguest.pc: PKG_CONFIG_DESC = The Xenguest library for Xen hypervisor
|
||||
xenguest.pc: PKG_CONFIG_USELIBS = $(SHLIB_libxenguest)
|
||||
xenguest.pc: PKG_CONFIG_LIB = xenguest
|
||||
xenguest.pc: PKG_CONFIG_REQPRIV = xentoollog,xencall,xenforeignmemory,xenevtchn
|
||||
|
||||
$(PKG_CONFIG_DIR)/xenguest.pc: PKG_CONFIG_NAME = Xenguest
|
||||
$(PKG_CONFIG_DIR)/xenguest.pc: PKG_CONFIG_DESC = The Xenguest library for Xen hypervisor
|
||||
$(PKG_CONFIG_DIR)/xenguest.pc: PKG_CONFIG_USELIBS = $(SHLIB_libxenguest)
|
||||
$(PKG_CONFIG_DIR)/xenguest.pc: PKG_CONFIG_LIB = xenguest
|
||||
$(PKG_CONFIG_DIR)/xenguest.pc: PKG_CONFIG_REQPRIV = xentoollog,xencall,xenforeignmemory,xenevtchn,xencontrol
|
||||
|
||||
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_libxenctrl)/include
|
||||
$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
|
||||
$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
|
||||
|
||||
.PHONY: all
|
||||
all: build
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
$(MAKE) libs
|
||||
|
||||
.PHONY: libs
|
||||
libs: $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
|
||||
|
||||
.PHONY: install
|
||||
install: build
|
||||
$(INSTALL_DIR) $(DESTDIR)$(libdir)
|
||||
$(INSTALL_DIR) $(DESTDIR)$(includedir)
|
||||
$(INSTALL_SHLIB) libxenguest.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
|
||||
$(INSTALL_DATA) libxenguest.a $(DESTDIR)$(libdir)
|
||||
$(SYMLINK_SHLIB) libxenguest.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenguest.so.$(MAJOR)
|
||||
$(SYMLINK_SHLIB) libxenguest.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenguest.so
|
||||
$(INSTALL_DATA) include/xenguest.h $(DESTDIR)$(includedir)
|
||||
$(INSTALL_DATA) xenguest.pc $(DESTDIR)$(PKG_INSTALLDIR)
|
||||
|
||||
.PHONY: uninstall
|
||||
uninstall:
|
||||
rm -f $(DESTDIR)$(PKG_INSTALLDIR)/xenguest.pc
|
||||
rm -f $(DESTDIR)$(includedir)/xenguest.h
|
||||
rm -f $(DESTDIR)$(libdir)/libxenguest.so
|
||||
rm -f $(DESTDIR)$(libdir)/libxenguest.so.$(MAJOR)
|
||||
rm -f $(DESTDIR)$(libdir)/libxenguest.so.$(MAJOR).$(MINOR)
|
||||
rm -f $(DESTDIR)$(libdir)/libxenguest.a
|
||||
|
||||
.PHONY: TAGS
|
||||
TAGS:
|
||||
etags -t *.c *.h
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf *.rpm $(LIB) *~ $(DEPS_RM) \
|
||||
_paths.h \
|
||||
$(LINK_FILES) \
|
||||
xenguest.pc \
|
||||
$(GUEST_LIB_OBJS) $(GUEST_PIC_OBJS)
|
||||
|
||||
.PHONY: distclean
|
||||
distclean: clean
|
||||
|
||||
.PHONY: rpm
|
||||
rpm: build
|
||||
rm -rf staging
|
||||
mkdir staging
|
||||
mkdir staging/i386
|
||||
rpmbuild --define "staging$$PWD/staging" --define '_builddir.' \
|
||||
--define "_rpmdir$$PWD/staging" -bb rpm.spec
|
||||
mv staging/i386/*.rpm .
|
||||
rm -rf staging
|
||||
|
||||
# libxenguest
|
||||
|
||||
libxenguest.a: $(GUEST_LIB_OBJS)
|
||||
$(AR) rc $@ $^
|
||||
|
||||
libxenguest.so: libxenguest.so.$(MAJOR)
|
||||
$(SYMLINK_SHLIB) $< $@
|
||||
libxenguest.so.$(MAJOR): libxenguest.so.$(MAJOR).$(MINOR)
|
||||
$(SYMLINK_SHLIB) $< $@
|
||||
|
||||
ifeq ($(CONFIG_MiniOS),y)
|
||||
zlib-options =
|
||||
else
|
||||
zlib-options = $(ZLIB)
|
||||
endif
|
||||
|
||||
xc_dom_bzimageloader.o: CFLAGS += $(filter -D%,$(zlib-options))
|
||||
xc_dom_bzimageloader.opic: CFLAGS += $(filter -D%,$(zlib-options))
|
||||
|
||||
libxenguest.so.$(MAJOR).$(MINOR): COMPRESSION_LIBS = $(filter -l%,$(zlib-options))
|
||||
libxenguest.so.$(MAJOR).$(MINOR): $(GUEST_PIC_OBJS)
|
||||
$(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenguest.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(GUEST_PIC_OBJS) $(COMPRESSION_LIBS) -lz $(LDLIBS_libxenevtchn) $(LDLIBS_libxenctrl) $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
|
||||
|
||||
-include $(DEPS_INCLUDE)
|
||||
|
||||