[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 1/2][4.15?] tools/x86: don't rebuild cpuid-autogen.h every time
On 08.03.2021 10:59, Ian Jackson wrote: > Jan Beulich writes ("[PATCH 1/2][4.15?] tools/x86: don't rebuild > cpuid-autogen.h every time"): >> The first thing the "xen-dir" rule does is delete the entire xen/ >> subtree. Obviously this includes deleting xen/lib/x86/*autogen.h. As a >> result there's no original version for $(move-if-changed ...) to compare >> against, and hence the file and all its consumers would get rebuilt >> every time. Introduce a "prep-y" rule to move xen/lib/x86/ on the side, >> to then recover any *autogen.h from there prior to invoking the >> respective recursive $(MAKE) invocation. > > Urgh. Thanks for working on this swamp. > > However, > >> +# Arrange for preserving of auto-generated headers (to avoid them getting >> +# rebuilt every time): Move the entire xen/lib/x86/ to a temporary place. >> +prep-$(CONFIG_X86): >> + rm -rf .xen-lib-x86 >> + test ! -d xen/lib/x86 || mv xen/lib/x86 .xen-lib-x86 >> + >> all-$(CONFIG_X86): xen-dir >> + $(if $(wildcard .xen-lib-x86/*autogen.h),mv .xen-lib-x86/*autogen.h >> xen/lib/x86/) >> + rm -rf .xen-lib-x86 >> $(MAKE) -C xen/lib/x86 all XEN_ROOT=$(XEN_ROOT) PYTHON=$(PYTHON) > > Isn't there some better way of doing this ? I am very wary of adding > additional on-disk Makefile-managed state to a Makefile which is > already going wrong. I haven't thought about this in enough detail to > identify a specific bug but I think convincing myself that it is > definitely correct is nontrivial. > > Perhaps we could do the removal with a find rune instead, so we can > just skip the files we wanted to keep ? Maybe, and I did consider the option, but it would have felt more fragile to me than this dedicated keep-just-the-few-files approach. The problems we've had with this symlinking don't make me confident in leaving around parts of this subtree; populating from scratch seems like the most robust model (short of the suggested but never carried out removal of the symlinking) to me. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |