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
On 2/3/2016 9:44 AM, Boris Kolpackov wrote:
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:
For those who need to see examples right away, here is the introduction:
https://build2.org/build2-toolchain/doc/build2-toolchain-intro.xhtml
You might gain interest in your product with a general introduction of functionality. You might gain more interest in your product if you related its general functionality to that of Boost Build and/or CMake.
Hi Edward,
Edward Diener
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
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Boris Kolpackov Sent: 04 February 2016 08:01 To: boost@lists.boost.org Subject: Re: [boost] [ANN] build2 - C++ build toolchain
Here is the answer I sent to the "How does it compare to CMake?" question on the KDE mailing list:
For Boost, is very much based on bjam/b2, it may be useful to compare what your C++ build toolchain does? Paul --- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
On 2/3/2016 11:39 PM, Boris Kolpackov wrote:
Hi Edward,
Edward Diener
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?
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.
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
On 03-Feb-16 5:44 PM, Boris Kolpackov wrote:
Hi,
build2 is an open source, cross-platform toolchain for building and packaging C++ code.
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
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
On 2/4/16 6:42 AM, Boris Kolpackov wrote:
Hi Vladimir,
Vladimir Prus
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.
I'm sympathetic to Vladimir here. The name build2 in the context of boost suggests that it's the next version of boost build. Unintentionally or not - it IS misleading. Robert Ramey
On 2016-02-04 19:49, Robert Ramey wrote:
On 2/4/16 6:42 AM, Boris Kolpackov wrote:
Hi Vladimir,
Vladimir Prus
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.
I'm sympathetic to Vladimir here. The name build2 in the context of boost suggests that it's the next version of boost build. Unintentionally or not - it IS misleading.
+1. Also, no matter how stylized, if the logo reads "b2" then it creates confusion because the stylization is lost in verbal and written communication.
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Andrey Semashev Sent: 04 February 2016 17:00 To: boost@lists.boost.org Subject: Re: [boost] [ANN] build2 - C++ build toolchain
On 2016-02-04 19:49, Robert Ramey wrote:
On 2/4/16 6:42 AM, Boris Kolpackov wrote:
Hi Vladimir,
Vladimir Prus
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.
I'm sympathetic to Vladimir here. The name build2 in the context of boost suggests that it's the next version of boost build. Unintentionally or not - it IS misleading.
+1.
Also, no matter how stylized, if the logo reads "b2" then it creates confusion because the stylization is lost in verbal and written communication.
+several Don't even think about it... Paul
Hi Robert,
Robert Ramey
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
Gesendet: Freitag, 05. Februar 2016 um 08:13 Uhr Von: "Boris Kolpackov"
An: boost@lists.boost.org Betreff: Re: [boost] [ANN] build2 - C++ build toolchain Hi Robert,
Robert Ramey
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.
Well, maybe the solution would be to merge build2 and boost.build... ... then you already have a bunch of people which use your build system. thanks, Jens Weller
Hi Boris, thanks for the response! On 04-Feb-16 5:42 PM, Boris Kolpackov wrote:
Hi Vladimir,
Vladimir Prus
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.
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?
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.
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
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Boris Kolpackov Sent: 09 February 2016 09:02 To: boost@lists.boost.org Subject: Re: [boost] [ANN] build2 - C++ build toolchain
Hi Vladimir,
Vladimir Prus
writes: [...] but at least avoiding "b2" is possible, don't you think?
Ok, I will make sure we change the logo before the next release.
The attached might suit your needs? Paul --- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
On 2016-02-09 17:45, Paul A. Bristow wrote:
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Boris Kolpackov Sent: 09 February 2016 09:02 To: boost@lists.boost.org Subject: Re: [boost] [ANN] build2 - C++ build toolchain
Hi Vladimir,
Vladimir Prus
writes: [...] but at least avoiding "b2" is possible, don't you think?
Ok, I will make sure we change the logo before the next release.
The attached might suit your needs?
I don't think the OP was proposing build2 as a Boost project.
Hi Boris, On 09-Feb-16 12:02 PM, Boris Kolpackov wrote:
Hi Vladimir,
Vladimir Prus
writes: [...] but at least avoiding "b2" is possible, don't you think?
Ok, I will make sure we change the logo before the next release.
Thank you! -- Vladimir Prus http://vladimirprus.com
build2 is an open source, cross-platform toolchain for building and packaging C++ code.
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 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
build2 is an open source, cross-platform toolchain for building and packaging C++ code.
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 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.
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