1*088332b5SXin Li /* 2*088332b5SXin Li ** $Id: lprefix.h $ 3*088332b5SXin Li ** Definitions for Lua code that must come before any other header file 4*088332b5SXin Li ** See Copyright Notice in lua.h 5*088332b5SXin Li */ 6*088332b5SXin Li 7*088332b5SXin Li #ifndef lprefix_h 8*088332b5SXin Li #define lprefix_h 9*088332b5SXin Li 10*088332b5SXin Li 11*088332b5SXin Li /* 12*088332b5SXin Li ** Allows POSIX/XSI stuff 13*088332b5SXin Li */ 14*088332b5SXin Li #if !defined(LUA_USE_C89) /* { */ 15*088332b5SXin Li 16*088332b5SXin Li #if !defined(_XOPEN_SOURCE) 17*088332b5SXin Li #define _XOPEN_SOURCE 600 18*088332b5SXin Li #elif _XOPEN_SOURCE == 0 19*088332b5SXin Li #undef _XOPEN_SOURCE /* use -D_XOPEN_SOURCE=0 to undefine it */ 20*088332b5SXin Li #endif 21*088332b5SXin Li 22*088332b5SXin Li /* 23*088332b5SXin Li ** Allows manipulation of large files in gcc and some other compilers 24*088332b5SXin Li */ 25*088332b5SXin Li #if !defined(LUA_32BITS) && !defined(_FILE_OFFSET_BITS) 26*088332b5SXin Li #define _LARGEFILE_SOURCE 1 27*088332b5SXin Li #define _FILE_OFFSET_BITS 64 28*088332b5SXin Li #endif 29*088332b5SXin Li 30*088332b5SXin Li #endif /* } */ 31*088332b5SXin Li 32*088332b5SXin Li 33*088332b5SXin Li /* 34*088332b5SXin Li ** Windows stuff 35*088332b5SXin Li */ 36*088332b5SXin Li #if defined(_WIN32) /* { */ 37*088332b5SXin Li 38*088332b5SXin Li #if !defined(_CRT_SECURE_NO_WARNINGS) 39*088332b5SXin Li #define _CRT_SECURE_NO_WARNINGS /* avoid warnings about ISO C functions */ 40*088332b5SXin Li #endif 41*088332b5SXin Li 42*088332b5SXin Li #endif /* } */ 43*088332b5SXin Li 44*088332b5SXin Li #endif 45*088332b5SXin Li 46