nvda
ecfd5ed3 - Fix some obscure build system issues which were causing some idl and comInterfaces files to be rebuilt unnecessarily.

Commit
8 years ago
Fix some obscure build system issues which were causing some idl and comInterfaces files to be rebuilt unnecessarily. This is not a new problem, but it's particularly annoying for automated testing because running the tests often causes files to be rebuilt unnecessarily. 1. The ISimpleDOM and MathPlayer interfaces have multiple idl files. The targets for the idl file have an implicit dependency on midl.exe, but its position in the dependencies is different in the run before the idl files are copied versus subsequent runs. I think this is an SCons bug/quirk, probably because before the copy, the idl file must be scanned after the midl tool is considered. Explicitly specifying these extra idls as dependencies doesn't help. The only workaround I've found is to ignore midl.exe as a dependency when checking whether the targets should be rebuilt. 2. comInterfaces generates .pyc as well as .py files. We now tell SCons about the .pyc files as well so they get considered appropriately. Previously, the .py file could be removed, so SCons would rebuild the .py file. However, the .pyc still existed, so it was just loaded without generating a .py file. Subsequently, SCons would try to rebuild the .py file on every build.
Author
Committer
Parents
Loading