Actually, I think the configure prefix feature should be
Software should be written to find everything it needs at runtime
relative to the path of the invoked binary.
The problem with that is two fold, one it would require changing
several hundred of thousands of programs. Second, it would be
impossible to find system configuration files, libexec type programs,
etc without alot of complicated FOO_PATH and FOO_PROGRAM variables.
It is simple enough to recompile a program, and there is little
benefit in looking things up at run-time.