From 999d55d887079af989d07d747b3b354f0055fb5c Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Mon, 13 Jun 2005 18:20:28 -0300 Subject: several updates --- luaconf.h | 51 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 6 deletions(-) (limited to 'luaconf.h') diff --git a/luaconf.h b/luaconf.h index 579fbef5..9ba5931a 100644 --- a/luaconf.h +++ b/luaconf.h @@ -1,5 +1,5 @@ /* -** $Id: luaconf.h,v 1.51 2005/05/20 19:09:05 roberto Exp roberto $ +** $Id: luaconf.h,v 1.52 2005/06/01 17:07:45 roberto Exp roberto $ ** Configuration file for Lua ** See Copyright Notice in lua.h */ @@ -128,19 +128,26 @@ /* @@ LUAI_FUNC is a mark for all extern functions that are not to be @* exported to outside modules. -** CHANGE it if you need to mark them in some special way. Gcc (versions -** 3.2 and later) mark them as "hidden" to optimize their call when Lua -** is compiled as a shared library. +@@ LUAI_DATA is a mark for all extern (const) variables that are not to +@* be exported to outside modules. +** CHANGE them if you need to mark them in some special way. Elf/gcc +** (versions 3.2 and later) mark them as "hidden" to optimize access +** when Lua is compiled as a shared library. */ #if defined(luaall_c) #define LUAI_FUNC static -#elif defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) -#define LUAI_FUNC __attribute__((visibility("hidden"))) +#define LUAI_DATA /* empty */ +#elif defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ + defined(__ELF__) +#define LUAI_FUNC __attribute__((visibility("hidden"))) extern +#define LUAI_DATA LUAI_FUNC #else #define LUAI_FUNC extern +#define LUAI_DATA extern #endif + /* @@ lua_assert describes the internal assertions in Lua. ** CHANGE that only if you need to debug Lua. @@ -293,6 +300,13 @@ */ #define LUA_COMPAT_VARARG +/* +@@ LUA_COMPAT_MOD controls compatibility with old math.mod function. +** CHANGE it to undefined as soon as your programs change its uses +** of math.mod to math.fmod or to the new '%' operator. +*/ +#define LUA_COMPAT_MOD + /* @@ LUA_COMPAT_LSTR controls compatibility with old long string nesting @* facility. @@ -601,6 +615,30 @@ #endif + +/* +@@ lua_popen spawns a new process connected to the current one through +@* the file streams. +** CHANGE it if you have a way to implement it in your system. +*/ +#if !defined(LUA_ANSI) && defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 2 + +#define lua_popen(L,c,m) popen(c,m) +#define lua_pclose(L,file) (pclose(file) != -1) + +#elif !defined(LUA_ANSI) && defined(_WIN32) + +#define lua_popen(L,c,m) _popen(c,m) +#define lua_pclose(L,file) (_pclose(file) != -1) + +#else + +#define lua_popen(L,c,m) \ + ((void)c, (void)m, luaL_error(L, LUA_QL("popen") "not supported"), NULL) +#define lua_pclose(L,file) ((void)file, 0) + +#endif + /* @@ LUA_DL_* define which dynamic-library system Lua should use. ** CHANGE here if Lua has problems choosing the appropriate @@ -676,3 +714,4 @@ #endif + -- cgit v1.2.3-55-g6feb