Page MenuHomePhabricator

missing config options
Closed, ResolvedPublic

Description

Tracking ticket for autotools options used in CI builds which currently have no meson option:

--enable-liblz4
--enable-xinput22
--enable-multisense
--enable-lua-old
--enable-hyphen
--enable-pixman
--enable-pixman-font
--enable-pixman-rect
--enable-pixman-line
--enable-pixman-poly
--enable-pixman-image
--enable-pixman-image-scale-sample
--enable-tile-rotate
--enable-vnc-server
--enable-sdl
--enable-v4l2
--enable-ecore-wayland
--enable-ecore-drm
--enable-cancel-ok
--enable-debug
--enable-gstreamer (--enable-gstreamer1 seems to now be the only 'gstreamer' option)
--disable-neon
--disable-valgrind
--disable-fontconfig
--disable-fribidi
--disable-librsvg (possibly rolled into image loader 'svg' option?)
--disable-libmount
--disable-xinput2
--disable-quick-launch
--disable-elua
--with-profile=

Update list of missing things :
--enable-ecore-wayland -> not supported in meson
--enable-ecore-drm == -> not supported in meson
--disable-librsvg (possibly rolled into image loader 'svg' option?) <- will die, see hermets patch
--disable-neon

Related Objects

StatusAssignedTask
Resolvedbu5hm4n
Resolvedbu5hm4n
Resolvedbu5hm4n
zmike created this task.Aug 15 2018, 1:54 PM
zmike triaged this task as High priority.
zmike updated the task description. (Show Details)
--enable-liblz4 -> where is the purpose of that ? 
--enable-xinput22
--enable-multisense -> -Dedje-sound-and-video 
--enable-lua-old -> do we want that ? 
--enable-hyphen
--enable-pixman - Does that work or make sense ?
--enable-pixman-font - Does that work or make sense ?
--enable-pixman-rect - Does that work or make sense ?
--enable-pixman-line - Does that work or make sense ?
--enable-pixman-poly - Does that work or make sense ?
--enable-pixman-image - Does that work or make sense ?
--enable-pixman-image-scale-sample - Does that work or make sense ?
--enable-tile-rotate -> we warn to not enable this as it causes bugs, do we want that ?
--enable-vnc-server
--enable-sdl -> depends on ecore_sdl
--enable-v4l2
--enable-ecore-wayland -> not supported in meson
--enable-ecore-drm == -> not supported in meson
--enable-cancel-ok -> ELM_CANCEL_OK is never used in code ... 
--enable-debug -> HAVE_ELEMENTARY_DEBUG not used in code
--enable-gstreamer (--enable-gstreamer1 seems to now be the only 'gstreamer' option) == add / remove gstreamer from the emotion loader
--disable-neon -> we usally just do header checks for this kind of things, why a option here ?
--disable-valgrind -> enabled when in plain or dev mode, disabled when in release.
--disable-fontconfig -> -Dfontconfig
--disable-fribidi -> -Dfribidi
--disable-librsvg (possibly rolled into image loader 'svg' option?) <- will die, see hermets patch
--disable-libmount <- dead option, with configure.ac from right now the libmount will only work if it is present on the system
--disable-xinput2
--disable-quick-launch <- dead option
--disable-elua depends on elua
--with-profile= <=> --buildtype

As a side note, i want to keep the options number as low as possible, thus the question, does it make sense to have details enabled / disabled in ragards of pixman ?

zmike added a comment.Aug 15 2018, 3:07 PM

Unfortunately "not supported in meson" is not going to be an option for deprecated components. They are still EFL API and they must be available if people want them, even if they won't work for anything useful.

I'm fine with removing some of the options like --enable-debug which don't appear to be useful.

I'm not super okay with some of the option renames you've done; for example, all the code in EFL uses ENABLE_MULTISENSE and it has been called multisense for many years, so why should the option now be "edje-sound-and-video" ? That's just going to be confusing for no reason.

I have no idea what some of the options listed here do, work will have to be done to investigate them before it can be decided that they are not needed.

Well "Not supported in meson" is just like ... that is not even added to the build yet, so there can not be any option yet.

