There are Profiles specs and Platforms specs, that will be regularly updated. This means software has a fixed target on which it can depend.
This isn't true. The required extensions are specified in the Unix platform spec, and any additional extensions are detected and used at runtime (exactly how things work on x86 in fact).