On 4 Nov 2010, at 00:33, Tristan Sloughter wrote:
> What complex stuff is the build system dealing with?
Everything outside of "erlc" :)
- VPATH builds
- Configuring the install to find the location of C libraries
- Customising the install for users
- Setting up the system infrastructure for CouchDB to function
- Making sure things work across platforms
- Building customised versions of binaries and scripts
> I'm separating the
> config file (and similar files) problem and the icu and couch_js problem. I
> was hoping building those few C files wouldn't be bad, but I guess that is
> not true from what you are saying?
Doing the build system for an operating system daemon is Hard.
> I'd still say it should be autotools, or whatever, inside an Erlang build
> system.
Basically, I would like to see the new build system separate the package into
two components. The CouchDB OTP application, which is build using some Erlang
appropriate build system (like rebar, or whatever) and everything else.
Everything else is handled by Autotools, like it is now. Autotools is also
responsible for delegating the Erlang work off to the other build system.
A good way forward would be:
- Decide the minimum set of files needed for the Erlang build.
- Sandbox them into a directory along with the build files.
- Create a Makefile.am file in that directory.
- Hook the new system into the Autotools system.
That should work.
We get to keep teh AWSUM POWAH of Autotools, and have an OTP app. :)
Valediction,
N