For the change of multisense: IMultisense does not tell me anything when i read it. If the buildtool tells you "you need to disable mutlisense for disabling pulseaudio" then its likely just something which is done. However you dont know whatever this does. Thus it might be worth calling it -Dtheme-sound-vibration or something like this. instead of multisense, since this is telling me a lot more than multisense. "edje-sound-and-video" was a first draft for it. If you want to keep the consistency, we can wait for autotools to die, and rename the ENABLE to match it.

zmike added a comment.Aug 16 2018, 6:46 AM

Oh, I misinterpreted your "not supported" statement.

Regarding the multisense name change, I would be fine with edje-audio as this would be consistent with other audio features in EFL and not require significant cognitive change.

I think it may be helpful if we can provide a shell script to translate autotools options to meson (i.e., you pass it all your configure options and it outputs the meson equivalents) to save time for people using this.

What about theme-audio, someone might not know what edje does ...

zmike added a comment.Aug 16 2018, 7:15 AM

The internal define would become #ifdef HAVE_EDJE_AUDIO; putting "theme" into the option description would be more useful for users.

zmike added a comment.Aug 20 2018, 1:57 PM

I think we need all of the option functionality except for:
--enable-debug
--enable-cancel-ok
--enable-tile-rotate
rsvg (I'm not sure can be removed since our svg support is too basic to do very much atm?)

All others must be kept:

lz4 is for systems which don't package it
pixman is used by tizen
neon is disabled by tizen
lua-old is a more compatible lua which is more widely available
libmount option exists to disable the functionality, not to enable it

Okay, but do we need to have every detailed option for the pixman support, or is one option -Dpixman=true enough ?

to libz4: https://github.com/lz4/lz4/releases we miss these speadups etc. we are on a 2 years old release ... do we really want to maintain those releases ourself ? (Btw. lz4 is available on all major distributions & macos and even on windows, even tizen has to ship it, as systemd depends on it)

However, i can create another ticket for that.

zmike added a comment.Aug 20 2018, 2:34 PM

Hm probably having a single option for pixman is enough.

The lz4 option is because some distros/platforms don't provide it at all as of the last time this was checked, so unless we ship a version ourselves we cannot use it at all.

bu5hm4n added a comment.EditedAug 21 2018, 2:58 AM

--enable-xinput22
--enable-lua-old -> do we want that ?
--enable-vnc-server
--enable-sdl -> depends on ecore_sdl
--enable-v4l2
--enable-ecore-wayland -> not supported in meson
--enable-ecore-drm == -> not supported in meson
--disable-librsvg (possibly rolled into image loader 'svg' option?) <- will die, see hermets patch
--disable-libmount
--disable-xinput2
--disable-elua depends on elua
--disable-neon

Thats left. What is bettwe xinput 2 or xinput 22 ? Not sure if we want to support both ?

zmike added a comment.Aug 21 2018, 6:22 AM

xinput2 and 22 are different, both options are needed. lua-old, as I've explained above, is also needed.

I think for components we will want to keep the disabling of the elementary build. Eventually I think ecore component disabling options should drop the 'ecore' part, so they can become something like -Dwayland=false, -Dcocoa=false, ...

okay, quick research: buildroot builds with luajit, basically every distro i looked for builds luajit, macos comes with luajit, windows has luajit, tzien has luajit.

luajit is from 2012 its not that it is very new nor bleeding edge, i would like to not support this version for now, to at least see what problems are coming up. But supporting the lua old option is just again feeling like maintaining dead code that is carried because there was never a hard cut saying "we need now this". Our dependency list is hardly saying "luajit" and not lua5.2, so i am very tempted to just drop this, and see what comes out, it can still be brought back.

bu5hm4n updated the task description. (Show Details)Sep 3 2018, 3:40 AM
bu5hm4n updated the task description. (Show Details)Sep 3 2018, 3:57 AM
bu5hm4n updated the task description. (Show Details)Sep 3 2018, 4:01 AM
bu5hm4n updated the task description. (Show Details)Sep 3 2018, 6:46 AM
bu5hm4n closed this task as Resolved.Fri, Dec 7, 5:17 AM

All of them are added now - only thing that is not there is lua-old, lets see if someone complains.