diff options
-rw-r--r-- | Makefile.am | 4 | ||||
-rw-r--r-- | configure.ac | 19 | ||||
-rw-r--r-- | m4/evas_check_engine.m4 | 43 | ||||
-rw-r--r-- | pc/.gitignore | 1 | ||||
-rw-r--r-- | pc/evas-eglfs.pc.in | 3 | ||||
-rw-r--r-- | src/Makefile_Ecore_Evas.am | 5 | ||||
-rw-r--r-- | src/Makefile_Evas.am | 42 |
7 files changed, 116 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am index 56c298cb0b..0c9b634bb9 100644 --- a/Makefile.am +++ b/Makefile.am | |||
@@ -179,6 +179,10 @@ if BUILD_ENGINE_FB | |||
179 | pkgconfig_DATA += pc/evas-fb.pc | 179 | pkgconfig_DATA += pc/evas-fb.pc |
180 | endif | 180 | endif |
181 | 181 | ||
182 | if BUILD_ENGINE_EGLFS | ||
183 | pkgconfig_DATA += pc/evas-eglfs.pc | ||
184 | endif | ||
185 | |||
182 | if BUILD_ENGINE_BUFFER | 186 | if BUILD_ENGINE_BUFFER |
183 | pkgconfig_DATA += pc/evas-software-buffer.pc | 187 | pkgconfig_DATA += pc/evas-software-buffer.pc |
184 | endif | 188 | endif |
diff --git a/configure.ac b/configure.ac index 7975e55755..b1e3896e23 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -1415,6 +1415,19 @@ AC_ARG_ENABLE([fb], | |||
1415 | ], | 1415 | ], |
1416 | [want_fb="no"]) | 1416 | [want_fb="no"]) |
1417 | 1417 | ||
1418 | # Eglfs | ||
1419 | AC_ARG_ENABLE([eglfs], | ||
1420 | [AS_HELP_STRING([--enable-eglfs],[enable hardware accelerated framebuffer access. @<:@default=disabled@:>@])], | ||
1421 | [ | ||
1422 | if test "x${enableval}" = "xyes" ; then | ||
1423 | want_eglfs="yes" | ||
1424 | want_fb="yes" | ||
1425 | else | ||
1426 | want_eglfs="no" | ||
1427 | fi | ||
1428 | ], | ||
1429 | [want_eglfs="no"]) | ||
1430 | |||
1418 | # SDL | 1431 | # SDL |
1419 | AC_ARG_ENABLE([sdl], | 1432 | AC_ARG_ENABLE([sdl], |
1420 | [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])], | 1433 | [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])], |
@@ -1851,6 +1864,7 @@ EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayla | |||
1851 | EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm]) | 1864 | EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm]) |
1852 | EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm]) | 1865 | EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm]) |
1853 | EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm]) | 1866 | EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm]) |
1867 | EVAS_CHECK_ENGINE([eglfs], [${want_eglfs}], [no], [OpenGL Fb]) | ||
1854 | 1868 | ||
1855 | 1869 | ||
1856 | # Software XCB | 1870 | # Software XCB |
@@ -2007,6 +2021,7 @@ if test "x$have_evas_engine_gl_xlib" = "xyes" || \ | |||
2007 | test "x$have_evas_engine_gl_sdl" = "xyes" || \ | 2021 | test "x$have_evas_engine_gl_sdl" = "xyes" || \ |
2008 | test "x$have_evas_engine_gl_cocoa" = "xyes" || \ | 2022 | test "x$have_evas_engine_gl_cocoa" = "xyes" || \ |
2009 | test "x$have_evas_engine_gl_drm" = "xyes" || \ | 2023 | test "x$have_evas_engine_gl_drm" = "xyes" || \ |
2024 | test "x$have_evas_engine_eglfs" = "xyes" || \ | ||
2010 | test "x$have_evas_engine_wayland_egl" = "xyes"; then | 2025 | test "x$have_evas_engine_wayland_egl" = "xyes"; then |
2011 | have_evas_engine_gl_common="yes" | 2026 | have_evas_engine_gl_common="yes" |
2012 | fi | 2027 | fi |
@@ -2015,6 +2030,7 @@ if test "x$have_evas_engine_gl_xlib" = "xstatic" || \ | |||
2015 | test "x$have_evas_engine_gl_sdl" = "xstatic" || \ | 2030 | test "x$have_evas_engine_gl_sdl" = "xstatic" || \ |
2016 | test "x$have_evas_engine_gl_cocoa" = "xstatic" || \ | 2031 | test "x$have_evas_engine_gl_cocoa" = "xstatic" || \ |
2017 | test "x$have_evas_engine_gl_drm" = "xstatic" || \ | 2032 | test "x$have_evas_engine_gl_drm" = "xstatic" || \ |
2033 | test "x$have_evas_engine_eglfs" = "xstatic" || \ | ||
2018 | test "x$have_evas_engine_wayland_egl" = "xstatic"; then | 2034 | test "x$have_evas_engine_wayland_egl" = "xstatic"; then |
2019 | have_evas_engine_gl_common="yes" | 2035 | have_evas_engine_gl_common="yes" |
2020 | have_static_evas_engine_gl_common="yes" | 2036 | have_static_evas_engine_gl_common="yes" |
@@ -3890,6 +3906,7 @@ want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}" | |||
3890 | want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}" | 3906 | want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}" |
3891 | want_ecore_evas_extn="yes" | 3907 | want_ecore_evas_extn="yes" |
3892 | want_ecore_evas_drm="${have_evas_engine_drm}" | 3908 | want_ecore_evas_drm="${have_evas_engine_drm}" |
3909 | want_ecore_evas_eglfs="${have_evas_engine_eglfs}" | ||
3893 | 3910 | ||
3894 | if test "x${have_ecore_ipc}" = "xno" || \ | 3911 | if test "x${have_ecore_ipc}" = "xno" || \ |
3895 | test "x${efl_func_shm_open}" = "xno" || \ | 3912 | test "x${efl_func_shm_open}" = "xno" || \ |
@@ -3917,6 +3934,7 @@ EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile]) | |||
3917 | ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}]) | 3934 | ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}]) |
3918 | ECORE_EVAS_MODULE([ews], [yes]) | 3935 | ECORE_EVAS_MODULE([ews], [yes]) |
3919 | ECORE_EVAS_MODULE([fb], [${want_fb}]) | 3936 | ECORE_EVAS_MODULE([fb], [${want_fb}]) |
3937 | ECORE_EVAS_MODULE([eglfs], [${want_eglfs}]) | ||
3920 | ECORE_EVAS_MODULE([drm], [${want_drm}], | 3938 | ECORE_EVAS_MODULE([drm], [${want_drm}], |
3921 | [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm])]) | 3939 | [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm])]) |
3922 | ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}], | 3940 | ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}], |
@@ -4701,6 +4719,7 @@ pc/eolian-cxx.pc | |||
4701 | pc/efl.pc | 4719 | pc/efl.pc |
4702 | pc/efl-cxx.pc | 4720 | pc/efl-cxx.pc |
4703 | pc/evas-fb.pc | 4721 | pc/evas-fb.pc |
4722 | pc/evas-eglfs.pc | ||
4704 | pc/evas-opengl-x11.pc | 4723 | pc/evas-opengl-x11.pc |
4705 | pc/evas-opengl-sdl.pc | 4724 | pc/evas-opengl-sdl.pc |
4706 | pc/evas-opengl-cocoa.pc | 4725 | pc/evas-opengl-cocoa.pc |
diff --git a/m4/evas_check_engine.m4 b/m4/evas_check_engine.m4 index 8165aa2344..504d9f30d7 100644 --- a/m4/evas_check_engine.m4 +++ b/m4/evas_check_engine.m4 | |||
@@ -661,6 +661,49 @@ AS_IF([test "x${have_dep}" = "xyes"], [$4], [$5]) | |||
661 | 661 | ||
662 | ]) | 662 | ]) |
663 | 663 | ||
664 | dnl use: EVAS_CHECK_ENGINE_DEP_EGLFS(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) | ||
665 | |||
666 | AC_DEFUN([EVAS_CHECK_ENGINE_DEP_EGLFS], | ||
667 | [ | ||
668 | |||
669 | requirement="" | ||
670 | have_dep="no" | ||
671 | have_hw_dep="no" | ||
672 | evas_engine_[]$1[]_cflags="" | ||
673 | evas_engine_[]$1[]_libs="" | ||
674 | |||
675 | if test "x${with_opengl}" = "xes" ; then | ||
676 | gl_library="glesv2" | ||
677 | else | ||
678 | AC_MSG_ERROR([We do not support Eglfs without OpenGL ES. Please consider OpenGL ES if you want to use it.]) | ||
679 | fi | ||
680 | |||
681 | PKG_CHECK_EXISTS([egl >= 7.10 ${gl_library}], | ||
682 | [ | ||
683 | have_dep="yes" | ||
684 | requirement="egl >= 7.10 ${gl_library}" | ||
685 | ], | ||
686 | [have_dep="no"]) | ||
687 | |||
688 | if test "x${have_dep}" = "xyes" ; then | ||
689 | if test "x$3" = "xstatic" ; then | ||
690 | requirements_pc_evas="${requirement} ${requirements_pc_evas}" | ||
691 | requirements_pc_deps_evas="${requirement} ${requirements_pc_deps_evas}" | ||
692 | else | ||
693 | PKG_CHECK_MODULES([EGLFS], [${requirement}]) | ||
694 | evas_engine_[]$1[]_cflags="${EGLFS_CFLAGS}" | ||
695 | evas_engine_[]$1[]_libs="${EGLFS_LIBS}" | ||
696 | evas_engine_gl_common_libs="$evas_engine_[]$1[]_libdirs -lGLESv2 -lm -lEGL" | ||
697 | fi | ||
698 | fi | ||
699 | |||
700 | AC_SUBST([evas_engine_$1_cflags]) | ||
701 | AC_SUBST([evas_engine_$1_libs]) | ||
702 | |||
703 | AS_IF([test "x${have_dep}" = "xyes"], [$4], [$5]) | ||
704 | |||
705 | ]) | ||
706 | |||
664 | 707 | ||
665 | dnl use: EVAS_ENGINE(name, want_engine, [DEPENDENCY-CHECK-CODE]) | 708 | dnl use: EVAS_ENGINE(name, want_engine, [DEPENDENCY-CHECK-CODE]) |
666 | dnl | 709 | dnl |
diff --git a/pc/.gitignore b/pc/.gitignore index 5aadf61079..95739273e2 100644 --- a/pc/.gitignore +++ b/pc/.gitignore | |||
@@ -41,6 +41,7 @@ | |||
41 | /ethumb_client.pc | 41 | /ethumb_client.pc |
42 | /evas-drm.pc | 42 | /evas-drm.pc |
43 | /evas-fb.pc | 43 | /evas-fb.pc |
44 | /evas-eglfs.pc | ||
44 | /evas-opengl-cocoa.pc | 45 | /evas-opengl-cocoa.pc |
45 | /evas-opengl-sdl.pc | 46 | /evas-opengl-sdl.pc |
46 | /evas-opengl-x11.pc | 47 | /evas-opengl-x11.pc |
diff --git a/pc/evas-eglfs.pc.in b/pc/evas-eglfs.pc.in new file mode 100644 index 0000000000..c8dfc5c8c3 --- /dev/null +++ b/pc/evas-eglfs.pc.in | |||
@@ -0,0 +1,3 @@ | |||
1 | Name: evas-eglfs | ||
2 | Description: Evas eglfs engine | ||
3 | Version: @VERSION@ | ||
diff --git a/src/Makefile_Ecore_Evas.am b/src/Makefile_Ecore_Evas.am index 1be87466e9..e7ce68d703 100644 --- a/src/Makefile_Ecore_Evas.am +++ b/src/Makefile_Ecore_Evas.am | |||
@@ -132,9 +132,12 @@ modules_ecore_evas_engines_fb_module_la_SOURCES = $(FBSOURCES) | |||
132 | modules_ecore_evas_engines_fb_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ | 132 | modules_ecore_evas_engines_fb_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ |
133 | @ECORE_EVAS_CFLAGS@ \ | 133 | @ECORE_EVAS_CFLAGS@ \ |
134 | @ECORE_FB_CFLAGS@ \ | 134 | @ECORE_FB_CFLAGS@ \ |
135 | -I$(top_srcdir)/src/modules/evas/engines/fb | 135 | -I$(top_srcdir)/src/modules/evas/engines/fb \ |
136 | -I$(top_srcdir)/src/modules/evas/engines/eglfs \ | ||
137 | @ecore_evas_engines_eglfs_cflags@ | ||
136 | modules_ecore_evas_engines_fb_module_la_LIBADD = \ | 138 | modules_ecore_evas_engines_fb_module_la_LIBADD = \ |
137 | @USE_ECORE_EVAS_LIBS@ \ | 139 | @USE_ECORE_EVAS_LIBS@ \ |
140 | @ecore_evas_engines_eglfs_libs@ \ | ||
138 | @USE_ECORE_FB_LIBS@ | 141 | @USE_ECORE_FB_LIBS@ |
139 | modules_ecore_evas_engines_fb_module_la_DEPENDENCIES = \ | 142 | modules_ecore_evas_engines_fb_module_la_DEPENDENCIES = \ |
140 | @USE_ECORE_EVAS_INTERNAL_LIBS@ \ | 143 | @USE_ECORE_EVAS_INTERNAL_LIBS@ \ |
diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am index a6277138c5..7bc03dc793 100644 --- a/src/Makefile_Evas.am +++ b/src/Makefile_Evas.am | |||
@@ -787,6 +787,9 @@ endif | |||
787 | if BUILD_ENGINE_GL_DRM | 787 | if BUILD_ENGINE_GL_DRM |
788 | modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS += @evas_engine_gl_drm_cflags@ | 788 | modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS += @evas_engine_gl_drm_cflags@ |
789 | endif | 789 | endif |
790 | if BUILD_ENGINE_EGLFS | ||
791 | modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS += @evas_engine_eglfs_cflags@ | ||
792 | endif | ||
790 | modules_evas_engines_gl_common_libevas_engine_gl_common_la_LIBADD = @USE_EVAS_LIBS@ | 793 | modules_evas_engines_gl_common_libevas_engine_gl_common_la_LIBADD = @USE_EVAS_LIBS@ |
791 | modules_evas_engines_gl_common_libevas_engine_gl_common_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@ | 794 | modules_evas_engines_gl_common_libevas_engine_gl_common_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@ |
792 | modules_evas_engines_gl_common_libevas_engine_gl_common_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@ | 795 | modules_evas_engines_gl_common_libevas_engine_gl_common_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@ |
@@ -1242,6 +1245,45 @@ modules_evas_engines_gl_drm_module_la_LIBTOOLFLAGS = --tag=disable-static | |||
1242 | endif | 1245 | endif |
1243 | endif | 1246 | endif |
1244 | 1247 | ||
1248 | if BUILD_ENGINE_EGLFS | ||
1249 | dist_installed_evasmainheaders_DATA += modules/evas/engines/eglfs/Evas_Engine_Eglfs.h | ||
1250 | EGLFS_SOURCES = \ | ||
1251 | modules/evas/engines/eglfs/evas_outbuf.c \ | ||
1252 | modules/evas/engines/eglfs/evas_engine.c \ | ||
1253 | modules/evas/engines/eglfs/evas_engine.h \ | ||
1254 | modules/evas/engines/eglfs/Evas_Engine_Eglfs.h | ||
1255 | if EVAS_STATIC_BUILD_EGLFS | ||
1256 | lib_evas_libevas_la_SOURCES += $(EGLFS_SOURCES) | ||
1257 | lib_evas_libevas_la_CPPFLAGS += @evas_engine_eglfs_cflags@ | ||
1258 | lib_evas_libevas_la_LIBADD += @evas_engine_eglfs_libs@ | ||
1259 | else | ||
1260 | engineeglfspkgdir = $(libdir)/evas/modules/engines/eglfs/$(MODULE_ARCH) | ||
1261 | engineeglfspkg_LTLIBRARIES = modules/evas/engines/eglfs/module.la | ||
1262 | |||
1263 | # Workaround for broken parallel install support in automake (relink issue) | ||
1264 | # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328 | ||
1265 | install_engineeglfspkgLTLIBRARIES = install-engineeglfspkgLTLIBRARIES | ||
1266 | $(install_engineeglfspkgLTLIBRARIES): install-libLTLIBRARIES | ||
1267 | |||
1268 | modules_evas_engines_eglfs_module_la_SOURCES = $(EGLFS_SOURCES) | ||
1269 | modules_evas_engines_eglfs_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ | ||
1270 | -I$(top_srcdir)/src/lib/evas/include \ | ||
1271 | -I$(top_srcdir)/src/lib/evas/cserve2 \ | ||
1272 | -I$(top_srcdir)/src/modules/evas/engines/eglfs \ | ||
1273 | @EVAS_CFLAGS@ \ | ||
1274 | @ECORE_DRM_CFLAGS@ \ | ||
1275 | @evas_engine_eglfs_cflags@ | ||
1276 | modules_evas_engines_eglfs_module_la_LIBADD = \ | ||
1277 | @USE_EVAS_LIBS@ \ | ||
1278 | @USE_ECORE_DRM_LIBS@ \ | ||
1279 | @evas_engine_eglfs_libs@ \ | ||
1280 | @USE_EEZE_INTERNAL_LIBS@ | ||
1281 | modules_evas_engines_eglfs_module_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@ @USE_EEZE_INTERNAL_LIBS@ @USE_ECORE_DRM_INTERNAL_LIBS@ | ||
1282 | modules_evas_engines_eglfs_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@ | ||
1283 | modules_evas_engines_eglfs_module_la_LIBTOOLFLAGS = --tag=disable-static | ||
1284 | endif | ||
1285 | endif | ||
1286 | |||
1245 | ### Cserve2 binary | 1287 | ### Cserve2 binary |
1246 | 1288 | ||
1247 | if EVAS_CSERVE2 | 1289 | if EVAS_CSERVE2 |