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
devs/stefan/exactnes-no-ftype
Daniel Kolesa 2 years ago
parent 628268a102
commit c3a1060b94
  1. 4
      .ci/ci-configure.sh
  2. 17
      meson.build
  3. 4
      meson_options.txt
  4. 4
      src/bindings/meson.build
  5. 5
      src/lib/elua/meson.build
  6. 5
      src/scripts/meson.build

@ -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"

@ -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…
Cancel
Save