A software development system is described in which lattice theory is used
to model the compatibility and desirability in the target execution
environment of various build option parameters selected by a user. A
library selector is formed by combining the build option parameters of
each source code entity to produce a selector having the maximum level of
execution environment requirements needed among the group of source code
entities being compiled. This library selector may be used to select a
particular library of machine code entities compatible with these
execution environment requirements whilst providing the most desirable
machine code entities to exploit the capabilities of the target data
processing system.