Speed
Tup is designed to be fast by minimizing the overhead typical in other build systems. It efficiently tracks dependencies and only rebuilds what is necessary.
Automatic Dependency Detection
Tup automatically detects dependencies between source files, which reduces the need for manually specifying them and decreases the chances of human error.
Parallel Execution
Tup takes advantage of parallelism to build multiple targets simultaneously, which can significantly reduce build times, especially on multi-core systems.
Incremental Builds
By tracking dependencies accurately, Tup supports incremental builds, which saves time by only rebuilding parts of the project that have changed.
Simple Configuration
The configuration files (Tupfiles) are generally simpler and less verbose compared to makefiles, making them easier to write and maintain.
We have collected here some useful links to help you find out if tup is good.
Check the traffic stats of tup on SimilarWeb. The key metrics to look for are: monthly visits, average visit duration, pages per visit, and traffic by country. Moreoever, check the traffic sources. For example "Direct" traffic is a good sign.
Check the "Domain Rating" of tup on Ahrefs. The domain rating is a measure of the strength of a website's backlink profile on a scale from 0 to 100. It shows the strength of tup's backlink profile compared to the other websites. In most cases a domain rating of 60+ is considered good and 70+ is considered very good.
Check the "Domain Authority" of tup on MOZ. A website's domain authority (DA) is a search engine ranking score that predicts how well a website will rank on search engine result pages (SERPs). It is based on a 100-point logarithmic scale, with higher scores corresponding to a greater likelihood of ranking. This is another useful metric to check if a website is good.
The latest comments about tup on Reddit. This can help you find out how popualr the product is and what people think about it.
The arrows don't go up...? https://gittup.org/tup/. - Source: Hacker News / about 1 month ago
Tup. https://gittup.org/tup/ https://gittup.org/tup/make_vs_tup.html But the Internetโs make mind-share means you still have to know make. - Source: Hacker News / about 1 year ago
Does anyone have experience with tup? https://gittup.org/tup/ It is a build system that automatically determines dependencies based on file system access, so it can work with any kind of compiler/tool. - Source: Hacker News / about 1 year ago
Sounds like https://gittup.org/tup/ to me. - Source: Hacker News / over 1 year ago
Whenever looking at one these, I think back to the obscure but interesting "tup": โHow is it so awesome? In a typical build system, the dependency arrows go down. Although this is the way they would naturally go due to gravity, it is unfortunately also where the enemy's gate is. This makes it very inefficient and unfriendly. In tup, the arrows go up.โ https://gittup.org/tup/. - Source: Hacker News / over 2 years ago
Once upon a time, you could roll your own of this using `tup` which might have my favorite "how it works" in the readme: How is it so awesome? In a typical build system, the dependency arrows go down. Although this is the way they would naturally go due to gravity, it is unfortunately also where the enemy's gate is. This makes it very inefficient and unfriendly. In tup, the arrows go up. This is... - Source: Hacker News / over 2 years ago
Ten years ago, I used reStructuredText and its support for LaTeX math and syntax highlighting. I used tup (tup monitor -a -f) to take care of running rst2html on save. Source: about 3 years ago
The dependency resolution is core to https://gittup.org/tup/ which had been adopted a bit at the time it came out but since faded back into obscurity. - Source: Hacker News / over 3 years ago
I might be showing my ignorance here, but this just sounds like Tup? https://gittup.org/tup/. Source: over 3 years ago
I agree. While I like the idea of tup (https://gittup.org/tup/ -- the first "forward" build system I remember hearing of), writing a makefile is easy enough that thinking about the problem upside-down doesn't offer a compelling reason to switch. Ptrace is one option for tracing dependencies, but it comes with a performance hit. A low-level alternative would be ftrace (https://lwn.net/Articles/608497/) or dtrace... - Source: Hacker News / over 3 years ago
You might enjoy Tup[1] if you've not checked it out before. [1]: https://gittup.org/tup/. - Source: Hacker News / almost 4 years ago
Then don't use cargo. Rustc is quite a smart compiler, and it's actually quite easy to assemble your own dependency trees with something like make or tup. It's just that nobody distributes their Rust code in that way... But you're free to, if you want. Source: almost 4 years ago
CMake is often referred to as a meta build-system. It isn't a build-system in itself, such as make) and tup are, but rather a higher-order tool which is used to generate the build-system files; for example, it outputs makefiles. CMake also other features, for testing and packaging, and probably a bunch of stuff because it's a rather bloated mess. Source: almost 4 years ago
- outside of a compiler, the only examples I'm aware of are build systems like tup (https://gittup.org/tup/) or RIKER (https://github.com/curtsinger-lab/riker) which use filesystem sandboxing (FUSE for tup, ptrace/seccomp-BPF for RIKER) for "automatically correct" build dependencies. - Source: Hacker News / about 4 years ago
I hate cmake with a passion. Horrible horrible thing. I quite enjoy writing (non critical hobby stuff) in C++, but cmake makes me dread setting up new projects and really puts me off doing so, so I try to avoid it (I use Tup for my own โI donโt care if other people canโt use itโ stuff). Source: about 4 years ago
The problem is that asciidoctor doesn't have a -MMD option like gcc. So you have to list out all dependencies explicitly. The only ways to fix this are to look at what files asciidoctor opens and calculate dependencies based on that, send a patch to add this kind of option, or create your own asciidoc parser just to extract dependency info. Note, however, that this is not a make problem. Every build tool runs into... Source: over 4 years ago
For a lot of the same reasons in this article I like to use tup[0] when I can. It doesn't integrate into anything which is both good and bad. I wish my IDE could check with tup to see what dependencies get pulled in by what files. However, it's nice that it doesn't care what language or ecosystem I'm using. Also I can get a neat dependency graph as a PNG if I want. [0] https://gittup.org/tup/. - Source: Hacker News / over 4 years ago
With more complex notebooks I often find the notebook gets too error-prone to work with. It's very easy to have some variable floating around from an old execution which you're accidentally relying on, for example. In these cases I've ported the notebook over to the Tup build system (http://gittup.org/tup/). Each cell becomes one Python file and effectively you get a system where modifying one cell will... Source: over 4 years ago
I only use it for code highlighting and limited autocomplete though, since I build using Tup http://gittup.org/tup/. Source: over 4 years ago
Basically I write a config for using Tup. I find Tup much easier to understand and itโs configuration much simpler than cmake. Source: almost 5 years ago
Basically I use Tup as a build tool and have a setup around that. I keep third party dependencies in git submodules where possible and try to only use header only dependencies. When I need a dependency thatโs not headed only, I create a Tupfile to build it into a .a archive for me and my main Tupfile is set up to link all archives in my dependency directory. Source: almost 5 years ago
Do you know an article comparing tup to other products?
Suggest a link to a post with product alternatives.
Is tup good? This is an informative page that will help you find out. Moreover, you can review and discuss tup here. The primary details have not been verified within the last quarter, and they might be outdated. If you think we are missing something, please use the means on this page to comment or suggest changes. All reviews and comments are highly encouranged and appreciated as they help everyone in the community to make an informed choice. Please always be kind and objective when evaluating a product and sharing your opinion.