[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] libxl: avoid golang building without CONFIG_GOLANG=y
On Mon, Aug 24, 2020 at 03:11:41PM +0200, Jan Beulich wrote: > On 04.08.2020 18:41, Nick Rosbrook wrote: > > On Tue, Aug 4, 2020 at 12:02 PM Jan Beulich <jbeulich@xxxxxxxx> wrote: > >> > >> On 04.08.2020 17:57, Wei Liu wrote: > >>> On Tue, Aug 04, 2020 at 05:53:49PM +0200, Jan Beulich wrote: > >>>> On 04.08.2020 17:50, Wei Liu wrote: > >>>>> On Tue, Aug 04, 2020 at 05:30:40PM +0200, Jan Beulich wrote: > >>>>>> On 04.08.2020 17:22, Nick Rosbrook wrote: > >>>>>>> On Tue, Aug 4, 2020 at 10:17 AM Wei Liu <wl@xxxxxxx> wrote: > >>>>>>>> > >>>>>>>> On Mon, Aug 03, 2020 at 10:06:32AM +0200, Jan Beulich wrote: > >>>>>>>>> While this doesn't address the real problem I've run into > >>>>>>>>> (attempting to > >>>>>>>>> update r/o source files), not recursing into tools/golang/xenlight/ > >>>>>>>>> is > >>>>>>>>> enough to fix the build for me for the moment. I don't currently > >>>>>>>>> see why > >>>>>>>>> 60db5da62ac0 ("libxl: Generate golang bindings in libxl Makefile") > >>>>>>>>> found > >>>>>>>>> it necessary to invoke this build step unconditionally. > >>>>>>>>> > >>>>>>>> > >>>>>>>> Perhaps an oversight? > >>>>>>> > >>>>>>> This is intentional, and I think the commit message in 60db5da62ac0 > >>>>>>> ("libxl: Generate golang bindings in libxl Makefile") explains the > >>>>>>> reasoning well. But, to summarize, CONFIG_GOLANG is only used to > >>>>>>> control the bindings actually being compiled (i.e. with `go build`). > >>>>>>> However, we always want the code generation script > >>>>>>> (tools/golang/xenlight/gengotypes.py) to run if e.g. > >>>>>>> tools/libxl/libxl_types.idl is modified. > >>>>>>> > >>>>>>> I hope this helps. > >>>>>> > >>>>>> Not really - I'm still not seeing the "why" behind this behavior. I.e. > >>>>>> why build _anything_ that's not used further in the build, nor getting > >>>>>> installed? Also if (aiui) you effectively object to the change that > >>>>>> Wei has given his ack for, would you mind providing an alternative fix > >>>>>> for the problem at hand? > >>>>> > >>>>> Is the solution here to make the target check if IDL definition file is > >>>>> actually changed before regenerating the bindings? > >>>> > >>>> I don't know - Nick? A move-if-changed based approach would likely deal > >>>> with the r/o source problem at the same time (at least until such time > >>>> where the directory containing the file(s) is also r/o). > >>> > >>> To make sure Nick and I understand your use case correct -- "r/o source > >>> problem" means you want the tools source to be read-only? But you would > >>> be fine recursing into tools directory to build all the libraries and > >>> programs? > >> > >> Yes - until we support out-of-tree builds, nothing more can be expected > >> to work. > > > > Jan - is the problem specifically that a fresh clone, or `git > > checkout`, etc. changes file timestamps in a way that triggers make to > > rebuild those targets? I have not used the move-if-changed approach > > before, but AFAICT that would be sufficient. > > Since about three weeks have passed and - unless I've missed something - > the issue is still there, I'd like to clarify who's going to address the > (how I would call it) regression. I thought I had expressed that if my > proposed version isn't acceptable, I'd rather see you deal with the issue. > Did you perhaps imply the opposite? Hi Jan, My understanding was that you were going to use move-if-changed to fix this for now (it seemed everyone agreed this was the quickest short-term fix). The long-term plan (as George mentioned earlier in this thread) is to have a separate repository where the generated Go code is checked-in, rather than xen.git. While this will eventually fix your problem, we are not actively working on this yet. Sorry for any misunderstanding. -NR
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |