diff --git a/src/Makefile b/src/Makefile index 87fddbad..3b9d202a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -88,6 +88,12 @@ BUILDMODE= mixed # recompile with "make clean", followed by "make". XCFLAGS= # +# Permanently disable the FFI extension to reduce the size of the LuaJIT +# executable. But please consider that the FFI library is compiled-in, +# but NOT loaded by default. It only allocates any memory, if you actually +# make use of it. +#XCFLAGS+= -DLUAJIT_DISABLE_FFI +# # Enable some upwards-compatible features from Lua 5.2 that are unlikely # to break existing code (e.g. __pairs). Note that this does not provide # full compatibility with Lua 5.2 at this time. diff --git a/src/lj_arch.h b/src/lj_arch.h index 4b2bbe76..205f51a6 100644 --- a/src/lj_arch.h +++ b/src/lj_arch.h @@ -183,6 +183,13 @@ #define LJ_HASJIT 1 #endif +/* Disable or enable the FFI extension. */ +#if defined(LUAJIT_DISABLE_FFI) || defined(LJ_ARCH_NOFFI) +#define LJ_HASFFI 0 +#else +#define LJ_HASFFI 1 +#endif + #if LJ_ARCH_ENDIAN == LUAJIT_BE #define LJ_LE 0 #define LJ_BE 1