Kaze is all tuckered out from his morning shows. He doesn't know that we're sticking around for another.
| Github | https://github.com/kangie |
| Github | https://github.com/kangie |
Kaze is all tuckered out from his morning shows. He doesn't know that we're sticking around for another.
He sits by the office chair quietly waiting for attention when I take a break.
At the end of the day, all build systems are terrible. Meson acknowledges this and just tries to be the least terrible build system that it can, and be out of your way as quickly as possible.
In my experience, CMake and Autotools to Meson ports:
* produce a build system that takes less boilerplate / lines of code to produce the same artefacts
* "encourage" complex logic (that really doesn't belong in a build system) to be split out into scripts
* do a great job finding dependencies, using pkgconfig, CMake, and foo-config automatically
* let you define your own dependencies if those all somehow fail (though really just fix whatever package that is to have a pkgconfig file...)
* have good out-of-the-box test case support
* generally has one obvious way to implement something, not 5 terribly-documented ways, one of which is modern and approved but nobody uses because all of the users have stockholm syndrome and are convinced that they like the terrible way.
Meson can be run pretty much anywhere modern code runs, using either the original Python implementation (`meson`) or the C99 implementation (`muon`).
It's also fast: I spend a lot of time packaging and building software, and watching configure scripts _crawl_ through their checks pretty common. Ninja is also just plain better than make in terms of parallelisation.
I helped fvwm finish off their autotools -> meson port last year and am currently going over some of the freeciv build scripts to help them take advantage of meson features / stop doing so much boilerplate themselves. The difference in readability between the old and new build systems is night and day.
And unlike CMake, Meson doesn't spend all day screaming at you with _horrible_ variable names.
What meson concepts are you having trouble with? Docs everywhere could always be improved.
Tor has introduced this new cool tool they call oniux. On the page announcing it they show off a #curl command line that hasn't worked for two years... since curl nowadays refuses to resolve .onion names like RFC 7686 says.
https://blog.torproject.org/introducing-oniux-tor-isolation-using-linux-namespaces/