@fix
Summary:
This fixes following build script problems for ecore_evas_drm engine module.
1. Missing link to gbm for ecore_evas_drm if '--enable-gl-drm' option is given.
ecore_evas_drm engine is using gbm function if it builds with that config option.
To be more exact, ecore_evas_gl_drm_new_internal function needs gbm.
Thus we need to add gbm library linking '-lgbm' to ecore_evas_drm engine module
if '--enable-gl-drm' option is given. I've added this build script to
m4/ecore_check_module.m4 file.
2. Wrong gbm dependency check code in configure.ac
EFL_OPTIONAL_INTERNAL_DEPEND_PKG m4 macro function is designed for checking
dependency of efl internal libraries. Thus we should remove gbm pkg name when
configuring ecore_evas_drm engine module. It would be better to move dependency
check for gbm to m4/ecore_check_module.m4 file. And one more thing want_drm
value has to be changed to want_gl_drm in ECORE_EVAS_MODULE([gl-drm]...).
3. BUILD_ECORE_EVAS_OPENGL_DRM macro is always defined in configure.ac.
This kind of macro, BUILD_EFL_MODULE_NAME, has to be defined only if given module
is enabled. But this macro value was just defined with no test.
And it is even useless, we can use BUILD_ECORE_EVAS_GL_DRM macro which is defined
by ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],...) function.
So I've removed that from configure.ac.
Test Plan:
1. Configure with --enable-gl-drm:
$ ./autogen.sh --enable-drm --enable-gl-drm
2. Build:
$ make && make install
3. Check module.so of ecore_evas_drm engine whether it has a library dependency with gbm:
$ readelf -a $EFL_GIT/src/modules/ecore_evas/engines/drm/.libs/module.so | grep NEEDED
Reviewers: raster, stefan_schmidt, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1379
Many thanks to billiob that was persistent enough to make me look at
it while I was calling it "impossible". That stupid variable was being
used in ecore_check_module.m4 :-(
SVN revision: 82999
EFL_ADD_FEATURE(PKG, NAME, [VALUE]) will do an amazing work to produce
colored output in a standard way.
if value == yes, it's green and shows "+name"
if value == no, it's red and shows "-name"
else it shows cyan and shows "name=value"
if not provided, will use ${have_name:-${want_name}}
SVN revision: 82976
Many changes in this commit, but overall it should work. If not let me
know.
* ECORE_CHECK_X_EXTENSION() will now fail if Xlib extension is not found.
* remove usage of ECORE_EVAS_CHECK_MODULE(), using the simplified
ECORE_EVAS_MODULE()
* EVAS_CHECK_ENGINE() will not declare an option anymore.
* fixed --with-x11 and --with-opengl regarding defaults.
* fixed typo in EVAS_STATIC_BUILD_SOFTWARE_X11 -> XLIB conditional
* simplified Xi2 and Xgestures support under --enable-gesture. Let me
know if these should be checked separately.
* remove every other X extension option, they are all forced by
now. If no major showstopper appears with this we may remove all
the #ifdef in the code!
If there is something broken, let me know.
Next on the list for the weekend is to finish the option checks for
SDL, Wayland-EGL, Cocoa and similar.
SVN revision: 80505
still lots to do, but some improvements:
- ecore_evas does not inherit pkg-config from modules since modules are SO
- renamed internal ecore evas define from SOFTWARE_BUFFER to BUFFER,
to make consistent.
SVN revision: 80473