Superenv is an attempt to improve build-reliability and end-build-quality. It is:
PATHis ignored. Thus, only tools we authorize can be used during builds1.
PATHis reconstructed. For example:
superbin2) contains wrapper-scripts for
superbinscripts are smart. They forcibly insert all include-paths and library-paths that Homebrew formulae need to compile, as well as remove flags that break builds.
Because we are working with a practically virgin environment, we are essentially giving build-systems the kind of environments that the developers are using to build with. This makes them more reliable. By stepping into the toolchain between the build-system and the compiler, we have complete control over the toolchain. We can prevent a good deal of breakage, and it ensures that Homebrew uses the same executables that the compiler sees (and not those bundled with the system).
Last edited by Brian M Hunt,