[PATCH] fixes for android in libraries/unix

Ian Lynagh ian at well-typed.com
Sun Feb 17 13:58:17 CET 2013


Hi Nathan,

On Tue, Jan 29, 2013 at 07:45:34PM +0100, Nathan Hüsken wrote:
>
> 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?

The patch did:
    +#ifdef __ANDROID__
    +-- the android ndk does not define this symbol
    +#define _POSIX_VDISABLE _PC_VDISABLE
    +#endif
so can't you test whether compiling
    int i = _POSIX_VDISABLE;
succeeds? I assume that that will fail on Android with an undefined
variable error. Or we could just do
    #if !defined(_POSIX_VDISABLE) && defined(_PC_VDISABLE)
    #define _POSIX_VDISABLE _PC_VDISABLE
    #endif

Are you sure the patch is right, though? On Linux I have
_POSIX_VDISABLE == 0 and _PC_VDISABLE == 8.


Thanks
Ian




More information about the ghc-devs mailing list