build: allow building in pure Wayland mode (no xcb, no ecore-x)
Summary: We should be building Enlightenement with "--enable-wayland-only" even if xcb, ecore-x... are not present. The Evas wayland-shm engine will then be a prerequisite, though. E_Alert being too much X11-oriented, let us disable it completely before it is ported. Also, do not require the X11 rendering engines at runtime. Reviewers: stefan, devilhorns Reviewed By: devilhorns Subscribers: stefan_schmidt, stefan Projects: #enlightenment-git Differential Revision: https://phab.enlightenment.org/D1986
This commit is contained in:
parent
6097f06b26
commit
a5a27dee14
85
configure.ac
85
configure.ac
|
@ -444,6 +444,16 @@ test -n "$dbus_mount" && AC_DEFINE_UNQUOTED([HAVE_UDISKS_MOUNT], [1], [enable Ud
|
|||
AM_CONDITIONAL([HAVE_UDISKS_MOUNT], [test -n "$dbus_mount"])
|
||||
AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test -n "$eeze_mount"])
|
||||
|
||||
# verify "wayland-only" early to adapt dependencies
|
||||
|
||||
have_wayland_only=no
|
||||
AC_ARG_ENABLE([wayland-only],
|
||||
AS_HELP_STRING([--enable-wayland-only],[enable wayland-only version of enlightenment @<:@default=disabled@:>@]),
|
||||
[e_cv_want_wayland_only=$enableval],
|
||||
[e_cv_want_wayland_only=no])
|
||||
AC_MSG_CHECKING([whether wayland-only version is enabled])
|
||||
AC_MSG_RESULT([${e_cv_want_wayland_only}])
|
||||
|
||||
# doxygen program for documentation building
|
||||
|
||||
EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
|
||||
|
@ -523,40 +533,45 @@ PKG_CHECK_MODULES(E_SYS, [
|
|||
ecore >= ${efl_version}
|
||||
])
|
||||
|
||||
PKG_CHECK_MODULES(E_ALERT, [
|
||||
if test "x${e_cv_want_wayland_only}" != "xyes"; then
|
||||
PKG_CHECK_MODULES(E_ALERT, [
|
||||
xcb
|
||||
xcb-shape
|
||||
xcb-keysyms
|
||||
eina >= ${efl_version}
|
||||
ecore >= ${efl_version}
|
||||
ecore-ipc >= ${efl_version}
|
||||
])
|
||||
])
|
||||
fi
|
||||
|
||||
PKG_CHECK_MODULES(E, [
|
||||
evas >= ${efl_version}
|
||||
ecore >= ${efl_version}
|
||||
ecore-x >= ${efl_version}
|
||||
ecore-evas >= ${efl_version}
|
||||
ecore-input >= ${efl_version}
|
||||
ecore-input-evas >= ${efl_version}
|
||||
ecore-con >= ${efl_version}
|
||||
ecore-ipc >= ${efl_version}
|
||||
ecore-file >= ${efl_version}
|
||||
eet >= ${efl_version}
|
||||
edje >= ${efl_version}
|
||||
efreet >= ${efl_version}
|
||||
efreet-mime >= ${efl_version}
|
||||
efreet-trash >= ${efl_version}
|
||||
eina >= ${efl_version}
|
||||
eldbus >= ${efl_version}
|
||||
eio >= ${efl_version}
|
||||
eo >= ${efl_version}
|
||||
elementary >= ${efl_version}
|
||||
emotion >= ${efl_version}
|
||||
$eeze_mount
|
||||
$udisks_mount
|
||||
$device_libs
|
||||
])
|
||||
e_requires="\
|
||||
evas >= $efl_version \
|
||||
ecore >= $efl_version \
|
||||
ecore-evas >= $efl_version \
|
||||
ecore-input >= $efl_version \
|
||||
ecore-input-evas >= $efl_version \
|
||||
ecore-con >= $efl_version \
|
||||
ecore-ipc >= $efl_version \
|
||||
ecore-file >= $efl_version \
|
||||
eet >= $efl_version \
|
||||
edje >= $efl_version \
|
||||
efreet >= $efl_version \
|
||||
efreet-mime >= $efl_version \
|
||||
efreet-trash >= $efl_version \
|
||||
eina >= $efl_version \
|
||||
eldbus >= $efl_version \
|
||||
eio >= $efl_version \
|
||||
eo >= $efl_version \
|
||||
elementary >= $efl_version \
|
||||
emotion >= $efl_version \
|
||||
$eeze_mount \
|
||||
$udisks_mount \
|
||||
$device_libs"
|
||||
if test "x${e_cv_want_wayland_only}" != "xyes"; then
|
||||
e_requires="$e_requires ecore-x >= $efl_version"
|
||||
fi
|
||||
|
||||
PKG_CHECK_MODULES(E, [$e_requires])
|
||||
requirements_e="\
|
||||
evas >= ${efl_version} \
|
||||
ecore >= ${efl_version} \
|
||||
|
@ -797,14 +812,6 @@ define([CHECK_MODULE_BLUEZ4],
|
|||
AC_SUBST([EBLUEZ4_CFLAGS])
|
||||
AC_SUBST([EBLUEZ4_LIBS])
|
||||
|
||||
have_wayland_only=no
|
||||
AC_ARG_ENABLE([wayland-only],
|
||||
AS_HELP_STRING([--enable-wayland-only],[enable wayland-only version of enlightenment @<:@default=disabled@:>@]),
|
||||
[e_cv_want_wayland_only=$enableval],
|
||||
[e_cv_want_wayland_only=no])
|
||||
AC_MSG_CHECKING([whether wayland-only version is enabled])
|
||||
AC_MSG_RESULT([${e_cv_want_wayland_only}])
|
||||
|
||||
have_wayland_clients=no
|
||||
AC_ARG_ENABLE([wayland-clients],
|
||||
AS_HELP_STRING([--enable-wayland-clients],[enable wayland clients in composite module @<:@default=disabled@:>@]),
|
||||
|
@ -857,9 +864,13 @@ AM_CONDITIONAL([HAVE_WAYLAND_ONLY], [test "x${have_wayland_only}" = "xyes"])
|
|||
AM_CONDITIONAL([HAVE_WAYLAND_CLIENTS], [test "x${have_wayland_clients}" = "xyes"])
|
||||
AM_CONDITIONAL([HAVE_WAYLAND_EGL], [test "x${have_wayland_egl}" = "xyes"])
|
||||
|
||||
PKG_CHECK_MODULES([ECORE_X], [ecore-x >= ${efl_version}])
|
||||
if test -n "$ECORE_X_CFLAGS" ; then
|
||||
if test "x${have_wayland_only}" != "xyes"; then
|
||||
PKG_CHECK_MODULES([ECORE_X], [ecore-x >= ${efl_version}])
|
||||
if test -n "$ECORE_X_CFLAGS" ; then
|
||||
ecore_x=true
|
||||
else
|
||||
ecore_x=false
|
||||
fi
|
||||
else
|
||||
ecore_x=false
|
||||
fi
|
||||
|
|
|
@ -30,9 +30,12 @@ internal_bin_PROGRAMS = \
|
|||
src/bin/enlightenment_fm_op \
|
||||
src/bin/enlightenment_sys \
|
||||
src/bin/enlightenment_thumb \
|
||||
src/bin/enlightenment_alert \
|
||||
src/bin/enlightenment_static_grabber
|
||||
|
||||
if ! HAVE_WAYLAND_ONLY
|
||||
internal_bin_PROGRAMS += src/bin/enlightenment_alert
|
||||
endif
|
||||
|
||||
if HAVE_EEZE
|
||||
internal_bin_PROGRAMS += src/bin/enlightenment_backlight
|
||||
endif
|
||||
|
@ -210,7 +213,6 @@ enlightenment_src = \
|
|||
src/bin/e_about.c \
|
||||
src/bin/e_acpi.c \
|
||||
src/bin/e_actions.c \
|
||||
src/bin/e_alert.c \
|
||||
src/bin/e_atoms.c \
|
||||
src/bin/e_auth.c \
|
||||
src/bin/e_backlight.c \
|
||||
|
@ -364,6 +366,7 @@ $(ENLIGHTENMENTHEADERS)
|
|||
if ! HAVE_WAYLAND_ONLY
|
||||
enlightenment_src += \
|
||||
src/bin/e_comp_x.c \
|
||||
src/bin/e_alert.c \
|
||||
src/bin/e_randr2.c \
|
||||
src/bin/e_xsettings.c
|
||||
endif
|
||||
|
@ -376,13 +379,19 @@ src/bin/e_comp_wl_input.c \
|
|||
src/bin/e_comp_wl.c
|
||||
endif
|
||||
|
||||
src_bin_enlightenment_CPPFLAGS = $(E_CPPFLAGS) -DEFL_BETA_API_SUPPORT -DEFL_EO_API_SUPPORT -DE_LOGGING=1 @WAYLAND_CFLAGS@ @WAYLAND_EGL_CFLAGS@ @ECORE_X_CFLAGS@ -DNEED_X=1 -DNEED_WL
|
||||
src_bin_enlightenment_CPPFLAGS = $(E_CPPFLAGS) -DEFL_BETA_API_SUPPORT -DEFL_EO_API_SUPPORT -DE_LOGGING=1 @WAYLAND_CFLAGS@ @WAYLAND_EGL_CFLAGS@ -DNEED_WL
|
||||
if ! HAVE_WAYLAND_ONLY
|
||||
src_bin_enlightenment_CPPFLAGS += @ECORE_X_CFLAGS@ -DNEED_X=1
|
||||
endif
|
||||
src_bin_enlightenment_SOURCES = \
|
||||
src/bin/e_main.c \
|
||||
$(enlightenment_src)
|
||||
|
||||
src_bin_enlightenment_LDFLAGS = -export-dynamic
|
||||
src_bin_enlightenment_LDADD = @e_libs@ @dlopen_libs@ @cf_libs@ @VALGRIND_LIBS@ @WAYLAND_LIBS@ @WL_DRM_LIBS@ @WAYLAND_EGL_LIBS@ -lm @ECORE_X_LIBS@ @SHM_OPEN_LIBS@
|
||||
src_bin_enlightenment_LDADD = @e_libs@ @dlopen_libs@ @cf_libs@ @VALGRIND_LIBS@ @WAYLAND_LIBS@ @WL_DRM_LIBS@ @WAYLAND_EGL_LIBS@ -lm @SHM_OPEN_LIBS@
|
||||
if ! HAVE_WAYLAND_ONLY
|
||||
src_bin_enlightenment_LDADD += @ECORE_X_LIBS@
|
||||
endif
|
||||
|
||||
src_bin_enlightenment_imc_SOURCES = \
|
||||
src/bin/e.h \
|
||||
|
|
|
@ -454,6 +454,15 @@ main(int argc, char **argv)
|
|||
ecore_evas_app_comp_sync_set(0);
|
||||
|
||||
TS("Ecore_Evas Engine Check");
|
||||
#ifdef HAVE_WAYLAND_ONLY
|
||||
if (!ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_WAYLAND_SHM))
|
||||
{
|
||||
e_error_message_show(_("Enlightenment found ecore_evas doesn't support the Wayland SHM\n"
|
||||
"rendering in Evas. Please check your installation of Evas and\n"
|
||||
"Ecore and check they support the Wayland SHM rendering engine."));
|
||||
_e_main_shutdown(-1);
|
||||
}
|
||||
#else
|
||||
if (!ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_SOFTWARE_XCB))
|
||||
{
|
||||
if (!ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_SOFTWARE_XLIB))
|
||||
|
@ -464,6 +473,7 @@ main(int argc, char **argv)
|
|||
_e_main_shutdown(-1);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (!ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_SOFTWARE_BUFFER))
|
||||
{
|
||||
e_error_message_show(_("Enlightenment found ecore_evas doesn't support the Software Buffer\n"
|
||||
|
@ -494,6 +504,7 @@ main(int argc, char **argv)
|
|||
TS("E Intl Init Done");
|
||||
_e_main_shutdown_push(e_intl_shutdown);
|
||||
|
||||
#ifndef HAVE_WAYLAND_ONLY
|
||||
/* init white box of death alert */
|
||||
TS("E_Alert Init");
|
||||
if (!e_alert_init())
|
||||
|
@ -504,6 +515,7 @@ main(int argc, char **argv)
|
|||
}
|
||||
TS("E_Alert Init Done");
|
||||
_e_main_shutdown_push(e_alert_shutdown);
|
||||
#endif
|
||||
|
||||
TS("E_Configure Init");
|
||||
e_configure_init();
|
||||
|
|
|
@ -71,8 +71,8 @@ e_sigseg_act(int x __UNUSED__, siginfo_t *info __UNUSED__, void *data __UNUSED__
|
|||
ecore_x_keyboard_ungrab();
|
||||
ecore_x_ungrab();
|
||||
ecore_x_sync();
|
||||
#endif
|
||||
e_alert_show();
|
||||
#endif
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -102,8 +102,8 @@ e_sigfpe_act(int x __UNUSED__, siginfo_t *info __UNUSED__, void *data __UNUSED__
|
|||
ecore_x_keyboard_ungrab();
|
||||
ecore_x_ungrab();
|
||||
ecore_x_sync();
|
||||
#endif
|
||||
e_alert_show();
|
||||
#endif
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -115,8 +115,8 @@ e_sigbus_act(int x __UNUSED__, siginfo_t *info __UNUSED__, void *data __UNUSED__
|
|||
ecore_x_keyboard_ungrab();
|
||||
ecore_x_ungrab();
|
||||
ecore_x_sync();
|
||||
#endif
|
||||
e_alert_show();
|
||||
#endif
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -128,6 +128,6 @@ e_sigabrt_act(int x __UNUSED__, siginfo_t *info __UNUSED__, void *data __UNUSED_
|
|||
ecore_x_keyboard_ungrab();
|
||||
ecore_x_ungrab();
|
||||
ecore_x_sync();
|
||||
#endif
|
||||
e_alert_show();
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue