
Hi, build2 is an open source, cross-platform toolchain for building and packaging C++ code. It includes a build system, package manager, and repository web interface. We've also started cppget.org, a public repository of open source C++ packages (where we hope to see Boost one day). This is the first alpha release and currently it is more of a technology preview rather than anything that is ready for production. We have tested this version on various Linux'es, Mac OS, and FreeBSD. There is no Windows support yet (but cross-compilation is supported). The project's page is: https://build2.org For those who need to see examples right away, here is the introduction: https://build2.org/build2-toolchain/doc/build2-toolchain-intro.xhtml Enjoy, Boris

Hi Edward, Edward Diener <eldiener@tropicsoft.com> writes:
You might gain interest in your product with a general introduction of functionality.
That was the goal of the Toolchain Introduction doc. Or was it not detailed enough?
You might gain more interest in your product if you related its general functionality to that of Boost Build and/or CMake.
Yes, learned that, thanks. I now have no doubt what the first question in our FAQ should be. ;-) Boris

Hi, Here is the answer I sent to the "How does it compare to CMake?" question on the KDE mailing list: I don't like to "sell" vaporware and wax poetic about how build2 will be better than CMake in the future because right now, completeness-wise, it is definitely inferior. But here are a few points: 1. It is not a project generator so you will have a consistent build interface across platforms/compilers (some may view this as a disadvantage though, so we are keeping an eye on the possibility of meta-build'ing in build2, though this is definitely not a priority right now). 2. It has sane buildfile syntax, more like make and less like, well, I don't know what CMake syntax is: DO_SENSIBLE_THING_FOR_AllSubDirs(Its_a_go ${all_good}); 3. It has a package manager that works well with it and, in fact, informs the design of the build system. Though the build system can be used by itself, without any packaging. 4. It supports complex, C++-specific use-cases, such as automatic header dependency extraction in the face of auto-generated headers. 5. Cross-compilation is natural, not an afterthought. Fun fact: this version can cross-compile to Windows but not build natively (yet). 6. Support for project configuration is part of the build system. 7. Extra targets (operations in build2 terms): test, install, dist. 8. Subprojects and amalgamation (you can drop a prerequisite library into your project and the import machinery will automatically find it; see build2-toolchain for an example). Well, this is what's implemented so far. Boris

On 2/3/2016 11:39 PM, Boris Kolpackov wrote:
That is not a general overview. Instead it is a tutorial and like most tutorials without an overview it is a total failure because the end-user has no idea whatsoever what your product does and what are the various components of your product.

On 03-Feb-16 5:44 PM, Boris Kolpackov wrote:
Boris, could you consider using name that's not 'build2'? Given that Boost.Build 2 exists for years, marketed by that name, and uses 'b2' as executable, it seems that calling a similar product as 'build2' is bound to create confusion for users. Hey, even the top-left of your web site just say 'b2'. I don't suppose this confusion is intentional - if you are posting on a Boost mailing list you probably is aware of the prior naming? -- Vladimir Prus http://vladimirprus.com

Hi Vladimir, Vladimir Prus <vladimir.prus@gmail.com> writes:
could you consider using name that's not 'build2'?
I honestly don't see how 'build2' (always spelled in lower case, no space between 'build' and '2') can be confused with 'Boost.Build 2', I think that's a bit of a stretch. For the 'b2' logo (and that's only place we use 'b2' -- our executable name is called 'b' and we always call the project 'build2'), yes, you may have a point. But, again, confusing a logo with an executable name, I don't know... We will probably change/stylize the logo at some point so it will hopefully be even less confusing. Boris

Hi Robert, Robert Ramey <ramey@rrsd.com> writes:
The name build2 in the context of boost suggests that it's the next version of boost build.
I am not sure what you mean "in the context of boost" exactly, but build2 is in no way specific to Boost. The name 'build2' is derived from 'build' (as in "build, take two") which is a GNU-make based build system that's been around for more than 10 years now. Also, 'build2' has been around for some time now. In fact, I gave a talk on it at the last year's C++Now where I prominently used that name. Not a single person raised this concern. So I am afraid it is too late to change the name now (everything uses the build2.org domain, mailing lists, etc). If you would like, I can add an entry to the FAQ explicitly stating that this is not Boost.Build v2. Boris

Hi Boris, thanks for the response! On 04-Feb-16 5:42 PM, Boris Kolpackov wrote:
I would say that if humans are to read those names, they would not care about capitalization and spacing. You hear "build 2" part and you're already confused. Do you honestly believe that if you say "boost build 2" and "build 2", there is no likelihood of confusion, to speak in trademark terms?
Probably more than 90% of people use the name of the executable to refer to Boost.Build, quite natural for a build tool where the executable is the primary interface. It's not a name of some deeply hidden component. Also I am not sure how you plan to stylize your logo - if it remains a wordmark, changing font and colors but retaining "b2", there would still be confusion between b2-the-executable-name-for-a-C++-build-system and b2-the-wordmark-for-a-C++-build-and-packaging-system. I realize you must have spent some money on the domain name, and gave talks, so renaming everything might not be an easy option, but at least avoiding "b2" is possible, don't you think? -- Vladimir Prus http://vladimirprus.com

Hi Boris, On 09-Feb-16 12:02 PM, Boris Kolpackov wrote:
Thank you! -- Vladimir Prus http://vladimirprus.com

i guess that everyone referring to "thread" uses the terms "std thread" or "boost thread" to resolve the ambiguity. personally, i use "boost build" as a term like "build" could also refer to "the binary artifacts produced by a build process". using "build" without any context is probably a bad idea (both for "boost.build" and for "build2"). tim, who is not sure if we need yet another "buildsystem", but would rather see a good cross-platform c/c++ package manager.

On Fri, Feb 5, 2016 at 9:02 AM, Tim Blechmann <tim@klingt.org> wrote:
Hi Tim, About the C and C++ cross platform package manager, maybe you want to have a look at https://www.conan.io/, is relatively new, beta, but it is having good acceptance and is very active. Diego
participants (9)
-
Andrey Semashev
-
Boris Kolpackov
-
Diego Rodriguez-Losada
-
Edward Diener
-
Jens Weller
-
Paul A. Bristow
-
Robert Ramey
-
Tim Blechmann
-
Vladimir Prus