Note: this is more of a maintenance/design problem than a bug.
wxWidgets contains a lot of constants that must be copied in wxHaskell; they are created with #define or enum. There are several problems keeping synchronized:
Is it possible to automate this?
Consider the following enum:
enum blah
{
wxFIRST = 0,
#ifdef _X_
wxSECOND,
#endif
wxTHIRD,
wxEND
};
This should be translated to the following Haskell code:
-- Enum blah from file wxWidgets/......
wxFIRST :: Int
wxFIRST = 0
#ifdef _X_
wxSECOND :: Int
wxSECOND = 1
wxTHIRD :: Int
wxTHIRD = 2
wxEND :: Int
wxEND = 3
#else
wxTHIRD :: Int
wxTHIRD = 1
wxEND :: Int
wxEND = 2
#endif
_X_ is a macro that might indicate which compiler is used, in which OS it is compiled, or be a build setting; the macro definitions, available during wxWidgets build, will not all be available during wxHaskell build.