[PATCH] fixes for android in libraries/unix

Nathan Hüsken nathan.huesken at posteo.de
Tue Jan 29 19:45:34 CET 2013


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#Otherportabilityconventions
> 
> 
> (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




More information about the ghc-devs mailing list