(Back to Contributing)
This page addresses common confusion with Oils.
Their contents are very different:
oils-for-unix tarballs have (generated) C++ source code. There is no Python.(If you don't want to compile the tarball, you may be able to find pre-built binaries in your package managers: Oils Deployments.)
See the instructions in INSTALL.html.
This build process is pretty involved, and changes from time to time. It's not meant for end users.
Details:
soil/worker.sh and the cpp-tarball job.Generating C++ from Python is unusual, but many projects have a non-trivial release process.
For example, when a project uses autotools, you run its generated shell scripts like ./configure, and generated makefiles. You're not running the original m4 source code.
You don't need to install m4 to build and autotools project, only shell and make. This is an intended feature.
Likewise, with Oils, you don't need Python to build or run. You only need a C++ compiler.
Everything is open source, so you can do this.
However, I wouldn't recommend it as the first thing you do with the source of the Oils project. People have tried before and gotten stuck!
A good first contribution would be to pick a bug from the issue tracker.
As of March 2025, we shouldn't require root access for building "wedges", e.g. specific versions of re2c, Python 2, Python 3, etc.