
On 01/29/2013 11:34 AM, Simon Marlow wrote:
On 25/01/13 08:55, Nathan Hüsken wrote:
These patches are for libraries/unix. They may need some discussing, because I am not sure if this is the right thing.
1. On android the passwd struct does not define pw_gecos. The first patch therefor sets it to the empty string.
2. The android ndk does not define _POSIX_VDISABLE, but it defines _PC_VDISABLE. The second patch defines _POSIX_VDISABLE to _PC_VIDISABLE, which is (as I undestand it) what the POSIX programmer guide suggests.
3. The android ndk does not define telldir and seekdir. The third patch removes them when compiling for android.
Thanks for the patch. A better way to do these things is to add detection logic to the configure script, rather than platform-specific #ifdefs.
See:
http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/Conventions#Otherpor...
(the point about "avoid conditional code")
There should be plenty of examples in the configure script that you can copy and modify.
Hey, Thanks for the feedback! I am reworking the patch and will submit when I finished the test compilation. patch 1 and 3 can reworked the way you suggest. 2 is difficult. To correctly test if _POSIX_VDISABLE is supported, a program must be compiled and run which test if _POSIX_VDISABLE is != -1. But that is not possible for cross compilation, because the program can not be run. Suggestion what should be done here? Thanks! Nathan