- Tests that do not allow a file to be included in Wine are OK. If we use other headers, those file will simply be ignored, as they would not be used by Wine.
- Tests to keep certain things undefined/undeclared in Wine are OK. Such tests simply make the header files a subset of the standard one, and the stuff that's not defined is not used, so all is good.
well, except if the part that's undefined clashes with Wine's current code (name space collision, features unsupported by compiler...)
- Tests that _add_ stuff to headers are BAD. It's clear that such things will not be present in other headers, and things will not work out as nicely.
in most of the cases, those are used to extend an existing API by providing Wine specific features. removing them will create some new trouble: - in some cases, extension is achieved with using bits or values declared as RFU by MS. moving the definitions out of the header will make it hard, if those values in the future are actually used by MS, to see the clash - not having them also in our own headers, will make it harder for the ones wishing to use them (they'd need to include both the standard header, plus the needed extension)
all in all, this sounds to me more a good janitorial project, but keeping it as a final goal seems a bit too heavy to me
A+