That defies all convention. The correct thing would be to have a wrapper.h that includes such headers as necessary, and attempts to define them if missing. Then only one define is needed.

Sorry, but a big -1 from me on that one.