stefanseefeld / faber

Faber
https://stefanseefeld.github.io/faber
Boost Software License 1.0
14 stars 2 forks source link

Consider just using Meson #11

Closed rossburton closed 5 years ago

rossburton commented 6 years ago

I know this will sound like a troll, but honestly it isn't intended as such.

As a distro builder I have very strong opinions on build systems (autotools is cranky but reliable and the warts are known, cmake is fragile and unknowable, Meson is new but maturing fast, Jam is a disaster, etc). Looking at the format of the faber files the similarity to Meson is undeniable. Have you considered just using Meson?

arvidn commented 6 years ago

it's virtually impossible to build a medium size project and be confident that all parts are link compatible, except with boost-build. Producing correct binaries is by far the most important feature of a build system (in my opinion). Scripting language, build speed, language implemented in are all irrelevant if you don't have correctness. As far as I know, boost-build is the only system that takes link compatibility seriously.

stefanseefeld commented 5 years ago

@rossburton , do you mind doing an actual comparison of the two (Meson and Faber) ? Otherwise it's just an invitation to start a pointless discussion on personal preferences, which I have no interest into.

I have taken great pain to preserve all the good things from Boost.Build, while replacing the bad and the ugly. (In fact, I just now merged work to replace bjam by a new asyncio-based scheduler.)

rossburton commented 5 years ago

I guess my only point is that more build systems isn't necessarily a good thing (let's have less that work well), and Meson appears to have a similar build configuration layout to Faber. The Meson developers are submitting papers to the C++ committee about building modules, so they care about C++ and are doing the "right thing".

(personal background is that boost is one of five or so packages which are a pain to build, partly because it uses a build system that nothing else uses)

stefanseefeld commented 5 years ago

I agree (about not fragmenting the user-base unnecessarily). Faber is much broader in scope than just trying to be a tool for C++ developers. It's (at least conceptually) fully target agnostic.

rossburton commented 5 years ago

Sure, so it Meson, I only called out C++ because obviously that's Boost's language.

stefanseefeld commented 5 years ago

Good ! (I still haven't seen a detailed comparison of Meson and Faber, though, and without it I find your original point (as per the issue title) pretty meaningless.