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

Re: [Xen-devel] [PATCH 02/13] libx86: generate cpuid-autogen.h in the libx86 include dir

>>> On 03.07.18 at 22:55, <andrew.cooper3@xxxxxxxxxx> wrote:
> From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
> This prevents having to generate it inside the libxc folder.

And this is useful / desirable / necessary because of what?

> RFC - I'm not sure a parallel build of Xen and the tools works.

I'm pretty sure it won't with this approach. Considering my comment
just given on patch 1, this suggests yet another model as alternative:
Instead of making the directory a symlink, create a real directory in
the tools tree, symlink all files, and generate the file there. If the
"master" tree sat at the root of the tree, the same would then be
doable for the hypervisor build, thus completely decoupling the two
instances of building the header.

This would then also deal with the risk of the two rules (intentionally
or not) to go out of sync, producing (slightly) different headers.

> --- a/tools/include/Makefile
> +++ b/tools/include/Makefile
> @@ -26,6 +26,17 @@ ifeq ($(CONFIG_X86),y)
>  endif
>       touch $@
> +ifeq ($(CONFIG_X86),y)
> +$(XEN_ROOT)/xen/include/xen/libx86/cpuid-autogen.h: 
> $(XEN_ROOT)/xen/include/public/arch-x86/cpufeatureset.h 
> $(XEN_ROOT)/xen/tools/gen-cpuid.py FORCE

This being an independent rule, I think it needs to depend on xen/.dir.

> +     $(PYTHON) $(XEN_ROOT)/xen/tools/gen-cpuid.py -i $< -o $@.new
> +     $(call move-if-changed,$@.new,$@)
> +
> +all: $(XEN_ROOT)/xen/include/xen/libx86/cpuid-autogen.h
> +# NB: Use a FORCE target to always rebuild the autogenerated cpuid header
> +endif

The comment is slightly misleading, I'm afraid: The move-if-changed
means the header itself isn't always rebuilt, it's only the intermediate
file which is. Perhaps "... to always invoke the autogenerated cpuid
header rule"?


Xen-devel mailing list



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