basic-build
Dev tools
build system
SHOW HN2017
How HN took it
0 positive, 9 neutral or asking, 2 mixed, 17 critical, out of 28 comments about the project. Thread score -0.49.
Idea: 0 for, 12 againstExecution: 0 for, 5 against
The thread, comment by comment
Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.
positive neutral or mixed critical about another commenter or something else the maker
What HN said
What people liked
Explicit sequence of steps is more readable than declarative makefiles
From 1 comment
Yes, that's true. I'm still noodling on that, primarily to enable parallel builds. Outside of parallel builds, however, I actually prefer an explicit sequence of steps to…
akkartik on HN
Objections
Uses functions and the local keyword, which are not portable to original Bourne shell or some platforms like Solaris
From 3 comments
> This repo illustrates a way to manage a project using just plain Bourne sh, available on all Unix systems since 1977. No, this code uses functions, which didn't exist in the…
jwilk on HNIt also uses the "local" keyword, which is non-portable. People like to bash the autotools, but they exist for exactly this reason - they already spent decades working through…
jperkin on HNAny OS which use the Korn shell as /bin/sh, for example Solaris 10, 11, and illumos: ``` $ /bin/sh -c "fail() { local f; }; fail" /bin/sh[1]: local: not found [No such file or…
jperkin on HN
No dependency resolution or topological sorting, so it does not scale
From 3 comments
This leaves the topological sorting of the tasks to the programmer? This is neat, but that's one very useful feature of make that's missing.
boomlinde on HNI seriously wonder if the author ever worked on a project with more than around 10k LOC, multiple languages and tools, automatic testing, deployment, version control (merging…
edejong on HNYes, it's a team of engineers. But interestingly, Google started with a mono-repo. All through their explosive growth they maintained (mostly, except Android and Chromium) their…
edejong on HN
Python or another modern language would be cleaner than shell
From 1 comment
I applaud the effort, but is "pure /bin/sh" really a good feature in today's systems? To my knowledge, today every Unix system has Python, usually at least 2.7, if not Python 3.…
vog on HN
Code has no open source license
From 1 comment
> The build script is easy to repurpose to your needs No, it's not. This isn't under a free or open source license. The lack of license means that only an idiot would use it for…
TheDong on HN
Requests
Support for parallel builds and dependency graphs
From 2 comments
This leaves the topological sorting of the tasks to the programmer? This is neat, but that's one very useful feature of make that's missing.
boomlinde on HNYes, that's true. I'm still noodling on that, primarily to enable parallel builds. Outside of parallel builds, however, I actually prefer an explicit sequence of steps to…
akkartik on HN
Questions
How does it compare to make, tup, or apenwarr's do?
From 3 comments
"notabug.org"... interesting. Anyway, how does this compare, features-wise, with GNU Make? For example with make you have `./configure` files, do I also have them here?
lauretas on HNHow does this compare to e.g. @apenwarr's minimal `do`?
zimpenfish on HNhas anyone tried tup? http://gittup.org/tup/
jlebrech on HN
Alternatives named
tup
From 3 comments
If you aim for slightly larger projects and efficiency, you'd need at least a DAG (because that's the fundamental nature of a dependency graph). You can find a nice explanation…
vog on HNhas anyone tried tup? http://gittup.org/tup/
jlebrech on HNTup is pretty darn amazing. I've never had such a high success rate while writing build rules under it. "Once it builds, it has no bug". Not to mention the great speed to begin…
chenglou on HN
GNU make
From 2 comments
"notabug.org"... interesting. Anyway, how does this compare, features-wise, with GNU Make? For example with make you have `./configure` files, do I also have them here?
lauretas on HNIt's not a requirement - I give you: .RECIPEPREFIX > If you prefer to prefix your recipes with a character other than tab, you can set the .RECIPEPREFIX variable to an alternate…
falcolas on HN
ninja
From 1 comment
Thus ninja https://ninja-build.org/
qznc on HN
apenwarr's do
From 1 comment
How does this compare to e.g. @apenwarr's minimal `do`?
zimpenfish on HN
qbs
From 1 comment
tup sounds similar to qbs. I found qbs to be a most amazing C++ build system, it's the only one I used that is 1) reasonably easy to use 2) very fast 3) very correct Most build…
dom0 on HN