This is an RFC pair of patches to enable finer grain control for ./configure for which tools are actually built. There should be no changes as a result with which tools are built by default. ./configure should be regenerated as a result of the second patch. ~Andrew
Andrew Cooper
2012-Aug-02 15:25 UTC
[PATCH 1 of 2] tools/makefile: [RFC] Group system/architecture specific tools
Group the Linux, NetBSD and x86 specific tools together when filling the SUBDIRS-y list. This prepares for easier configuration in the following patch. No functional change. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> diff -r 3d622e2c7cfb -r 4307d512fb26 tools/Makefile --- a/tools/Makefile +++ b/tools/Makefile @@ -15,22 +15,41 @@ SUBDIRS-y += examples SUBDIRS-y += hotplug SUBDIRS-y += xentrace SUBDIRS-$(CONFIG_XCUTILS) += xcutils -SUBDIRS-$(CONFIG_X86) += firmware SUBDIRS-y += console SUBDIRS-y += xenmon SUBDIRS-$(VTPM_TOOLS) += vtpm_manager SUBDIRS-$(VTPM_TOOLS) += vtpm SUBDIRS-y += xenstat -SUBDIRS-$(CONFIG_Linux) += $(SUBDIRS-libaio) -SUBDIRS-$(CONFIG_Linux) += memshr -SUBDIRS-$(CONFIG_Linux) += blktap -SUBDIRS-$(CONFIG_Linux) += blktap2 -SUBDIRS-$(CONFIG_NetBSD) += $(SUBDIRS-libaio) -SUBDIRS-$(CONFIG_NetBSD) += blktap2 -SUBDIRS-$(CONFIG_NetBSD) += xenbackendd SUBDIRS-y += libfsimage SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen -SUBDIRS-$(CONFIG_Linux) += libvchan +SUBDIRS-y += xenpmd +SUBDIRS-y += libxl +SUBDIRS-y += remus +SUBDIRS-$(CONFIG_TESTS) += tests + +# Linux specific tools +ifeq ($(CONFIG_Linux),y) +SUBDIRS-y += $(SUBDIRS-libaio) +SUBDIRS-y += memshr +SUBDIRS-y += blktap +SUBDIRS-y += blktap2 +SUBDIRS-y += libvchan +endif + +# NetBSD specific tools +ifeq ($(CONFIG_NetBSD),y) +SUBDIRS-y += $(SUBDIRS-libaio) +SUBDIRS-y += blktap2 +SUBDIRS-y += xenbackendd +endif + +# x86 specific tools +ifeq ($(CONFIG_X86),y) +SUBDIRS-y += firmware +SUBDIRS-y += xenpaging +SUBDIRS-y += debugger/gdbsx +SUBDIRS-y += debugger/kdd +endif # do not recurse in to a dir we are about to delete ifneq "$(MAKECMDGOALS)" "distclean" @@ -38,13 +57,6 @@ SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-trad SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-dir endif -SUBDIRS-y += xenpmd -SUBDIRS-y += libxl -SUBDIRS-y += remus -SUBDIRS-$(CONFIG_X86) += xenpaging -SUBDIRS-$(CONFIG_X86) += debugger/gdbsx -SUBDIRS-$(CONFIG_X86) += debugger/kdd -SUBDIRS-$(CONFIG_TESTS) += tests # These don''t cross-compile ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
Andrew Cooper
2012-Aug-02 15:25 UTC
[PATCH 2 of 2] tools/configure: [RFC] Allow all tools to be ./configure''d on or off
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> diff -r 4307d512fb26 -r ed70a016d375 config/Tools.mk.in --- a/config/Tools.mk.in +++ b/config/Tools.mk.in @@ -50,6 +50,29 @@ CONFIG_LOMOUNT := @lomount@ CONFIG_OVMF := @ovmf@ CONFIG_ROMBIOS := @rombios@ CONFIG_SEABIOS := @seabios@ +CONFIG_LIBXC := @libxc@ +CONFIG_FLASK := @flask@ +CONFIG_XENSTORE := @xenstore@ +CONFIG_MISC := @misctools@ +CONFIG_EXAMPLES := @examples@ +CONFIG_HOTPLUG := @hotplug@ +CONFIG_CONSOLE := @console@ +CONFIG_XENTRACE := @xentrace@ +CONFIG_XENMON := @xenmon@ +CONFIG_XENSTAT := @xenstat@ +CONFIG_FSIMAGE := @fsimage@ +CONFIG_XENPM := @xenpm@ +CONFIG_LIBXL := @libxl@ +CONFIG_REMUS := @remus@ +CONFIG_MEMSHR := @memshr@ +CONFIG_BLKTAP := @blktap@ +CONFIG_BLKTAP2 := @blktap2@ +CONFIG_BACKENDD := @backendd@ +CONFIG_LIBVCHAN := @libvchan@ +CONFIG_FIRMWARE := @firmware@ +CONFIG_XENPAGING := @xenpaging@ +CONFIG_GDBSX := @gdbsx@ +CONFIG_KDD := @kdd@ #System options CONFIG_SYSTEM_LIBAIO:= @system_aio@ diff -r 4307d512fb26 -r ed70a016d375 tools/Makefile --- a/tools/Makefile +++ b/tools/Makefile @@ -7,48 +7,48 @@ endif SUBDIRS-y : SUBDIRS-y += include -SUBDIRS-y += libxc -SUBDIRS-y += flask -SUBDIRS-y += xenstore -SUBDIRS-y += misc -SUBDIRS-y += examples -SUBDIRS-y += hotplug -SUBDIRS-y += xentrace +SUBDIRS-$(CONFIG_LIBXC) += libxc +SUBDIRS-$(CONFIG_FLASK) += flask +SUBDIRS-$(CONFIG_XENSTORE) += xenstore +SUBDIRS-$(CONFIG_MISC) += misc +SUBDIRS-$(CONFIG_EXAMPLES) += examples +SUBDIRS-$(CONFIG_HOTPLUG) += hotplug +SUBDIRS-$(CONFIG_XENTRACE) += xentrace SUBDIRS-$(CONFIG_XCUTILS) += xcutils -SUBDIRS-y += console -SUBDIRS-y += xenmon +SUBDIRS-$(CONFIG_CONSOLE) += console +SUBDIRS-$(CONFIG_XENMON) += xenmon SUBDIRS-$(VTPM_TOOLS) += vtpm_manager SUBDIRS-$(VTPM_TOOLS) += vtpm -SUBDIRS-y += xenstat -SUBDIRS-y += libfsimage +SUBDIRS-$(CONFIG_XENSTAT) += xenstat +SUBDIRS-$(CONFIG_FSIMAGE) += libfsimage SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen -SUBDIRS-y += xenpmd -SUBDIRS-y += libxl -SUBDIRS-y += remus +SUBDIRS-$(CONFIG_XENPM) += xenpmd +SUBDIRS-$(CONFIG_LIBXL) += libxl +SUBDIRS-$(CONFIG_REMUS) += remus SUBDIRS-$(CONFIG_TESTS) += tests # Linux specific tools ifeq ($(CONFIG_Linux),y) SUBDIRS-y += $(SUBDIRS-libaio) -SUBDIRS-y += memshr -SUBDIRS-y += blktap -SUBDIRS-y += blktap2 -SUBDIRS-y += libvchan +SUBDIRS-$(CONFIG_MEMSHR) += memshr +SUBDIRS-$(CONFIG_BLKTAP) += blktap +SUBDIRS-$(CONFIG_BLKTAP2) += blktap2 +SUBDIRS-$(CONFIG_LIBVCHAN) += libvchan endif # NetBSD specific tools ifeq ($(CONFIG_NetBSD),y) SUBDIRS-y += $(SUBDIRS-libaio) -SUBDIRS-y += blktap2 -SUBDIRS-y += xenbackendd +SUBDIRS-$(CONFIG_BLKTAP2) += blktap2 +SUBDIRS-$(CONFIG_BACKENDD) += xenbackendd endif # x86 specific tools ifeq ($(CONFIG_X86),y) -SUBDIRS-y += firmware -SUBDIRS-y += xenpaging -SUBDIRS-y += debugger/gdbsx -SUBDIRS-y += debugger/kdd +SUBDIRS-$(CONFIG_FIRMWARE) += firmware +SUBDIRS-$(CONFIG_XENPAGING) += xenpaging +SUBDIRS-$(CONFIG_GDBSX) += debugger/gdbsx +SUBDIRS-$(CONFIG_KDD) += debugger/kdd endif # do not recurse in to a dir we are about to delete diff -r 4307d512fb26 -r ed70a016d375 tools/configure.ac --- a/tools/configure.ac +++ b/tools/configure.ac @@ -49,6 +49,29 @@ AX_ARG_DEFAULT_DISABLE([ovmf], [Enable O AX_ARG_DEFAULT_ENABLE([rombios], [Disable ROM BIOS]) AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS]) AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of tools]) +AX_ARG_DEFAULT_ENABLE([libxc], [Disable xc]) +AX_ARG_DEFAULT_ENABLE([flask], [Disable flask]) +AX_ARG_DEFAULT_ENABLE([xenstore], [Disable xenstore]) +AX_ARG_DEFAULT_ENABLE([misctools], [Disable misc tools]) +AX_ARG_DEFAULT_ENABLE([examples], [Disable examples]) +AX_ARG_DEFAULT_ENABLE([hotplug], [Disable hotplug]) +AX_ARG_DEFAULT_ENABLE([xentrace], [Disable xentrace]) +AX_ARG_DEFAULT_ENABLE([console], [Disable guest console]) +AX_ARG_DEFAULT_ENABLE([xenmon], [Disable xenmon]) +AX_ARG_DEFAULT_ENABLE([xenstat], [Disable xenstat]) +AX_ARG_DEFAULT_ENABLE([fsimage], [Disable libfsimage]) +AX_ARG_DEFAULT_ENABLE([xenpm], [Disable xenpm]) +AX_ARG_DEFAULT_ENABLE([libxl], [Disable xl]) +AX_ARG_DEFAULT_ENABLE([remus], [Disable remus]) +AX_ARG_DEFAULT_ENABLE([memshr], [Disable memshr]) +AX_ARG_DEFAULT_ENABLE([blktap], [Disable blktap]) +AX_ARG_DEFAULT_ENABLE([blktap2], [Disable blktap2]) +AX_ARG_DEFAULT_ENABLE([libvchan], [Disable libvchan]) +AX_ARG_DEFAULT_ENABLE([backendd], [Disable xenbackendd]) +AX_ARG_DEFAULT_ENABLE([firmware], [Disable firmware]) +AX_ARG_DEFAULT_ENABLE([xenpaging], [Disable xenpaging]) +AX_ARG_DEFAULT_ENABLE([gdbsx], [Disable gdbsx]) +AX_ARG_DEFAULT_ENABLE([kdd], [Disable kdd]) AC_ARG_VAR([PREPEND_INCLUDES], [List of include folders to prepend to CFLAGS (without -I)])
Ian Jackson
2012-Aug-02 15:31 UTC
[PATCH 2 of 2] tools/configure: [RFC] Allow all tools to be ./configure''d on or off
Andrew Cooper writes ("[PATCH 2 of 2] tools/configure: [RFC] Allow all tools to be ./configure''d on or off"):> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>I''m far from convinced by this. Just trying to turn on and off individual directories isn''t always going to work. And I don''t think that this stage of the 4.2 release is the right time to be inventing new configure options. Ian.
Ian Campbell
2012-Aug-02 15:54 UTC
Re: [PATCH 2 of 2] tools/configure: [RFC] Allow all tools to be ./configure''d on or off
On Thu, 2012-08-02 at 16:31 +0100, Ian Jackson wrote:> And I don''t think > that this stage of the 4.2 release is the right time to be inventing > new configure options.I agree, this sort of major reworking belongs in the 4.3 development cycle. Ian.