Add build option to disable plugin API
This is a temporary solution to easity recover compatibility with LuaJIT. The native plugin API doesn't isn't currently compatible with LuaJIT and the compatibility layer we are using.
This commit is contained in:
parent
847856f92d
commit
24ea6b07ec
|
@ -20,6 +20,7 @@ package.path = DATADIR .. '/?/init.lua;' .. package.path
|
||||||
package.path = USERDIR .. '/?.lua;' .. package.path
|
package.path = USERDIR .. '/?.lua;' .. package.path
|
||||||
package.path = USERDIR .. '/?/init.lua;' .. package.path
|
package.path = USERDIR .. '/?/init.lua;' .. package.path
|
||||||
|
|
||||||
|
if system.load_native_plugin then
|
||||||
local dynamic_suffix = PLATFORM == "Mac OS X" and 'lib' or (PLATFORM == "Windows" and 'dll' or 'so')
|
local dynamic_suffix = PLATFORM == "Mac OS X" and 'lib' or (PLATFORM == "Windows" and 'dll' or 'so')
|
||||||
package.cpath = DATADIR .. '/?.' .. dynamic_suffix .. ";" .. USERDIR .. '/?.' .. dynamic_suffix
|
package.cpath = DATADIR .. '/?.' .. dynamic_suffix .. ";" .. USERDIR .. '/?.' .. dynamic_suffix
|
||||||
package.native_plugins = {}
|
package.native_plugins = {}
|
||||||
|
@ -28,3 +29,4 @@ package.searchers = { package.searchers[1], package.searchers[2], function(modna
|
||||||
if not path then return nil end
|
if not path then return nil end
|
||||||
return system.load_native_plugin, path
|
return system.load_native_plugin, path
|
||||||
end }
|
end }
|
||||||
|
end
|
||||||
|
|
|
@ -28,6 +28,11 @@ lite_cargs = []
|
||||||
if get_option('renderer') or host_machine.system() == 'darwin'
|
if get_option('renderer') or host_machine.system() == 'darwin'
|
||||||
lite_cargs += '-DLITE_USE_SDL_RENDERER'
|
lite_cargs += '-DLITE_USE_SDL_RENDERER'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if get_option('plugin-api')
|
||||||
|
lite_cargs += '-DLITE_XL_USE_PLUGIN_API'
|
||||||
|
endif
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
# Linker Settings
|
# Linker Settings
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|
|
@ -2,3 +2,5 @@ option('bundle', type : 'boolean', value : false, description: 'Build a macOS bu
|
||||||
option('source-only', type : 'boolean', value : false, description: 'Configure source files only, doesn\'t checks for dependencies')
|
option('source-only', type : 'boolean', value : false, description: 'Configure source files only, doesn\'t checks for dependencies')
|
||||||
option('portable', type : 'boolean', value : false, description: 'Portable install')
|
option('portable', type : 'boolean', value : false, description: 'Portable install')
|
||||||
option('renderer', type : 'boolean', value : false, description: 'Use SDL renderer')
|
option('renderer', type : 'boolean', value : false, description: 'Use SDL renderer')
|
||||||
|
option('plugin-api', type : 'boolean', value : true, description: 'Enable native plugin API')
|
||||||
|
|
||||||
|
|
|
@ -651,6 +651,7 @@ static int f_set_window_opacity(lua_State *L) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef LITE_XL_USE_PLUGIN_API
|
||||||
// Symbol table for native plugin loading. Allows for a statically
|
// Symbol table for native plugin loading. Allows for a statically
|
||||||
// bound lua library to be used by native plugins.
|
// bound lua library to be used by native plugins.
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -730,6 +731,7 @@ static int f_load_native_plugin(lua_State *L) {
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
static const luaL_Reg lib[] = {
|
static const luaL_Reg lib[] = {
|
||||||
|
@ -758,7 +760,9 @@ static const luaL_Reg lib[] = {
|
||||||
{ "exec", f_exec },
|
{ "exec", f_exec },
|
||||||
{ "fuzzy_match", f_fuzzy_match },
|
{ "fuzzy_match", f_fuzzy_match },
|
||||||
{ "set_window_opacity", f_set_window_opacity },
|
{ "set_window_opacity", f_set_window_opacity },
|
||||||
|
#ifdef LITE_XL_USE_PLUGIN_API
|
||||||
{ "load_native_plugin", f_load_native_plugin },
|
{ "load_native_plugin", f_load_native_plugin },
|
||||||
|
#endif
|
||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue