---------------------------------------------------------------------- HostMatcher ---------------------------------------------------------------------- A platform identifier looks something like: OS=Linux, ISA=i386 OS=Windows, ISA=PowerPC The HostMatcher takes the following inputs: 1. A list of "available" platform identifiers. 2. A list of transformation rules to describe how different platforms are compatible with each other. 3. A single "requested" platform identifier. And produces the following output: One of the platform identifiers from the "available" list that is compatible with the "requested" platform identifier. -------------------- "Test.py" lets you try different combinations of inputs to see how the program operates. -------------------- "ExecutableSelector.py" is designed for the following situation: - You have to run the same program on multiple platforms. - You have a version of the executable for each target platform. - You need to figure out, automatically, which of the executables to use on the current platform (for example, in a Makefile). Given a list of executables, "ExecutableSelector.py" will try to find the appropriate executable for the given platform and execute it. The executable file names should be of the form: xxx.{OS}-{ISA}