summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorent Revest <revestflo@gmail.com>2015-07-22 18:50:13 +0200
committerNicolas Aguirre <aguirre.nicolas@gmail.com>2015-08-03 14:16:35 +0200
commit3b2074aa710a095c2379702334bfa125bcc1990a (patch)
tree2673713c2270e2b00060c28fe0b9b862640bd6f9
parent270215889d5ba4e93f9ec05cfa9a9510a345c96c (diff)
Adds support of the eglfs module in the autotools config
-rw-r--r--Makefile.am4
-rw-r--r--configure.ac19
-rw-r--r--m4/evas_check_engine.m443
-rw-r--r--pc/.gitignore1
-rw-r--r--pc/evas-eglfs.pc.in3
-rw-r--r--src/Makefile_Ecore_Evas.am5
-rw-r--r--src/Makefile_Evas.am42
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
179pkgconfig_DATA += pc/evas-fb.pc 179pkgconfig_DATA += pc/evas-fb.pc
180endif 180endif
181 181
182if BUILD_ENGINE_EGLFS
183pkgconfig_DATA += pc/evas-eglfs.pc
184endif
185
182if BUILD_ENGINE_BUFFER 186if BUILD_ENGINE_BUFFER
183pkgconfig_DATA += pc/evas-software-buffer.pc 187pkgconfig_DATA += pc/evas-software-buffer.pc
184endif 188endif
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
1419AC_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
1419AC_ARG_ENABLE([sdl], 1432AC_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
1851EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm]) 1864EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
1852EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm]) 1865EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
1853EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm]) 1866EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
1867EVAS_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"
2012fi 2027fi
@@ -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}"
3890want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}" 3906want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
3891want_ecore_evas_extn="yes" 3907want_ecore_evas_extn="yes"
3892want_ecore_evas_drm="${have_evas_engine_drm}" 3908want_ecore_evas_drm="${have_evas_engine_drm}"
3909want_ecore_evas_eglfs="${have_evas_engine_eglfs}"
3893 3910
3894if test "x${have_ecore_ipc}" = "xno" || \ 3911if 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])
3917ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}]) 3934ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
3918ECORE_EVAS_MODULE([ews], [yes]) 3935ECORE_EVAS_MODULE([ews], [yes])
3919ECORE_EVAS_MODULE([fb], [${want_fb}]) 3936ECORE_EVAS_MODULE([fb], [${want_fb}])
3937ECORE_EVAS_MODULE([eglfs], [${want_eglfs}])
3920ECORE_EVAS_MODULE([drm], [${want_drm}], 3938ECORE_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])])
3922ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}], 3940ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
@@ -4701,6 +4719,7 @@ pc/eolian-cxx.pc
4701pc/efl.pc 4719pc/efl.pc
4702pc/efl-cxx.pc 4720pc/efl-cxx.pc
4703pc/evas-fb.pc 4721pc/evas-fb.pc
4722pc/evas-eglfs.pc
4704pc/evas-opengl-x11.pc 4723pc/evas-opengl-x11.pc
4705pc/evas-opengl-sdl.pc 4724pc/evas-opengl-sdl.pc
4706pc/evas-opengl-cocoa.pc 4725pc/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
664dnl use: EVAS_CHECK_ENGINE_DEP_EGLFS(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
665
666AC_DEFUN([EVAS_CHECK_ENGINE_DEP_EGLFS],
667[
668
669requirement=""
670have_dep="no"
671have_hw_dep="no"
672evas_engine_[]$1[]_cflags=""
673evas_engine_[]$1[]_libs=""
674
675if test "x${with_opengl}" = "xes" ; then
676 gl_library="glesv2"
677else
678 AC_MSG_ERROR([We do not support Eglfs without OpenGL ES. Please consider OpenGL ES if you want to use it.])
679fi
680
681PKG_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
688if 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
698fi
699
700AC_SUBST([evas_engine_$1_cflags])
701AC_SUBST([evas_engine_$1_libs])
702
703AS_IF([test "x${have_dep}" = "xyes"], [$4], [$5])
704
705])
706
664 707
665dnl use: EVAS_ENGINE(name, want_engine, [DEPENDENCY-CHECK-CODE]) 708dnl use: EVAS_ENGINE(name, want_engine, [DEPENDENCY-CHECK-CODE])
666dnl 709dnl
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 @@
1Name: evas-eglfs
2Description: Evas eglfs engine
3Version: @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)
132modules_ecore_evas_engines_fb_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ 132modules_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@
136modules_ecore_evas_engines_fb_module_la_LIBADD = \ 138modules_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@
139modules_ecore_evas_engines_fb_module_la_DEPENDENCIES = \ 142modules_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
787if BUILD_ENGINE_GL_DRM 787if BUILD_ENGINE_GL_DRM
788modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS += @evas_engine_gl_drm_cflags@ 788modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS += @evas_engine_gl_drm_cflags@
789endif 789endif
790if BUILD_ENGINE_EGLFS
791modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS += @evas_engine_eglfs_cflags@
792endif
790modules_evas_engines_gl_common_libevas_engine_gl_common_la_LIBADD = @USE_EVAS_LIBS@ 793modules_evas_engines_gl_common_libevas_engine_gl_common_la_LIBADD = @USE_EVAS_LIBS@
791modules_evas_engines_gl_common_libevas_engine_gl_common_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@ 794modules_evas_engines_gl_common_libevas_engine_gl_common_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@
792modules_evas_engines_gl_common_libevas_engine_gl_common_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@ 795modules_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
1242endif 1245endif
1243endif 1246endif
1244 1247
1248if BUILD_ENGINE_EGLFS
1249dist_installed_evasmainheaders_DATA += modules/evas/engines/eglfs/Evas_Engine_Eglfs.h
1250EGLFS_SOURCES = \
1251modules/evas/engines/eglfs/evas_outbuf.c \
1252modules/evas/engines/eglfs/evas_engine.c \
1253modules/evas/engines/eglfs/evas_engine.h \
1254modules/evas/engines/eglfs/Evas_Engine_Eglfs.h
1255if EVAS_STATIC_BUILD_EGLFS
1256lib_evas_libevas_la_SOURCES += $(EGLFS_SOURCES)
1257lib_evas_libevas_la_CPPFLAGS += @evas_engine_eglfs_cflags@
1258lib_evas_libevas_la_LIBADD += @evas_engine_eglfs_libs@
1259else
1260engineeglfspkgdir = $(libdir)/evas/modules/engines/eglfs/$(MODULE_ARCH)
1261engineeglfspkg_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
1265install_engineeglfspkgLTLIBRARIES = install-engineeglfspkgLTLIBRARIES
1266$(install_engineeglfspkgLTLIBRARIES): install-libLTLIBRARIES
1267
1268modules_evas_engines_eglfs_module_la_SOURCES = $(EGLFS_SOURCES)
1269modules_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@
1276modules_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@
1281modules_evas_engines_eglfs_module_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@ @USE_EEZE_INTERNAL_LIBS@ @USE_ECORE_DRM_INTERNAL_LIBS@
1282modules_evas_engines_eglfs_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@
1283modules_evas_engines_eglfs_module_la_LIBTOOLFLAGS = --tag=disable-static
1284endif
1285endif
1286
1245### Cserve2 binary 1287### Cserve2 binary
1246 1288
1247if EVAS_CSERVE2 1289if EVAS_CSERVE2