Proprietary operating systems
On proprietary operating systems, it is hard to determine if they are tampered with. Typically, they also require non-free compilation tools that can be hard to obtain for users.
The good news is that for some cases, we have free software tools which are able to cross-compile software for proprietary operating systems on free operating systems. Both Bitcoin and Tor Browser have pioneered the technique to build their Windows and Mac OS X versions.
For Windows, mingw-w64 will build Windows binaries on POSIX compatible operating systems.
NSIS can be used to create integrated installation package.
Both are readily available in several free software distributions.
Mac OS X
crosstool-ng should work to build software for Mac OS X. Sadly this seems to require a non-redistributable part of the Apple SDK. It can be extracted from XCode which can be downloaded at no charge.
Software from Mac OS X is often distributed as disk images (
which can be created under GNU/Linux, but it seems to require multiple
tools at the
Achieve deterministic builds
- Deterministic build systems
- Volatile inputs can disappear
- Stable order for inputs
- Value initialization
- Version information
- Archive metadata
- Stable order for outputs
- Build path
- System images
Define a build environment
- What's in a build environment?
- Recording the build environment
- Definition strategies
- Proprietary operating systems
Distribute the environment
Follow us on Twitter @ReproBuilds and please consider making a donation. Content licensed under CC BY-SA 4.0, style licensed under MIT. Templates and styles based on the Tor Styleguide. Logos and trademarks belong to their respective owners. Patches welcome via our Git repository (instructions) or via our mailing list.