[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 1/5] build: Export configure variables to hypervisor build



On Tue, 2012-02-28 at 23:27 +0000, Daniel De Graaf wrote:
> Since the introduction of autoconf, builds with XSM enabled in .config
> have been broken unless FLASK_ENABLE was explicitly set. Since the
> setting in .config has apparently been deprecated in favor of an
> autoconf --enable-xsm, add config/Xen.mk to export this to Xen. This
> also makes --disable-debug and some paths to be pulled from the
> configure process in the hypervisor build.

AIUI the intention was for only the tools to require configure, which is
why it is tools/configure* and not just configure*.

I'm not sure anyone thought about the case of options like FLASK_ENABLE
which have both hypervisor and tools components controlled by a single
option.

It seems like the intention would have been to retain FLASK_ENABLE for
the hypervisor but enable the tools via configure -- but that seems
disconnected in a really odd way to me.

Perhaps we should just move the configure stuff up to the top level and
agree that it can control both tools and hypervisor configuration
options? I'm not sure why we would want to use different mechanisms for
the tools and h/v anyway.

Ian.
> 
> Signed-off-by: Daniel De Graaf <dgdegra@xxxxxxxxxxxxx>
> Cc: Roger Pau Monne <roger.pau@xxxxxxxxxxxxx>
> Cc: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
> ---
>  .gitignore         |    1 +
>  .hgignore          |    1 +
>  config/Tools.mk.in |    4 ----
>  config/Xen.mk.in   |   19 +++++++++++++++++++
>  tools/configure.ac |    1 +
>  xen/Rules.mk       |    1 +
>  6 files changed, 23 insertions(+), 4 deletions(-)
>  create mode 100644 config/Xen.mk.in
> 
> diff --git a/.gitignore b/.gitignore
> index 8810b35..865505f 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -111,6 +111,7 @@ tools/config.log
>  tools/config.status
>  tools/config.cache
>  config/Tools.mk
> +config/Xen.mk
>  tools/blktap2/daemon/blktapctrl
>  tools/blktap2/drivers/img2qcow
>  tools/blktap2/drivers/lock-util
> diff --git a/.hgignore b/.hgignore
> index 46655ad..7d5ccc1 100644
> --- a/.hgignore
> +++ b/.hgignore
> @@ -309,6 +309,7 @@
>  ^tools/config\.status$
>  ^tools/config\.cache$
>  ^config/Tools\.mk$
> +^config/Xen\.mk$
>  ^xen/\.banner.*$
>  ^xen/BLOG$
>  ^xen/System.map$
> diff --git a/config/Tools.mk.in b/config/Tools.mk.in
> index 06d5e89..315ced4 100644
> --- a/config/Tools.mk.in
> +++ b/config/Tools.mk.in
> @@ -24,10 +24,6 @@ PREPEND_LIB         := @PREPEND_LIB@
>  APPEND_INCLUDES     := @APPEND_INCLUDES@
>  APPEND_LIB          := @APPEND_LIB@
>  
> -# Enable XSM security module (by default, Flask).
> -XSM_ENABLE          := @xsm@
> -FLASK_ENABLE        := @xsm@
> -
>  # Download GIT repositories via HTTP or GIT's own protocol?
>  # GIT's protocol is faster and more robust, when it works at all (firewalls
>  # may block it). We make it the default, but if your GIT repository downloads
> diff --git a/config/Xen.mk.in b/config/Xen.mk.in
> new file mode 100644
> index 0000000..e152f39
> --- /dev/null
> +++ b/config/Xen.mk.in
> @@ -0,0 +1,19 @@
> +# Prefix and install folder
> +PREFIX              := @prefix@
> +LIBLEAFDIR_x86_64   := @LIB_PATH@
> +
> +# A debug build of xen?
> +debug               := @debug@
> +
> +# Tools path
> +PYTHON              := @PYTHON@
> +
> +# Extra folder for libs/includes
> +PREPEND_INCLUDES    := @PREPEND_INCLUDES@
> +PREPEND_LIB         := @PREPEND_LIB@
> +APPEND_INCLUDES     := @APPEND_INCLUDES@
> +APPEND_LIB          := @APPEND_LIB@
> +
> +# Enable XSM security module (by default, Flask).
> +XSM_ENABLE          := @xsm@
> +FLASK_ENABLE        := @xsm@
> diff --git a/tools/configure.ac b/tools/configure.ac
> index c5dec9c..5b2815d 100644
> --- a/tools/configure.ac
> +++ b/tools/configure.ac
> @@ -6,6 +6,7 @@ AC_INIT([Xen Hypervisor], m4_esyscmd([../version.sh 
> ../xen/Makefile]),
>      [xen-devel@xxxxxxxxxxxxxxxxxxx])
>  AC_CONFIG_SRCDIR([libxl/libxl.c])
>  AC_CONFIG_FILES([../config/Tools.mk])
> +AC_CONFIG_FILES([../config/Xen.mk])
>  AC_CONFIG_HEADERS([config.h])
>  AC_PREFIX_DEFAULT([/usr])
>  AC_CONFIG_AUX_DIR([.])
> diff --git a/xen/Rules.mk b/xen/Rules.mk
> index 6123835..6c17a3f 100644
> --- a/xen/Rules.mk
> +++ b/xen/Rules.mk
> @@ -12,6 +12,7 @@ frame_pointer ?= n
>  lto           ?= n
>  
>  include $(XEN_ROOT)/Config.mk
> +include $(XEN_ROOT)/config/Xen.mk
>  
>  # Hardcoded configuration implications and dependencies.
>  # Do this is a neater way if it becomes unwieldy.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.