+----- On Tue, 10 Feb 1998 15:04:50 +0100, Casper Dik writes:
| hear, hear!
|
| Compile time options are evil. Apart from making configuring and testing
| hard (oops, want to change this option needs recompile) it makes binary
| distributions infeasible.
|
| Keep in mind that many people now download binary distributions (very
| popular for Linux and also for Solaris). Do we need 2^n binary
| distributions (where n is the number of binary options)? I think not.
I disagree, having non-compile time options leads to program bloat. Now
we have 2 evils which can easily be resolved by making the compile
time option yes/no/runtime. Look at Linux, should the kernel cater for
every device imaginable, or should you get something that works
reasonably well for most machines but which can be tuned to your system
if you want.
Your argument doesn't follow.
We're not talking substantial things such as adding device drivers
or compiling kernels (of course, we all know that device drivers should
be loaded dynamically, so that point is moot anyway).
And in binary device driver distributions, the kernel configuration is
still easily adapted.
For programs compile time options are evil and should be exterminated;
first of all, there's hardly any source code bloat.
#ifdef FOO vs if (foo)
The code will be somewhat bigger, but I doubt it will be more than 1% or 2%
for typical options.
Giving a choice between yes/no/runtime is more evil as it makes the source
code potentially much more complex.
Casper