EVERYTHING XIAOMI
Get listed

Tup

Tup is a file-based build system for Linux, macOS, and Windows.

Place
#26 of 42
Score
6.1
Tup's website

What Tup is

Tup is a file-based build system for Linux, macOS, and Windows. It follows file changes through a dependency graph and runs commands needed to update dependent outputs. Its build algorithms aim to avoid unnecessary work during incremental builds, and it automatically removes old files. Build instructions are written in one or more Tupfiles; Tup has no domain-specific knowledge of a language or project. Configuration files can create variant directories, with configuration linked or copied into each directory. On Linux, an inotify-based monitor can update Tup’s database as files change. Tup can generate compile_commands.json for tools that use the JSON compilation database format. For CI outside a Tup environment, it can generate a shell or Windows batch script, but those generated scripts do not support incremental builds. Tup reports when a build description is not safe for parallel execution. The GPL-v2 plan costs nothing. A commercial license uses case-by-case terms with no listed price. The newest listed release is Tup 0.8, dated 2024-03-31.

Good

  • Runs only commands needed for changed dependencies
  • Supports Linux, macOS, and Windows
  • Automatically cleans obsolete files
  • Generates compile_commands.json
  • Can create configuration-based build variants

Watch out

  • Linux file monitoring uses inotify
  • Generated CI scripts lack incremental builds
  • Commercial license terms are case by case
  • Newest listed release is dated 2024-03-31

Who it suits

Tup suits developers who want file-driven, dependency-based builds across Linux, macOS, and Windows. It can also support CI output and third-party tooling through generated files and scripts.

Verdict

Tup provides dependency-aware incremental builds, cleanup, variant directories, and integration outputs across three desktop operating systems. Open-source use is free under GPL-v2, while commercial licensing requires negotiated terms.

Plans and prices

From Tup's own pricing page, checked 9 Oct 2001.

All about pricing
PlanPriceWhat it gives you
Tup (GPL-v2)FreeUse and distribute under GPL-v2
Commercial licensePriced on requestFor including Tup in a larger work when GPL terms are not feasible · Case-by-case terms

The facts

Each one read from Tup's own pages, with the date it was checked.

What it does

Build cleanup
Tup automatically cleans up old files.checked 9 Oct 2001
Build configuration
Users describe how to build a program in one or more Tupfiles because Tup has no domain-specific knowledge.checked 9 Oct 2001
Build variants
Tup can create variant directories from configuration files, with the configuration linked or copied into each directory.checked 9 Oct 2001
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.checked 9 Oct 2001
File monitoring
The inotify-based file monitor is Linux only and can update the Tup database as file changes occur.checked 9 Oct 2001
Incremental builds
Tup uses build algorithms to avoid unnecessary work and update projects with little overhead.checked 9 Oct 2001
License
Tup is dual-licensed under GPL-v2 or a commercial license whose terms are negotiated case by case.checked 9 Oct 2001
Parallel safety
Tup detects when a build description is not parallel-safe and reports it.checked 9 Oct 2001
Purpose
Tup is a file-based build system that processes file changes and a dependency graph to run commands needed to update dependent files.checked 9 Oct 2001
Release history
The release directory lists Tup 0.8 dated 2024-03-31 as its newest listed release.checked 9 Oct 2001
Support
The public mailing list is free for open-source and commercial projects, while private email support is offered free for open-source projects.checked 9 Oct 2001
Tooling integration
Tup can generate compile_commands.json for third-party tools that use the JSON compilation database format.checked 9 Oct 2001

Where it runs

Platforms
The maker describes Tup as available for Linux, OSX, and Windows; its macOS instructions require a FUSE implementation.checked 9 Oct 2001

Alternatives to Tup

All alternatives
  1. 1AWS CodeBuild logo

    AWS CodeBuild

    Free planWebAPILinuxmacOS
    7.9From $0.01 a month
  2. 2fastlane logo

    fastlane

    Free planAndroidiOSLinuxmacOS
    7.4Free plan
  3. 3Nx logo

    Nx

    Free planWebLinuxmacOSSelf-hosted
    7.2From $29 a month
  4. 4Bazel logo

    Bazel

    Free planLinuxmacOSWindows
    6.7Free plan
  5. 5FASTBuild logo

    FASTBuild

    Free planLinuxmacOSWindows
    6.6Free plan
  6. 6

    Open Build Service

    Free planWebAPILinuxSelf-hosted
    6.6Free plan