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

[Xen-devel] some build configuration issues



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


 


Rackspace

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