ghc passing -undef to preprocessor and thereby eliminating OS specific defines

Nathan Hüsken nathan.huesken at posteo.de
Thu Jan 24 12:21:02 CET 2013


Hey,

I am trying to adapt some code in the libraries when compiling for
android (i.E. because some things are different on android to other
posix systems).

So in C code I would just do "#ifdef __ANDROID__".
While in the *.h and *.c files it seems to work, it does not work in
*.hs files.
I noted that the preprocessor is run like this:

arm-linux-androideabi-gcc -E -undef -traditional -fno-stack-protector
-DTABLES_NEXT_TO_CODE

The "-undef" parameter is causing the __ANDROID__ define to be removed.
Does it make sense to pass "-undef" to the preprocessor?

Any other Ideas how I could adapt the code for android?

Thanks!
Nathan



More information about the ghc-devs mailing list