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.