Re: puzzle: from Guile executable to --prefix and --exec-prefix

Jim Blandy (jimb@cyclic.com)
Fri, 30 May 1997 10:56:57 -0500

>> If there's some C function that exists in newer versions of guile that
>> wasn't present in older versions, isn't it adaquate to test whether
>> that function is in the guile library?
>
>Typically the problem is that a function or macro or #define has changed
>signature or semantics between two versions, rather than existence or
>non-existence.

In such cases, the right thing is for the configure script to test the
macro/function's semantics, rather than to test a version number.

People sometimes say autoconf is a crock; I think it's one of the best
acknowledgements of the nature of software evolution around.

The fact is that all the version information, all the stupid little
symbols that C compilers helpfully provide us (__SYSTYPE_BSD,
__host_mips__), all the output from all the uname, arch, and machine
commands in the world isn't worth the bits it occupies, because people
*will* change an implementation without changing its name. The
empirical approach --- actually observing the system in action, to
whatever degree of detail is necessary --- is the only way to really
deal with the situation.

It's not orderly or "clean", but the reality we're trying to cope with
isn't orderly either. Even in our specific situation, this is true.
What good is the version number if your user is running Tom Lord's
branch of Guile, Systas?

There. I've had my rant for the day. You can all snicker now.
:)