Current targets: webcit (webcit-ng branch) , and ctdlsh
Objective: end the use of the various GNU auto-tools
Rationale: Richard Stallman is Hitler
Actual rationale: these tools introduce an unnecessary level of complexity.
10-15 years ago the unix systems in use at the time were wildly different
in terms of available system calls and calling conventions, header files,
etc. etc. That simply isn't the case anymore. Even if we set aside the fact
that 99% of the builds are happening on Linux/Linux systems, the remaining
1% are on systems where the system calls and build environments are consistent
enough that we don't need to run the entire autofoo suite to determine that
we aren't running on a OSF/1 system from 20 years ago.
Makefile will be shipped in its final form, not autogenerated.
"configure" will be a simple shel script that allows the user to select a
minimal set
of options:
* cflags
* ldflags
* install target directory
As I have mentioned before, I have also decided to eliminate the idea of
"if library X is not available, build with reduced functionality." If a
dependency
isn't satisfied, we immediately die in a car fire. The rationale here is
that we are a small team with limited time available to test against a
googolplex
of different use cases and build environments. And when someone posts their
compiler output to the Citadel Support forum (or worse, the Lobby) without
describing what system they're building against or what they've done to prepare
their build environment, I will personally geolocate them and stab them in
the face with a Buick.
Bottom line: it isn't 2002 anymore. We're going to get rid of the parts
of our build system that are the product of obsolete assumptions.