forked from enlightenment/efl
gl-drm: Fix missing link to gbm for ecore_evas_drm and clean up build script
@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
This commit is contained in:
parent
80c0a33267
commit
00382bb6a6
|
@ -3693,9 +3693,9 @@ ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
|
||||||
ECORE_EVAS_MODULE([ews], [yes])
|
ECORE_EVAS_MODULE([ews], [yes])
|
||||||
ECORE_EVAS_MODULE([fb], [${want_fb}])
|
ECORE_EVAS_MODULE([fb], [${want_fb}])
|
||||||
ECORE_EVAS_MODULE([drm], [${want_drm}],
|
ECORE_EVAS_MODULE([drm], [${want_drm}],
|
||||||
[EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm],[gbm])])
|
[EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm])])
|
||||||
ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
|
ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
|
||||||
[EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm],[gbm])])
|
[EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm])])
|
||||||
ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
|
ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
|
||||||
|
|
||||||
ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
|
ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
|
||||||
|
@ -3802,8 +3802,6 @@ if test "x$have_ecore_evas_software_x11" = "xyes" || \
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
|
AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
|
||||||
|
|
||||||
AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_DRM], [1], [Build support for DRM based OpenGL])
|
|
||||||
|
|
||||||
EFL_EVAL_PKGS([ECORE_EVAS])
|
EFL_EVAL_PKGS([ECORE_EVAS])
|
||||||
|
|
||||||
### Checks for header files
|
### Checks for header files
|
||||||
|
|
|
@ -7,12 +7,25 @@ m4_pushdef([DOWN], m4_translit([[$1]], [-A-Z], [_a-z]))dnl
|
||||||
have_ecore_evas_[]m4_defn([DOWN])="no"
|
have_ecore_evas_[]m4_defn([DOWN])="no"
|
||||||
want_module="$2"
|
want_module="$2"
|
||||||
|
|
||||||
|
ecore_evas_engines_[]m4_defn([DOWN])[]_cflags=""
|
||||||
|
ecore_evas_engines_[]m4_defn([DOWN])[]_libs=""
|
||||||
|
|
||||||
if test "x$want_module" = "xyes" || test "x$want_module" = "xstatic"; then
|
if test "x$want_module" = "xyes" || test "x$want_module" = "xstatic"; then
|
||||||
$3
|
$3
|
||||||
|
|
||||||
AC_DEFINE([BUILD_ECORE_EVAS_]m4_defn([UP]), [1], [Support for $1 Engine in Ecore_Evas])
|
AC_DEFINE([BUILD_ECORE_EVAS_]m4_defn([UP]), [1], [Support for $1 Engine in Ecore_Evas])
|
||||||
have_ecore_evas_[]m4_defn([DOWN])="yes"
|
have_ecore_evas_[]m4_defn([DOWN])="yes"
|
||||||
|
|
||||||
|
if test "x$1" = "xgl-drm"; then
|
||||||
|
PKG_CHECK_MODULES([GBM], [gbm])
|
||||||
|
ecore_evas_engines_[]m4_defn([DOWN])[]_cflags="${GBM_CFLAGS}"
|
||||||
|
ecore_evas_engines_[]m4_defn([DOWN])[]_libs="${GBM_LIBS}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AC_SUBST([ecore_evas_engines_]m4_defn([DOWN])[_cflags])
|
||||||
|
AC_SUBST([ecore_evas_engines_]m4_defn([DOWN])[_libs])
|
||||||
|
|
||||||
EFL_ADD_FEATURE([ECORE_EVAS], [$1], [${want_module}])dnl
|
EFL_ADD_FEATURE([ECORE_EVAS], [$1], [${want_module}])dnl
|
||||||
AM_CONDITIONAL([BUILD_ECORE_EVAS_]UP, [test "x$have_ecore_evas_]m4_defn([DOWN])[" = "xyes"])dnl
|
AM_CONDITIONAL([BUILD_ECORE_EVAS_]UP, [test "x$have_ecore_evas_]m4_defn([DOWN])[" = "xyes"])dnl
|
||||||
m4_popdef([UP])dnl
|
m4_popdef([UP])dnl
|
||||||
|
|
|
@ -215,8 +215,10 @@ modules_ecore_evas_engines_drm_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/ef
|
||||||
@ECORE_EVAS_CFLAGS@ \
|
@ECORE_EVAS_CFLAGS@ \
|
||||||
@ECORE_DRM_CFLAGS@ \
|
@ECORE_DRM_CFLAGS@ \
|
||||||
-I$(top_srcdir)/src/modules/evas/engines/drm \
|
-I$(top_srcdir)/src/modules/evas/engines/drm \
|
||||||
-I$(top_srcdir)/src/modules/evas/engines/gl_drm
|
-I$(top_srcdir)/src/modules/evas/engines/gl_drm \
|
||||||
modules_ecore_evas_engines_drm_module_la_LIBADD = @USE_ECORE_EVAS_LIBS@
|
@ecore_evas_engines_gl_drm_cflags@
|
||||||
|
modules_ecore_evas_engines_drm_module_la_LIBADD = @USE_ECORE_EVAS_LIBS@ \
|
||||||
|
@ecore_evas_engines_gl_drm_libs@
|
||||||
modules_ecore_evas_engines_drm_module_la_DEPENDENCIES = @USE_ECORE_EVAS_INTERNAL_LIBS@
|
modules_ecore_evas_engines_drm_module_la_DEPENDENCIES = @USE_ECORE_EVAS_INTERNAL_LIBS@
|
||||||
modules_ecore_evas_engines_drm_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@
|
modules_ecore_evas_engines_drm_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@
|
||||||
modules_ecore_evas_engines_drm_module_la_LIBTOOLFLAGS = --tag=disable-static
|
modules_ecore_evas_engines_drm_module_la_LIBTOOLFLAGS = --tag=disable-static
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#include <Ecore_Drm.h>
|
#include <Ecore_Drm.h>
|
||||||
#include <Evas_Engine_Drm.h>
|
#include <Evas_Engine_Drm.h>
|
||||||
|
|
||||||
#ifdef BUILD_ECORE_EVAS_OPENGL_DRM
|
#ifdef BUILD_ECORE_EVAS_GL_DRM
|
||||||
# include <Evas_Engine_GL_Drm.h>
|
# include <Evas_Engine_GL_Drm.h>
|
||||||
# include <gbm.h>
|
# include <gbm.h>
|
||||||
# include <dlfcn.h>
|
# include <dlfcn.h>
|
||||||
|
@ -276,7 +276,7 @@ ee_err:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef BUILD_ECORE_EVAS_OPENGL_DRM
|
#ifdef BUILD_ECORE_EVAS_GL_DRM
|
||||||
EAPI Ecore_Evas *
|
EAPI Ecore_Evas *
|
||||||
ecore_evas_gl_drm_new_internal(const char *device, unsigned int parent EINA_UNUSED, int x, int y, int w, int h)
|
ecore_evas_gl_drm_new_internal(const char *device, unsigned int parent EINA_UNUSED, int x, int y, int w, int h)
|
||||||
{
|
{
|
||||||
|
@ -531,7 +531,7 @@ _ecore_evas_drm_shutdown(void)
|
||||||
return _ecore_evas_init_count;
|
return _ecore_evas_init_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef BUILD_ECORE_EVAS_OPENGL_DRM
|
#ifdef BUILD_ECORE_EVAS_GL_DRM
|
||||||
static Ecore_Evas_Interface_Drm *
|
static Ecore_Evas_Interface_Drm *
|
||||||
_ecore_evas_drm_interface_new(void)
|
_ecore_evas_drm_interface_new(void)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue