8 ms·
Do the Go sources on GitHub use waf, make, CMake, bazel, or something entirely bespoke? Or is a common build system assumed?
by humanrebar 6y ago
Do the Go sources on GitHub use waf, make, CMake, bazel, or something entirely bespoke? Or is a common build system assumed?
- coder543 6y agoGo just uses the Go build system, which is common to all Go projects, so... it assumes a common build system. Some people do occasionally use Bazel or other build systems on top of the Go build system for complicated monorepos.
- humanrebar 6y agoRight. C++ has a chicken-and-the-egg problem in that neither its build not packaging ecosystem have even de facto standards. GitHub URLs don't solve either problem.
- coder543 6y agoI think everyone agrees that a common build system is a necessary step if any of this is going to work. Thinking about how much or how little would be required beyond a common build system in order to get a working package management system is still a valid thing to do.
- humanrebar 6y agoI expect it is necessary to keep build configuration portable with respect to packaging and environment configuration. In other words, I expect downloading from URLs in Makefiles and CMakeLists to be a local maximum. Keeping a parallel set of instructions or metadata that includes specific URLs and such might work, though. As long as you can skip all that when a system package, filesystem path, or git submodule is more appropriate.