All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Beulich <jbeulich@suse.com>
To: Nick Rosbrook <rosbrookn@gmail.com>
Cc: Anthony Perard <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Ian Jackson <ian.jackson@eu.citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] libxl: avoid golang building without CONFIG_GOLANG=y
Date: Wed, 5 Aug 2020 08:35:04 +0200	[thread overview]
Message-ID: <6e83d698-64bb-68f0-b046-b20bf6db1c56@suse.com> (raw)
In-Reply-To: <CAEBZRSc=xUjYq7ao9Rv-EEJsjiBkt5mio5QofvixErZj_SJUcw@mail.gmail.com>

On 04.08.2020 18:41, Nick Rosbrook wrote:
> On Tue, Aug 4, 2020 at 12:02 PM Jan Beulich <jbeulich@suse.com> 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@xen.org> 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?

Afaict it's not deterministic in which order files get created / updated,
and hence the generated files may or may not appear older than their
dependencies.

Jan


  reply	other threads:[~2020-08-05  6:35 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-03  8:06 [PATCH] libxl: avoid golang building without CONFIG_GOLANG=y Jan Beulich
2020-08-04 14:16 ` Wei Liu
2020-08-04 15:22   ` Nick Rosbrook
2020-08-04 15:30     ` Jan Beulich
2020-08-04 15:50       ` Wei Liu
2020-08-04 15:53         ` Jan Beulich
2020-08-04 15:57           ` Wei Liu
2020-08-04 16:02             ` Jan Beulich
2020-08-04 16:41               ` Nick Rosbrook
2020-08-05  6:35                 ` Jan Beulich [this message]
2020-08-05  9:55                 ` Ian Jackson
2020-08-10 15:17                   ` George Dunlap
2020-08-24 13:11                 ` Jan Beulich
2020-08-24 14:58                   ` Nick Rosbrook
2020-08-25  6:47                     ` Jan Beulich
2020-08-25 10:37                       ` George Dunlap
2020-08-25 14:57                         ` Nick Rosbrook
2020-08-26  7:41                         ` Jan Beulich
2020-08-26 10:33                           ` George Dunlap
2020-08-26 11:17                             ` Jan Beulich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6e83d698-64bb-68f0-b046-b20bf6db1c56@suse.com \
    --to=jbeulich@suse.com \
    --cc=anthony.perard@citrix.com \
    --cc=george.dunlap@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=rosbrookn@gmail.com \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.