summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac48
1 files changed, 37 insertions, 11 deletions
diff --git a/configure.ac b/configure.ac
index 1b027d2e..ce668dd6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -16,7 +16,7 @@ dnl ---------------------------------------------------------------------
dnl Setup automake to be silent and in foreign mode.
dnl We want xz distribution
dnl ---------------------------------------------------------------------
-AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects dist-xz])
+AM_INIT_AUTOMAKE([-Wall -Wno-portability -Werror foreign subdir-objects dist-xz])
AM_SILENT_RULES([yes])
dnl ---------------------------------------------------------------------
@@ -71,12 +71,6 @@ AC_ARG_ENABLE([drun], AS_HELP_STRING([--disable-drun],[Disable desktop file run
AS_IF([test "x${enable_drun}" != "xno"], [AC_DEFINE([ENABLE_DRUN], [1], [Enable desktop file run dialog])])
dnl ---------------------------------------------------------------------
-dnl Disable window mode
-dnl ---------------------------------------------------------------------
-AC_ARG_ENABLE([windowmode], AS_HELP_STRING([--disable-windowmode],[Disable window mode]))
-AS_IF([ test "x$enable_windowmode" != "xno"], [AC_DEFINE([WINDOW_MODE],[1],[Enable the window mode])])
-
-dnl ---------------------------------------------------------------------
dnl Output timing information
dnl ---------------------------------------------------------------------
AC_ARG_ENABLE([timings], AS_HELP_STRING([--enable-timings],[Enable timing output]))
@@ -85,6 +79,7 @@ AS_IF( [ test "x$enable_timings" = "xyes"], [AC_DEFINE([TIMINGS],[1], [Enable ti
dnl ---------------------------------------------------------------------
dnl Check for C functions.
dnl ---------------------------------------------------------------------
+AC_FUNC_MMAP
AC_CHECK_FUNC([getline],, AC_MSG_ERROR("Could not find getline in c library"))
AC_CHECK_FUNC([open],, AC_MSG_ERROR("Could not find open in c library"))
AC_CHECK_FUNC([sysconf],, AC_MSG_ERROR("Could not find sysconf"))
@@ -105,16 +100,47 @@ dnl Check dependencies
dnl ---------------------------------------------------------------------
PKG_PROG_PKG_CONFIG
+AC_ARG_VAR([WAYLAND_SCANNER], [Wayland XML scanner executable])
+AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner])
+if test -z "${WAYLAND_SCANNER}"; then
+ AC_MSG_ERROR([wayland-scanner not found])
+fi
+
dnl ---------------------------------------------------------------------
dnl PKG_CONFIG based dependencies
dnl ---------------------------------------------------------------------
PKG_CHECK_MODULES([glib], [glib-2.0 >= 2.40 gio-unix-2.0 gmodule-2.0])
-GW_CHECK_XCB([xcb-aux xcb-xkb xkbcommon >= 0.5.0 xkbcommon-x11 xcb-ewmh xcb-icccm xcb-xrm xcb-randr xcb-xinerama])
PKG_CHECK_MODULES([pango], [pango pangocairo])
-PKG_CHECK_MODULES([cairo], [cairo cairo-xcb])
-PKG_CHECK_MODULES([libsn], [libstartup-notification-1.0 ])
-
+PKG_CHECK_MODULES([cairo], [cairo])
+
+PKG_CHECK_MODULES([xrm], [xcb-xrm])
+
+dnl ---------------------------------------------------------------------
+dnl Display backend and window mode
+dnl ---------------------------------------------------------------------
+AC_ARG_WITH([display-backend], AS_HELP_STRING([--with-display-backend=@<:@wayland|xcb@:>@], [The display backend to use, Wayland or XCB]), [], [with_display_backend=yes])
+AS_CASE([${with_display_backend}],
+ [xcb], [
+ GW_CHECK_XCB([xcb-aux xcb-xkb xkbcommon >= 0.5.0 xkbcommon-x11 xcb-ewmh xcb-icccm xcb-xrm xcb-randr xcb-xinerama cairo-xcb])
+ enable_windowmode_default=yes
+ ] ,[
+ GW_CHECK_WAYLAND([wayland-cursor wayland-wall xkbcommon >= 0.5.0])
+ PKG_CHECK_MODULES([WAYLAND_PROTOCLS], [wayland-protocols])
+ PKG_CHECK_MODULES([WAYLAND_WALL], [wayland-wall])
+ wpprotocoldir=`${PKG_CONFIG} --variable=pkgdatadir wayland-protocols`
+ wwprotocoldir=`${PKG_CONFIG} --variable=pkgdatadir wayland-wall`
+ AC_SUBST([wpprotocoldir])
+ AC_SUBST([wwprotocoldir])
+ with_display_backend=wayland
+ enable_windowmode_default=yes
+])
+AM_CONDITIONAL([WAYLAND_BACKEND], [test x${with_display_backend} = xwayland])
+AM_CONDITIONAL([XCB_BACKEND], [test x${with_display_backend} = xxcb])
+
+AC_ARG_ENABLE([windowmode], AS_HELP_STRING([--disable-windowmode],[Disable window mode]), [], [enable_windowmode=${enable_windowmode_default}])
+AM_CONDITIONAL([WINDOW_MODE], [test x${enable_windowmode} = xyes])
+AS_IF([ test "x$enable_windowmode" = "xyes"], [AC_DEFINE([WINDOW_MODE],[1],[Enable the window mode])])
dnl ---------------------------------------------------------------------
dnl Add extra compiler flags