Freedom251 › Build Automation Software
Tup

What Tup is
Tup is a file-based build system for Linux, macOS, and Windows. It watches a dependency graph and runs the commands needed when project files change, while its incremental algorithms avoid unnecessary work. Tup can automatically remove old files and report when a build description is unsafe to run in parallel. Users define build steps in one or more Tupfiles; the system has no built-in knowledge of a particular language or project. Configuration files can create variant directories with configurations linked or copied into each directory. On Linux, an inotify monitor can update Tup’s database as files change. Tup can generate compile_commands.json for compatible tools and create shell or Windows batch scripts for CI outside a Tup environment. Those generated scripts do not provide incremental builds. Tup is available under GPL-v2 at no cost, or through a commercial license with case-by-case terms.
Who it suits
It suits developers who want dependency-driven incremental builds across Linux, macOS, or Windows. Projects needing configurable variants or compilation database output can use its Tupfile-based approach.
What it does well
- Incremental dependency-based builds
- Automatically cleans old files
- Reports unsafe parallel build descriptions
- Generates compile_commands.json
- Available under GPL-v2
What to know first
- Linux-only file monitoring
- Generated CI scripts lack incremental builds
- Commercial license terms are case by case
- No domain-specific build knowledge
Limits
The GPL-v2 plan is free. Generated shell and Windows batch scripts work outside a Tup environment but do not provide incremental builds; commercial licensing has case-by-case terms.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Tup (GPL-v2) | Use and distribute under GPL-v2 | Free |
| Commercial license | Case-by-case terms · For including Tup in a larger work when GPL terms are not feasible | On request |
As gittup.org lists them, read 9 Oct 2026. The maker's own page has the final word.
Getting started
- Open the Tup website
- Install Tup for Linux, macOS, or Windows
- Create one or more Tupfiles describing build commands
- Use configuration files when creating variant directories
- Generate compile_commands.json or a CI shell or batch script if needed
- Use GPL-v2 at no cost, or arrange a commercial license
Verdict
Tup provides a platform-spanning, file-based build workflow with incremental updates and configurable variants. The GPL-v2 option is free; commercial licensing requires negotiated terms.
Questions
What does Tup cost?
The Tup (GPL-v2) plan is free. A commercial license is billed on case-by-case terms.
Which operating systems does Tup support?
Tup supports Linux, macOS, and Windows.
Does Tup provide incremental builds?
Yes. Its build algorithms avoid unnecessary work when updating projects.
Can Tup create build variants?
Yes. Configuration files can create variant directories with the configuration linked or copied into each directory.
Can Tup support CI environments?
It can generate a shell or Windows batch script that builds without running inside Tup, but that script does not support incremental builds.
Facts from Tup's own pages
- Build cleanup
- Tup automatically cleans up old files. · gittup.org, 9 Oct 2026
- Build configuration
- Users describe how to build a program in one or more Tupfiles because Tup has no domain-specific knowledge. · gittup.org, 9 Oct 2026
- Build variants
- Tup can create variant directories from configuration files, with the configuration linked or copied into each directory. · gittup.org, 9 Oct 2026
- CI use
- Tup can generate a shell or Windows batch script to build without running inside a Tup environment; the generated script does not support incremental builds. · gittup.org, 9 Oct 2026
- File monitoring
- The inotify-based file monitor is Linux only and can update the Tup database as file changes occur. · gittup.org, 9 Oct 2026
- Incremental builds
- Tup uses build algorithms to avoid unnecessary work and update projects with little overhead. · gittup.org, 9 Oct 2026
- License
- Tup is dual-licensed under GPL-v2 or a commercial license whose terms are negotiated case by case. · gittup.org, 9 Oct 2026
- Parallel safety
- Tup detects when a build description is not parallel-safe and reports it. · gittup.org, 9 Oct 2026
- Platforms
- The maker describes Tup as available for Linux, OSX, and Windows; its macOS instructions require a FUSE implementation. · gittup.org, 9 Oct 2026
- Purpose
- Tup is a file-based build system that processes file changes and a dependency graph to run commands needed to update dependent files. · gittup.org, 9 Oct 2026
- Release history
- The release directory lists Tup 0.8 dated 2024-03-31 as its newest listed release. · gittup.org, 9 Oct 2026
- Support
- The public mailing list is free for open-source and commercial projects, while private email support is offered free for open-source projects. · gittup.org, 9 Oct 2026
- Tooling integration
- Tup can generate compile_commands.json for third-party tools that use the JSON compilation database format. · gittup.org, 9 Oct 2026
Where Tup stands on Freedom251
- Build Automation Software#29 of 42