@mark, theres no runtime detection logic patch, theres just a config time hack currently.
I've a work in progress partial patch to expose the CPP program choice + flags into the ghc settings file,
https://ghc.haskell.org/trac/ghc/ticket/8683 , but lifes got me a bit overloaded these past few weeks so we need someone to "own" finishing it up (and i'm uncertain if i can hard allocate that time this week or next... i have some personal obligations that need take priority). That said, I may find up finding some time to whack on it more
point being, agreed, the wrapper hack aint ok :)