WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] some build configuration issues

To: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] some build configuration issues
From: Hollis Blanchard <hollisb@xxxxxxxxxx>
Date: Tue, 13 Sep 2005 15:54:11 -0500
Cc: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
Delivery-date: Tue, 13 Sep 2005 20:53:55 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: IBM Linux Technology Center
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
I'm looking into building the various tools and libraries for PPC now,
and it's exposing a bit of build configuration difficulty. Here are some
specific issues:

In xen/drivers/Makefile and xen/Makefile, we need to avoid building
ACPI. More generally, I think it would be a good thing to get away from
the "ifeq ($(XEN_TARGET_ARCH),foo)" hackery that can be found all over
the Makefiles. Linux would do it this way:
        obj-$(CONFIG_ACPI) += acpi/
Since I don't think we have too many feature permutations to worry about
in the Xen core, having a per-architecture config.mk would work, e.g.:
        CONFIG_ACPI := y
        CONFIG_VMX := y
Note that CONFIG_VMX needs to be used in tools/libxc/Makefile, and
CONFIG_ACPI in xen/drivers/Makefile, so this would need to be a
top-level include.

(As a side benefit, the "obj-$(CONFIG_FOO) += ..." thing could solve the
current parallel-hostile Makefile code like this from
xen/drivers/Makefile:
default:
        $(MAKE) -C char
        $(MAKE) -C acpi
)

Another problem is that PPC needs to have a different CC for tools/ than
for xen/. There are library dependencies like zlib in tools/, and there
is no guarantee or need to have a 64-bit zlib installed. Accordingly,
the PPC arch-config.mk could specify a 32-bit TOOLS_CC and 64-bit CC.

Looking at the VMX case a little more, we can see that xc_vmx_build() is
called from tools/python/xen/lowlevel/xc/xc.c. That will probably need
an ifdef, especially since pyxc_vmx_build() is listed in the large
static pyxc_methods list. That means in addition to arch-config.mk, we
will need a top-level config.h for C code to use, including some of the
same information (such as CONFIG_VMX).

In general though, I think such ifdefs should be avoided, which
typically means calling out to arch-specific code (or building an
arch-specific file).

Thoughts?

-- 
Hollis Blanchard
IBM Linux Technology Center


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>