Boost logo

Boost-Build :

Subject: Re: [Boost-build] [future] Implementation language(s)..
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2016-10-18 16:28:51


On Tue, Oct 18, 2016 at 12:53 PM, Chambers, Matthew <
matt.chambers42_at_[hidden]> wrote:

> I'm concerned that we are discussing the implementation language without
> firming up the requirements of the downstream components, e.g. IDE
> integration.

We do have to start somewhere :-) I don't think anything would be set in
stone even after implementing stuff. But, yes, this conversation is part of
trying to discover what we need.

> If we have a better idea how we want IDE integration to be possible, that
> may influence our choice(s) of implementation language. I develop with VS
> as a code editor, but I don't see an obvious way to leverage the power of
> B2's declarative DSL files from the GUI.

We need some imagination on this obviously.. Minimal UI might just be
leaving up to the user to use make projects. Next might be a UI with a
context menu on bb build files that lets you build that project. Possibly
asking for a command line. Next might be a tool configuration that lets you
specify the types of build variants to show in that menu (ie to let you
build release, debug, etc). Next could be a special target dependency in
the build file spec that says to import the basic target def from the VS
project files. But that might be going too far, as it might be best to have
the BB side reflect its targets to the IDE project to avoid discrepancies.

That's as far as my brain can think of this far ahead though :-) And of
course, the same type of conjecture would apply to any IDE.

> Does a VS solution or project file act as an alternative to Jam/YAML/JSON?

Probably not. But it's not impossible.

> If so, how will it take advantage of B2's declarative approach in a way
> that makes it preferable to just using the IDE's built-in build system.

Some I mentioned above. More.. I don't know :-) We'd have to investigate.
And it will likely be different for each IDE.

> If not, then the user still has to write Jam/YAML/JSON by hand, right?

Maybe. But if that's needed or wanted.. We can also provide editor
utilities for editing the file (ie syntax checking, macros, etc).

> I can see IDE integration being very useful for seamlessly debugging the
> build system, though.
>

And perf tracing, and code metrics, and, and...

> I share Vladimir's concern about needing to leverage the existing code due
> to the lack of available contributors to the core build engine.
>

There are different ways of leveraging something.

-- 
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net
-- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk