forked from enlightenment/efl
build: disable elua by default, plus nicer detection
Elua is now disabled by default. There are some other changes: 1) Elua scripts are only installed if Elua is enabled 2) Lua bindings are only installed if Elua is enabled 3) Elua with interpreter is clearly experimental and will message
This commit is contained in:
parent
628268a102
commit
c3a1060b94
|
@ -19,7 +19,7 @@ if [ "$DISTRO" != "" ] ; then
|
|||
-Ddebug-threads=true -Dglib=true -Dg-mainloop=true -Dxpresent=true -Dxinput22=true \
|
||||
-Devas-loaders-disabler=json -Decore-imf-loaders-disabler= \
|
||||
-Dharfbuzz=true -Dpixman=true -Dhyphen=true -Defl-one=true \
|
||||
-Dvnc-server=true -Dbindings=lua,cxx,mono -Delogind=false -Dinstall-eo-files=true -Dphysics=true"
|
||||
-Dvnc-server=true -Delua=true -Dbindings=lua,cxx,mono -Delogind=false -Dinstall-eo-files=true -Dphysics=true"
|
||||
|
||||
# Enabled png, jpeg evas loader for in tree edje file builds
|
||||
DISABLED_LINUX_COPTS=" -Daudio=false -Davahi=false -Dx11=false -Dphysics=false -Deeze=false \
|
||||
|
@ -30,7 +30,7 @@ if [ "$DISTRO" != "" ] ; then
|
|||
-Decore-imf-loaders-disabler=xim,ibus,scim \
|
||||
-Dfribidi=false -Dfontconfig=false \
|
||||
-Dedje-sound-and-video=false -Dembedded-lz4=false -Dlibmount=false -Dv4l2=false \
|
||||
-Delua=true -Dnls=false -Dbindings= -Dlua-interpreter=luajit -Dnative-arch-optimization=false"
|
||||
-Delua=false -Dnls=false -Dbindings= -Dlua-interpreter=luajit -Dnative-arch-optimization=false"
|
||||
#evas_filter_parser.c:(.text+0xc59): undefined reference to `lua_getglobal' with interpreter lua
|
||||
|
||||
RELEASE_READY_LINUX_COPTS=" --buildtype=release"
|
||||
|
|
17
meson.build
17
meson.build
|
@ -270,6 +270,7 @@ luaold_interpreters = [
|
|||
]
|
||||
|
||||
lua_pc_name = ''
|
||||
have_elua = get_option('elua')
|
||||
|
||||
if get_option('lua-interpreter') == 'lua'
|
||||
config_h.set('ENABLE_LUA_OLD', '1')
|
||||
|
@ -280,13 +281,27 @@ if get_option('lua-interpreter') == 'lua'
|
|||
break
|
||||
endif
|
||||
endforeach
|
||||
if not lua.found()
|
||||
error('Lua not found')
|
||||
endif
|
||||
if have_elua
|
||||
luaver_min = cc.compute_int('LUA_VERSION_NUM - 500',
|
||||
prefix: '#include <lua.h>', dependencies: lua
|
||||
)
|
||||
lua_ffi = dependency('cffi-lua-5.@0@'.format(luaver_min), required: false)
|
||||
if not lua_ffi.found()
|
||||
error('Elua with interpreter is experimental, disable it or install cffi-lua...')
|
||||
else
|
||||
message('Using experimental Elua with interpreter support...')
|
||||
endif
|
||||
endif
|
||||
else
|
||||
lua = dependency(get_option('lua-interpreter'))
|
||||
lua_pc_name = 'luajit'
|
||||
endif
|
||||
|
||||
if sys_osx == true and get_option('lua-interpreter') == 'luajit'
|
||||
# luajit on macro is broken, this means we need to generate our own dependency with our arguments, a library later still needs to link to luajit for the pagesize argument thingy
|
||||
# luajit on macos is broken, this means we need to generate our own dependency with our arguments, a library later still needs to link to luajit for the pagesize argument thingy
|
||||
lua = declare_dependency(
|
||||
include_directories: include_directories(lua.get_pkgconfig_variable('includedir')),
|
||||
link_args: ['-L'+lua.get_pkgconfig_variable('libdir'), '-l'+lua.get_pkgconfig_variable('libname')]
|
||||
|
|
|
@ -262,7 +262,7 @@ option('v4l2',
|
|||
|
||||
option('elua',
|
||||
type : 'boolean',
|
||||
value : true,
|
||||
value : false,
|
||||
description : 'Lua launcher binary support in efl'
|
||||
)
|
||||
|
||||
|
@ -287,7 +287,7 @@ option('nls',
|
|||
option('bindings',
|
||||
type : 'array',
|
||||
choices : ['lua', 'cxx', 'mono'],
|
||||
value : ['lua', 'cxx'],
|
||||
value : ['cxx'],
|
||||
description : 'Which auto-generated language bindings for efl to enable',
|
||||
)
|
||||
|
||||
|
|
|
@ -18,6 +18,10 @@ if (bindings.contains('cxx') == false and bindings.contains('mono'))
|
|||
)
|
||||
endif
|
||||
|
||||
if bindings.contains('lua') and not have_elua
|
||||
error('Elua is necessary for Lua bindings')
|
||||
endif
|
||||
|
||||
foreach binding : bindings_order
|
||||
if bindings.contains(binding)
|
||||
subdir(join_paths( binding))
|
||||
|
|
|
@ -2,10 +2,7 @@ elua_deps = [eina, eo, efl, ecore, ecore_file, intl]
|
|||
elua_pub_deps = [lua]
|
||||
|
||||
if get_option('lua-interpreter') == 'lua'
|
||||
luaver_min = cc.compute_int('LUA_VERSION_NUM - 500',
|
||||
prefix: '#include <lua.h>', dependencies: lua
|
||||
)
|
||||
elua_deps += dependency('cffi-lua-5.@0@'.format(luaver_min))
|
||||
elua_deps += lua_ffi
|
||||
endif
|
||||
|
||||
elua_src = ['elua.c', 'io.c', 'cache.c']
|
||||
|
|
|
@ -1,2 +1,5 @@
|
|||
subdir('eo')
|
||||
subdir('elua')
|
||||
|
||||
if have_elua
|
||||
subdir('elua')
|
||||
endif
|
||||
|
|
Loading…
Reference in New Issue