From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org,
Andrew Cooper <andrew.cooper3@citrix.com>,
George Dunlap <george.dunlap@citrix.com>,
Ian Jackson <ian.jackson@eu.citrix.com>,
Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v3 27/38] tools/libxc: move libxenguest to tools/libs/guest
Date: Sun, 23 Aug 2020 11:53:23 +0200 [thread overview]
Message-ID: <20200823095323.quf2ytbkaacsghuz@function> (raw)
In-Reply-To: <20200823093519.18386-28-jgross@suse.com>
Juergen Gross, le dim. 23 août 2020 11:35:08 +0200, a ecrit:
> tools/libxc now contains libxenguest only. Move it to tools/libs/guest.
I was wondering about factorizing parts of the rules for libxc indeed,
now done then :)
Thanks!
> Signed-off-by: Juergen Gross <jgross@suse.com>
For the stubdom part:
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> ---
> .gitignore | 16 +-
> stubdom/Makefile | 34 +--
> stubdom/grub/Makefile | 2 +-
> stubdom/mini-os.mk | 2 +-
> tools/Makefile | 3 +-
> tools/Rules.mk | 7 +-
> tools/libs/Makefile | 1 +
> tools/{libxc => libs/guest}/COPYING | 0
> tools/libs/guest/Makefile | 121 ++++++++++
> .../{libxc => libs/guest}/include/xenguest.h | 0
> tools/{libxc => libs/guest}/xenguest.pc.in | 0
> tools/{libxc => libs/guest}/xg_cpuid_x86.c | 0
> tools/{libxc => libs/guest}/xg_dom_arm.c | 0
> .../guest}/xg_dom_armzimageloader.c | 0
> .../{libxc => libs/guest}/xg_dom_binloader.c | 0
> tools/{libxc => libs/guest}/xg_dom_boot.c | 0
> .../guest}/xg_dom_bzimageloader.c | 0
> .../guest}/xg_dom_compat_linux.c | 0
> tools/{libxc => libs/guest}/xg_dom_core.c | 0
> .../{libxc => libs/guest}/xg_dom_decompress.h | 0
> .../guest}/xg_dom_decompress_lz4.c | 0
> .../guest}/xg_dom_decompress_unsafe.c | 0
> .../guest}/xg_dom_decompress_unsafe.h | 0
> .../guest}/xg_dom_decompress_unsafe_bzip2.c | 0
> .../guest}/xg_dom_decompress_unsafe_lzma.c | 0
> .../guest}/xg_dom_decompress_unsafe_lzo1x.c | 0
> .../guest}/xg_dom_decompress_unsafe_xz.c | 0
> .../{libxc => libs/guest}/xg_dom_elfloader.c | 0
> .../{libxc => libs/guest}/xg_dom_hvmloader.c | 0
> tools/{libxc => libs/guest}/xg_dom_x86.c | 0
> tools/{libxc => libs/guest}/xg_domain.c | 0
> tools/{libxc => libs/guest}/xg_nomigrate.c | 0
> tools/{libxc => libs/guest}/xg_offline_page.c | 0
> tools/{libxc => libs/guest}/xg_private.c | 0
> tools/{libxc => libs/guest}/xg_private.h | 0
> tools/{libxc => libs/guest}/xg_save_restore.h | 0
> tools/{libxc => libs/guest}/xg_sr_common.c | 0
> tools/{libxc => libs/guest}/xg_sr_common.h | 0
> .../{libxc => libs/guest}/xg_sr_common_x86.c | 0
> .../{libxc => libs/guest}/xg_sr_common_x86.h | 0
> .../guest}/xg_sr_common_x86_pv.c | 0
> .../guest}/xg_sr_common_x86_pv.h | 0
> tools/{libxc => libs/guest}/xg_sr_restore.c | 0
> .../guest}/xg_sr_restore_x86_hvm.c | 0
> .../guest}/xg_sr_restore_x86_pv.c | 0
> tools/{libxc => libs/guest}/xg_sr_save.c | 0
> .../guest}/xg_sr_save_x86_hvm.c | 0
> .../{libxc => libs/guest}/xg_sr_save_x86_pv.c | 0
> .../guest}/xg_sr_stream_format.h | 0
> tools/{libxc => libs/guest}/xg_suspend.c | 0
> tools/libs/uselibs.mk | 2 +
> tools/libxc/Makefile | 207 ------------------
> 52 files changed, 147 insertions(+), 248 deletions(-)
> rename tools/{libxc => libs/guest}/COPYING (100%)
> create mode 100644 tools/libs/guest/Makefile
> rename tools/{libxc => libs/guest}/include/xenguest.h (100%)
> rename tools/{libxc => libs/guest}/xenguest.pc.in (100%)
> rename tools/{libxc => libs/guest}/xg_cpuid_x86.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_arm.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_armzimageloader.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_binloader.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_boot.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_bzimageloader.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_compat_linux.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_core.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_decompress.h (100%)
> rename tools/{libxc => libs/guest}/xg_dom_decompress_lz4.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_decompress_unsafe.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_decompress_unsafe.h (100%)
> rename tools/{libxc => libs/guest}/xg_dom_decompress_unsafe_bzip2.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_decompress_unsafe_lzma.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_decompress_unsafe_lzo1x.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_decompress_unsafe_xz.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_elfloader.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_hvmloader.c (100%)
> rename tools/{libxc => libs/guest}/xg_dom_x86.c (100%)
> rename tools/{libxc => libs/guest}/xg_domain.c (100%)
> rename tools/{libxc => libs/guest}/xg_nomigrate.c (100%)
> rename tools/{libxc => libs/guest}/xg_offline_page.c (100%)
> rename tools/{libxc => libs/guest}/xg_private.c (100%)
> rename tools/{libxc => libs/guest}/xg_private.h (100%)
> rename tools/{libxc => libs/guest}/xg_save_restore.h (100%)
> rename tools/{libxc => libs/guest}/xg_sr_common.c (100%)
> rename tools/{libxc => libs/guest}/xg_sr_common.h (100%)
> rename tools/{libxc => libs/guest}/xg_sr_common_x86.c (100%)
> rename tools/{libxc => libs/guest}/xg_sr_common_x86.h (100%)
> rename tools/{libxc => libs/guest}/xg_sr_common_x86_pv.c (100%)
> rename tools/{libxc => libs/guest}/xg_sr_common_x86_pv.h (100%)
> rename tools/{libxc => libs/guest}/xg_sr_restore.c (100%)
> rename tools/{libxc => libs/guest}/xg_sr_restore_x86_hvm.c (100%)
> rename tools/{libxc => libs/guest}/xg_sr_restore_x86_pv.c (100%)
> rename tools/{libxc => libs/guest}/xg_sr_save.c (100%)
> rename tools/{libxc => libs/guest}/xg_sr_save_x86_hvm.c (100%)
> rename tools/{libxc => libs/guest}/xg_sr_save_x86_pv.c (100%)
> rename tools/{libxc => libs/guest}/xg_sr_stream_format.h (100%)
> rename tools/{libxc => libs/guest}/xg_suspend.c (100%)
> delete mode 100644 tools/libxc/Makefile
>
> diff --git a/.gitignore b/.gitignore
> index a17d7e1e1b..c84a5fd4db 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -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
> @@ -369,7 +370,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
> diff --git a/stubdom/Makefile b/stubdom/Makefile
> index 193941827d..f780cc8054 100644
> --- a/stubdom/Makefile
> +++ b/stubdom/Makefile
> @@ -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
> @@ -363,13 +365,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)
> @@ -392,16 +391,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
> #######
> @@ -410,7 +399,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 ; \
> @@ -504,15 +493,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
> @@ -524,11 +513,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
>
> #########
> @@ -622,7 +611,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
>
> @@ -633,7 +621,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)
> diff --git a/stubdom/grub/Makefile b/stubdom/grub/Makefile
> index d33fa2f71e..7397661c9b 100644
> --- a/stubdom/grub/Makefile
> +++ b/stubdom/grub/Makefile
> @@ -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
> diff --git a/stubdom/mini-os.mk b/stubdom/mini-os.mk
> index b1387df3f8..e1640a7cbc 100644
> --- a/stubdom/mini-os.mk
> +++ b/stubdom/mini-os.mk
> @@ -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
> diff --git a/tools/Makefile b/tools/Makefile
> index 7c9f9fc900..f9b4012290 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -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
> diff --git a/tools/Rules.mk b/tools/Rules.mk
> index 6ec480388c..b969dcfccb 100644
> --- a/tools/Rules.mk
> +++ b/tools/Rules.mk
> @@ -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)
> diff --git a/tools/libs/Makefile b/tools/libs/Makefile
> index 7648ea0e4c..f15c1688f7 100644
> --- a/tools/libs/Makefile
> +++ b/tools/libs/Makefile
> @@ -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)
> diff --git a/tools/libxc/COPYING b/tools/libs/guest/COPYING
> similarity index 100%
> rename from tools/libxc/COPYING
> rename to tools/libs/guest/COPYING
> diff --git a/tools/libs/guest/Makefile b/tools/libs/guest/Makefile
> new file mode 100644
> index 0000000000..e53aeabd3e
> --- /dev/null
> +++ b/tools/libs/guest/Makefile
> @@ -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
> diff --git a/tools/libxc/include/xenguest.h b/tools/libs/guest/include/xenguest.h
> similarity index 100%
> rename from tools/libxc/include/xenguest.h
> rename to tools/libs/guest/include/xenguest.h
> diff --git a/tools/libxc/xenguest.pc.in b/tools/libs/guest/xenguest.pc.in
> similarity index 100%
> rename from tools/libxc/xenguest.pc.in
> rename to tools/libs/guest/xenguest.pc.in
> diff --git a/tools/libxc/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
> similarity index 100%
> rename from tools/libxc/xg_cpuid_x86.c
> rename to tools/libs/guest/xg_cpuid_x86.c
> diff --git a/tools/libxc/xg_dom_arm.c b/tools/libs/guest/xg_dom_arm.c
> similarity index 100%
> rename from tools/libxc/xg_dom_arm.c
> rename to tools/libs/guest/xg_dom_arm.c
> diff --git a/tools/libxc/xg_dom_armzimageloader.c b/tools/libs/guest/xg_dom_armzimageloader.c
> similarity index 100%
> rename from tools/libxc/xg_dom_armzimageloader.c
> rename to tools/libs/guest/xg_dom_armzimageloader.c
> diff --git a/tools/libxc/xg_dom_binloader.c b/tools/libs/guest/xg_dom_binloader.c
> similarity index 100%
> rename from tools/libxc/xg_dom_binloader.c
> rename to tools/libs/guest/xg_dom_binloader.c
> diff --git a/tools/libxc/xg_dom_boot.c b/tools/libs/guest/xg_dom_boot.c
> similarity index 100%
> rename from tools/libxc/xg_dom_boot.c
> rename to tools/libs/guest/xg_dom_boot.c
> diff --git a/tools/libxc/xg_dom_bzimageloader.c b/tools/libs/guest/xg_dom_bzimageloader.c
> similarity index 100%
> rename from tools/libxc/xg_dom_bzimageloader.c
> rename to tools/libs/guest/xg_dom_bzimageloader.c
> diff --git a/tools/libxc/xg_dom_compat_linux.c b/tools/libs/guest/xg_dom_compat_linux.c
> similarity index 100%
> rename from tools/libxc/xg_dom_compat_linux.c
> rename to tools/libs/guest/xg_dom_compat_linux.c
> diff --git a/tools/libxc/xg_dom_core.c b/tools/libs/guest/xg_dom_core.c
> similarity index 100%
> rename from tools/libxc/xg_dom_core.c
> rename to tools/libs/guest/xg_dom_core.c
> diff --git a/tools/libxc/xg_dom_decompress.h b/tools/libs/guest/xg_dom_decompress.h
> similarity index 100%
> rename from tools/libxc/xg_dom_decompress.h
> rename to tools/libs/guest/xg_dom_decompress.h
> diff --git a/tools/libxc/xg_dom_decompress_lz4.c b/tools/libs/guest/xg_dom_decompress_lz4.c
> similarity index 100%
> rename from tools/libxc/xg_dom_decompress_lz4.c
> rename to tools/libs/guest/xg_dom_decompress_lz4.c
> diff --git a/tools/libxc/xg_dom_decompress_unsafe.c b/tools/libs/guest/xg_dom_decompress_unsafe.c
> similarity index 100%
> rename from tools/libxc/xg_dom_decompress_unsafe.c
> rename to tools/libs/guest/xg_dom_decompress_unsafe.c
> diff --git a/tools/libxc/xg_dom_decompress_unsafe.h b/tools/libs/guest/xg_dom_decompress_unsafe.h
> similarity index 100%
> rename from tools/libxc/xg_dom_decompress_unsafe.h
> rename to tools/libs/guest/xg_dom_decompress_unsafe.h
> diff --git a/tools/libxc/xg_dom_decompress_unsafe_bzip2.c b/tools/libs/guest/xg_dom_decompress_unsafe_bzip2.c
> similarity index 100%
> rename from tools/libxc/xg_dom_decompress_unsafe_bzip2.c
> rename to tools/libs/guest/xg_dom_decompress_unsafe_bzip2.c
> diff --git a/tools/libxc/xg_dom_decompress_unsafe_lzma.c b/tools/libs/guest/xg_dom_decompress_unsafe_lzma.c
> similarity index 100%
> rename from tools/libxc/xg_dom_decompress_unsafe_lzma.c
> rename to tools/libs/guest/xg_dom_decompress_unsafe_lzma.c
> diff --git a/tools/libxc/xg_dom_decompress_unsafe_lzo1x.c b/tools/libs/guest/xg_dom_decompress_unsafe_lzo1x.c
> similarity index 100%
> rename from tools/libxc/xg_dom_decompress_unsafe_lzo1x.c
> rename to tools/libs/guest/xg_dom_decompress_unsafe_lzo1x.c
> diff --git a/tools/libxc/xg_dom_decompress_unsafe_xz.c b/tools/libs/guest/xg_dom_decompress_unsafe_xz.c
> similarity index 100%
> rename from tools/libxc/xg_dom_decompress_unsafe_xz.c
> rename to tools/libs/guest/xg_dom_decompress_unsafe_xz.c
> diff --git a/tools/libxc/xg_dom_elfloader.c b/tools/libs/guest/xg_dom_elfloader.c
> similarity index 100%
> rename from tools/libxc/xg_dom_elfloader.c
> rename to tools/libs/guest/xg_dom_elfloader.c
> diff --git a/tools/libxc/xg_dom_hvmloader.c b/tools/libs/guest/xg_dom_hvmloader.c
> similarity index 100%
> rename from tools/libxc/xg_dom_hvmloader.c
> rename to tools/libs/guest/xg_dom_hvmloader.c
> diff --git a/tools/libxc/xg_dom_x86.c b/tools/libs/guest/xg_dom_x86.c
> similarity index 100%
> rename from tools/libxc/xg_dom_x86.c
> rename to tools/libs/guest/xg_dom_x86.c
> diff --git a/tools/libxc/xg_domain.c b/tools/libs/guest/xg_domain.c
> similarity index 100%
> rename from tools/libxc/xg_domain.c
> rename to tools/libs/guest/xg_domain.c
> diff --git a/tools/libxc/xg_nomigrate.c b/tools/libs/guest/xg_nomigrate.c
> similarity index 100%
> rename from tools/libxc/xg_nomigrate.c
> rename to tools/libs/guest/xg_nomigrate.c
> diff --git a/tools/libxc/xg_offline_page.c b/tools/libs/guest/xg_offline_page.c
> similarity index 100%
> rename from tools/libxc/xg_offline_page.c
> rename to tools/libs/guest/xg_offline_page.c
> diff --git a/tools/libxc/xg_private.c b/tools/libs/guest/xg_private.c
> similarity index 100%
> rename from tools/libxc/xg_private.c
> rename to tools/libs/guest/xg_private.c
> diff --git a/tools/libxc/xg_private.h b/tools/libs/guest/xg_private.h
> similarity index 100%
> rename from tools/libxc/xg_private.h
> rename to tools/libs/guest/xg_private.h
> diff --git a/tools/libxc/xg_save_restore.h b/tools/libs/guest/xg_save_restore.h
> similarity index 100%
> rename from tools/libxc/xg_save_restore.h
> rename to tools/libs/guest/xg_save_restore.h
> diff --git a/tools/libxc/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
> similarity index 100%
> rename from tools/libxc/xg_sr_common.c
> rename to tools/libs/guest/xg_sr_common.c
> diff --git a/tools/libxc/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h
> similarity index 100%
> rename from tools/libxc/xg_sr_common.h
> rename to tools/libs/guest/xg_sr_common.h
> diff --git a/tools/libxc/xg_sr_common_x86.c b/tools/libs/guest/xg_sr_common_x86.c
> similarity index 100%
> rename from tools/libxc/xg_sr_common_x86.c
> rename to tools/libs/guest/xg_sr_common_x86.c
> diff --git a/tools/libxc/xg_sr_common_x86.h b/tools/libs/guest/xg_sr_common_x86.h
> similarity index 100%
> rename from tools/libxc/xg_sr_common_x86.h
> rename to tools/libs/guest/xg_sr_common_x86.h
> diff --git a/tools/libxc/xg_sr_common_x86_pv.c b/tools/libs/guest/xg_sr_common_x86_pv.c
> similarity index 100%
> rename from tools/libxc/xg_sr_common_x86_pv.c
> rename to tools/libs/guest/xg_sr_common_x86_pv.c
> diff --git a/tools/libxc/xg_sr_common_x86_pv.h b/tools/libs/guest/xg_sr_common_x86_pv.h
> similarity index 100%
> rename from tools/libxc/xg_sr_common_x86_pv.h
> rename to tools/libs/guest/xg_sr_common_x86_pv.h
> diff --git a/tools/libxc/xg_sr_restore.c b/tools/libs/guest/xg_sr_restore.c
> similarity index 100%
> rename from tools/libxc/xg_sr_restore.c
> rename to tools/libs/guest/xg_sr_restore.c
> diff --git a/tools/libxc/xg_sr_restore_x86_hvm.c b/tools/libs/guest/xg_sr_restore_x86_hvm.c
> similarity index 100%
> rename from tools/libxc/xg_sr_restore_x86_hvm.c
> rename to tools/libs/guest/xg_sr_restore_x86_hvm.c
> diff --git a/tools/libxc/xg_sr_restore_x86_pv.c b/tools/libs/guest/xg_sr_restore_x86_pv.c
> similarity index 100%
> rename from tools/libxc/xg_sr_restore_x86_pv.c
> rename to tools/libs/guest/xg_sr_restore_x86_pv.c
> diff --git a/tools/libxc/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c
> similarity index 100%
> rename from tools/libxc/xg_sr_save.c
> rename to tools/libs/guest/xg_sr_save.c
> diff --git a/tools/libxc/xg_sr_save_x86_hvm.c b/tools/libs/guest/xg_sr_save_x86_hvm.c
> similarity index 100%
> rename from tools/libxc/xg_sr_save_x86_hvm.c
> rename to tools/libs/guest/xg_sr_save_x86_hvm.c
> diff --git a/tools/libxc/xg_sr_save_x86_pv.c b/tools/libs/guest/xg_sr_save_x86_pv.c
> similarity index 100%
> rename from tools/libxc/xg_sr_save_x86_pv.c
> rename to tools/libs/guest/xg_sr_save_x86_pv.c
> diff --git a/tools/libxc/xg_sr_stream_format.h b/tools/libs/guest/xg_sr_stream_format.h
> similarity index 100%
> rename from tools/libxc/xg_sr_stream_format.h
> rename to tools/libs/guest/xg_sr_stream_format.h
> diff --git a/tools/libxc/xg_suspend.c b/tools/libs/guest/xg_suspend.c
> similarity index 100%
> rename from tools/libxc/xg_suspend.c
> rename to tools/libs/guest/xg_suspend.c
> diff --git a/tools/libs/uselibs.mk b/tools/libs/uselibs.mk
> index 8e45e8d917..9619c576ba 100644
> --- a/tools/libs/uselibs.mk
> +++ b/tools/libs/uselibs.mk
> @@ -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
> diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
> deleted file mode 100644
> index a52264c74c..0000000000
> --- a/tools/libxc/Makefile
> +++ /dev/null
> @@ -1,207 +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)
> -
> -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)
> -
> --
> 2.26.2
>
--
Samuel
<Y> C'ETAIT PAS UN BUG !
<y> :ppp
<y> c ce qu'on dit ;)
<Y> (j'ai appuye sur ON, ca peut arriver, non ?)
-+- #hp debuggue IRCprime -+-
next prev parent reply other threads:[~2020-08-23 9:53 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-23 9:34 [PATCH v3 00/38] tools: move most libraries into tools/libs Juergen Gross
2020-08-23 9:34 ` [PATCH v3 01/38] stubdom: add stubdom/mini-os.mk for Xen paths used by Mini-OS Juergen Gross
2020-08-23 9:34 ` [PATCH v3 02/38] tools: switch XEN_LIBXEN* make variables to lower case (XEN_libxen*) Juergen Gross
2020-08-27 10:22 ` Wei Liu
2020-08-23 9:34 ` [PATCH v3 03/38] tools: add a copy of library headers in tools/include Juergen Gross
2020-08-27 10:25 ` Wei Liu
2020-08-23 9:34 ` [PATCH v3 04/38] tools: don't call make recursively from libs.mk Juergen Gross
2020-08-27 10:28 ` Wei Liu
2020-08-23 9:34 ` [PATCH v3 05/38] tools: define ROUNDUP() in tools/include/xen-tools/libs.h Juergen Gross
2020-08-27 10:22 ` Wei Liu
2020-08-23 9:34 ` [PATCH v3 06/38] tools: generate most contents of library make variables Juergen Gross
2020-08-27 10:28 ` Wei Liu
2020-08-23 9:34 ` [PATCH v3 07/38] stubdom: add correct dependencies for Xen libraries Juergen Gross
2020-08-23 9:47 ` Samuel Thibault
2020-08-23 9:51 ` Jürgen Groß
2020-08-23 9:34 ` [PATCH v3 08/38] stubdom: simplify building xen libraries for stubdoms Juergen Gross
2020-08-23 9:50 ` Samuel Thibault
2020-08-23 9:34 ` [PATCH v3 09/38] tools: drop explicit path specifications for qemu build Juergen Gross
2020-08-27 10:30 ` Wei Liu
2020-08-23 9:34 ` [PATCH v3 10/38] tools: tweak tools/libs/libs.mk for being able to support libxenctrl Juergen Gross
2020-08-27 10:52 ` Wei Liu
2020-08-23 9:34 ` [PATCH v3 11/38] tools/python: drop libxenguest from setup.py Juergen Gross
2020-08-25 11:07 ` Marek Marczykowski-Górecki
2020-08-23 9:34 ` [PATCH v3 12/38] tools: fix pkg-config file for libxenguest Juergen Gross
2020-08-27 10:34 ` Wei Liu
2020-08-23 9:34 ` [PATCH v3 13/38] tools: don't assume libxenguest and libxenctrl to be in same directory Juergen Gross
2020-08-27 10:36 ` Wei Liu
2020-08-23 9:34 ` [PATCH v3 14/38] tools/misc: don't use libxenctrl internals from xen-hptool Juergen Gross
2020-08-27 10:37 ` Wei Liu
2020-08-23 9:34 ` [PATCH v3 15/38] tools/misc: don't include xg_save_restore.h from xen-mfndump.c Juergen Gross
2020-08-27 10:37 ` Wei Liu
2020-08-23 9:34 ` [PATCH v3 16/38] tools/misc: replace PAGE_SIZE with XC_PAGE_SIZE in xen-mfndump.c Juergen Gross
2020-08-27 10:37 ` Wei Liu
2020-08-23 9:34 ` [PATCH v3 17/38] tools/misc: drop all libxc internals from xen-mfndump.c Juergen Gross
2020-08-27 10:38 ` Wei Liu
2020-08-23 9:34 ` [PATCH v3 18/38] tools/libxc: remove unused headers xc_efi.h and xc_elf.h Juergen Gross
2020-08-27 10:39 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 19/38] tools/libxc: move xc_[un]map_domain_meminfo() into new source xg_domain.c Juergen Gross
2020-08-27 10:39 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 20/38] tools/libxc: rename all libxenguest sources to xg_* Juergen Gross
2020-08-27 10:56 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 21/38] tools/libxc: rename libxenguest internal headers Juergen Gross
2020-08-27 10:56 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 22/38] tools/misc: rename xc_dom.h do xenctrl_dom.h Juergen Gross
2020-08-25 11:10 ` Marek Marczykowski-Górecki
2020-08-27 10:57 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 23/38] tools/libxc: untangle libxenctrl from libxenguest Juergen Gross
2020-08-27 11:23 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 24/38] tools/xcutils: use official headers in readnotes Juergen Gross
2020-08-27 11:27 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 25/38] tools/xenpaging: remove libxc internals Juergen Gross
2020-08-27 11:27 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 26/38] tools: move libxenctrl below tools/libs Juergen Gross
2020-08-25 11:16 ` Marek Marczykowski-Górecki
2020-08-25 11:26 ` Jürgen Groß
2020-08-27 11:33 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 27/38] tools/libxc: move libxenguest to tools/libs/guest Juergen Gross
2020-08-23 9:53 ` Samuel Thibault [this message]
2020-08-27 11:33 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 28/38] tools: split libxenstore into new tools/libs/store directory Juergen Gross
2020-08-27 11:34 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 29/38] tools: split libxenvchan into new tools/libs/vchan directory Juergen Gross
2020-08-27 11:35 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 30/38] tools: split libxenstat into new tools/libs/stat directory Juergen Gross
2020-08-27 11:36 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 31/38] tools/libxl: fix dependencies of libxl tests Juergen Gross
2020-08-27 11:36 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 32/38] tools/libxl: don't include libxl_osdeps.h from libxlutil sources Juergen Gross
2020-08-27 11:47 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 33/38] tools/libxl: add missing items to clean target Juergen Gross
2020-08-27 11:47 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 34/38] tools/libxl: move xl parsing checks to tools/xl Juergen Gross
2020-08-27 11:48 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 35/38] tools/xl: don't assume libxl and libxlutil are in one directory Juergen Gross
2020-08-27 11:49 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 36/38] tools/libxl: move libxenlight to tools/libs/light Juergen Gross
2020-08-27 11:51 ` Wei Liu
2020-08-23 9:35 ` [PATCH v3 37/38] tools: add support for library names other than libxen* Juergen Gross
2020-08-27 11:55 ` Wei Liu
2020-08-27 12:34 ` Jürgen Groß
2020-08-23 9:35 ` [PATCH v3 38/38] tools: move libxlutil to tools/libs/util Juergen Gross
2020-08-25 10:54 ` [PATCH v3 00/38] tools: move most libraries into tools/libs Christian Lindig
2020-08-27 11:07 ` Wei Liu
2020-08-27 11:24 ` Jürgen Groß
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200823095323.quf2ytbkaacsghuz@function \
--to=samuel.thibault@ens-lyon.org \
--cc=andrew.cooper3@citrix.com \
--cc=george.dunlap@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=jgross@suse.com \
--cc=julien@xen.org \
--cc=sstabellini@kernel.org \
--cc=wl@xen.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.