A program which is linked or bound by reference (referenced program) into
one or more other programs supports multiple valid export signatures,
each corresponding to a respective version of the referenced program.
When a program is built, it records the current signature of each
referenced program it is bound to. When subsequently determining whether
to rebuild the program, the previously recorded signature of any
referenced program is compared with all currently supported signatures of
the referenced program, and only if none of the supported signatures
matches does the program need to be re-built to ensure compatibility with
the referenced program. Preferably, the referenced program is a program
library containing supporting procedures, intended to be used by multiple
applications programs which are bound to it.