Modify it to adjust Tizen IVI enviroment
[platform/upstream/kmscon.git] / configure.ac
index c7b2a73..eb3020f 100644 (file)
@@ -5,34 +5,65 @@
 
 AC_PREREQ(2.68)
 
-AC_INIT([kmscon], [5])
-AC_SUBST(PACKAGE_URL, [https://github.com/dvdhrm/kmscon])
+AC_INIT([kmscon],
+        [8],
+        [http://bugs.freedesktop.org/enter_bug.cgi?product=kmscon],
+        [kmscon],
+        [http://www.freedesktop.org/wiki/Software/kmscon])
 AC_CONFIG_SRCDIR([src/kmscon_main.c])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_HEADER(config.h)
+AC_USE_SYSTEM_EXTENSIONS
+AC_SYS_LARGEFILE
+AC_CANONICAL_SYSTEM
 
-AM_INIT_AUTOMAKE([foreign 1.11 subdir-objects dist-bzip2 no-dist-gzip tar-pax -Wall -Werror -Wno-portability])
+AM_INIT_AUTOMAKE([foreign 1.11 subdir-objects dist-xz no-dist-gzip tar-pax -Wall -Werror -Wno-portability])
 AM_SILENT_RULES([yes])
 
 #
 # Don't add a default "-g -O2" if CFLAGS wasn't specified. For debugging it is
 # often more convenient to have "-g -O0". You can still override it by
-# explicitely setting it on the command line.
+# explicitly setting it on the command line.
 #
 
 : ${CFLAGS=""}
 
-AC_USE_SYSTEM_EXTENSIONS
 AC_PROG_CC
+AX_PROG_CC_FOR_BUILD
 AC_PROG_CC_C99
 AM_PROG_CC_C_O
 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+AC_PROG_SED
+AC_PROG_MKDIR_P
+AC_PROG_LN_S
+AC_PROG_GREP
+AC_PROG_AWK
 
 LT_PREREQ(2.2)
 LT_INIT
 
 #
+# Required pkg-config dependencies
+#
+
+PKG_CHECK_MODULES([XKBCOMMON], [xkbcommon])
+AC_SUBST(XKBCOMMON_CFLAGS)
+AC_SUBST(XKBCOMMON_LIBS)
+
+PKG_CHECK_MODULES([TSM], [libtsm])
+AC_SUBST(TSM_CFLAGS)
+AC_SUBST(TSM_LIBS)
+
+PKG_CHECK_MODULES([UDEV], [libudev >= 172])
+AC_SUBST(UDEV_CFLAGS)
+AC_SUBST(UDEV_LIBS)
+
+PKG_CHECK_MODULES([DRM], [libdrm])
+AC_SUBST(DRM_CFLAGS)
+AC_SUBST(DRM_LIBS)
+
+#
 # pkg-config dependencies
 # This unconditionally checks for all dependencies even if they are disabled. We
 # later look whether all required depedencies are met and finish the
@@ -43,36 +74,11 @@ LT_INIT
 # ourself.
 #
 
-PKG_CHECK_MODULES([XKBCOMMON], [xkbcommon],
-                  [have_xkbcommon=yes], [have_xkbcommon=no])
-AC_SUBST(XKBCOMMON_CFLAGS)
-AC_SUBST(XKBCOMMON_LIBS)
-
-PKG_CHECK_MODULES([WAYLAND], [wayland-client wayland-server wayland-cursor],
-                  [have_wayland=yes], [have_wayland=no])
-AC_SUBST(WAYLAND_CFLAGS)
-AC_SUBST(WAYLAND_LIBS)
-
 PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon libsystemd-login],
                   [have_systemd=yes], [have_systemd=no])
 AC_SUBST(SYSTEMD_CFLAGS)
 AC_SUBST(SYSTEMD_LIBS)
 
-PKG_CHECK_MODULES([UDEV], [libudev],
-                  [have_udev=yes], [have_udev=no])
-AC_SUBST(UDEV_CFLAGS)
-AC_SUBST(UDEV_LIBS)
-
-PKG_CHECK_MODULES([DBUS], [dbus-1],
-                  [have_dbus=yes], [have_dbus=no])
-AC_SUBST(DBUS_CFLAGS)
-AC_SUBST(DBUS_LIBS)
-
-PKG_CHECK_MODULES([DRM], [libdrm],
-                  [have_drm=yes], [have_drm=no])
-AC_SUBST(DRM_CFLAGS)
-AC_SUBST(DRM_LIBS)
-
 PKG_CHECK_MODULES([GBM], [gbm],
                   [have_gbm=yes], [have_gbm=no])
 AC_SUBST(GBM_CFLAGS)
@@ -88,25 +94,15 @@ PKG_CHECK_MODULES([GLES2], [glesv2],
 AC_SUBST(GLES2_CFLAGS)
 AC_SUBST(GLES2_LIBS)
 
-PKG_CHECK_MODULES([FREETYPE2], [freetype2 fontconfig],
-                  [have_freetype2=yes], [have_freetype2=no])
-AC_SUBST(FREETYPE2_CFLAGS)
-AC_SUBST(FREETYPE2_LIBS)
-
 PKG_CHECK_MODULES([PANGO], [pango pangoft2],
                   [have_pango=yes], [have_pango=no])
 AC_SUBST(PANGO_CFLAGS)
 AC_SUBST(PANGO_LIBS)
 
-PKG_CHECK_MODULES([FUSE], [fuse],
-                  [have_fuse=yes], [have_fuse=no])
-AC_SUBST(FUSE_CFLAGS)
-AC_SUBST(FUSE_LIBS)
-
-PKG_CHECK_MODULES([PCIACCESS], [pciaccess],
-                  [have_pciaccess=yes], [have_pciaccess=no])
-AC_SUBST(PCIACCESS_CFLAGS)
-AC_SUBST(PCIACCESS_LIBS)
+PKG_CHECK_MODULES([PIXMAN], [pixman-1],
+                  [have_pixman=yes], [have_pixman=no])
+AC_SUBST(PIXMAN_CFLAGS)
+AC_SUBST(PIXMAN_LIBS)
 
 #
 # Parse arguments
@@ -115,62 +111,24 @@ AC_SUBST(PCIACCESS_LIBS)
 # similar but does only parse the arguments.
 #
 
-# eloop
-AC_MSG_CHECKING([whether user wants eloop])
-AC_ARG_ENABLE([eloop],
-              [AS_HELP_STRING([--enable-eloop],
-                              [build eloop library])])
-if test "x$enable_eloop" = "x" ; then
-        enable_eloop="no (default)"
+# all
+AC_MSG_CHECKING([whether user wants all])
+AC_ARG_ENABLE([all],
+              [AS_HELP_STRING([--enable-all],
+                              [enable all options (used for debugging)])])
+if test "x$enable_all" = "x" ; then
+        enable_all="no"
 fi
-AC_MSG_RESULT([$enable_eloop])
-
-# TSM
-AC_MSG_CHECKING([whether user wants TSM])
-AC_ARG_ENABLE([tsm],
-              [AS_HELP_STRING([--enable-tsm],
-                              [build tsm library])])
-if test "x$enable_tsm" = "x" ; then
-        enable_tsm="no (default)"
-fi
-AC_MSG_RESULT([$enable_tsm])
-
-# uterm
-AC_MSG_CHECKING([whether user wants uterm])
-AC_ARG_ENABLE([uterm],
-              [AS_HELP_STRING([--enable-uterm],
-                              [build uterm library])])
-if test "x$enable_uterm" = "x" ; then
-        enable_uterm="no (default)"
-fi
-AC_MSG_RESULT([$enable_uterm])
-
-# kmscon
-AC_MSG_CHECKING([whether user wants kmscon])
-AC_ARG_ENABLE([kmscon],
-              [AS_HELP_STRING([--disable-kmscon],
-                              [do not build kmscon])])
-if test "x$enable_kmscon" = "x" ; then
-        enable_kmscon="yes (default)"
-fi
-AC_MSG_RESULT([$enable_kmscon])
-
-# wlterm
-AC_MSG_CHECKING([whether user wants wlterm])
-AC_ARG_ENABLE([wlterm],
-              [AS_HELP_STRING([--enable-wlterm],
-                              [build wlterm])])
-if test "x$enable_wlterm" = "x" ; then
-        enable_wlterm="yes (default)"
-fi
-AC_MSG_RESULT([$enable_wlterm])
+AC_MSG_RESULT([$enable_all])
 
 # debug
 AC_MSG_CHECKING([whether to build with debugging on])
 AC_ARG_ENABLE([debug],
               [AS_HELP_STRING([--enable-debug],
                               [whether to build with debugging on])])
-if test "x$enable_debug" = "x" ; then
+if test "x$enable_all" = "xyes" ; then
+        enable_debug="yes"
+elif test "x$enable_debug" = "x" ; then
         enable_debug="yes (default)"
 fi
 AC_MSG_RESULT([$enable_debug])
@@ -180,7 +138,9 @@ AC_MSG_CHECKING([whether to disable code optimizations])
 AC_ARG_ENABLE([optimizations],
               [AS_HELP_STRING([--disable-optimizations],
                               [whether to disable code optimizations])])
-if test "x$enable_optimizations" = "x" ; then
+if test "x$enable_all" = "xyes" ; then
+        enable_optimizations="yes"
+elif test "x$enable_optimizations" = "x" ; then
         enable_optimizations="yes (default)"
 fi
 AC_MSG_RESULT([$enable_optimizations])
@@ -190,64 +150,43 @@ AC_MSG_CHECKING([whether user wants systemd for multi-seat support])
 AC_ARG_ENABLE([multi-seat],
               [AS_HELP_STRING([--enable-multi-seat],
                               [enable multi-seat support with systemd])])
-if test "x$enable_multi_seat" = "x" ; then
+if test "x$enable_all" = "xyes" ; then
+        enable_multi_seat="yes"
+elif test "x$enable_multi_seat" = "x" ; then
         enable_multi_seat="yes (default)"
 fi
 AC_MSG_RESULT([$enable_multi_seat])
 
-# hotplug
-AC_MSG_CHECKING([whether user wants udev for device hotplug support])
-AC_ARG_ENABLE([hotplug],
-              [AS_HELP_STRING([--enable-hotplug],
-                              [enable device hotplug support with udev])])
-if test "x$enable_hotplug" = "x" ; then
-        enable_hotplug="yes (default)"
-fi
-AC_MSG_RESULT([$enable_hotplug])
-
-# pciaccess
-AC_MSG_CHECKING([whether user wants pciaccess device detection])
-AC_ARG_ENABLE([pciaccess],
-              [AS_HELP_STRING([--enable-pciaccess],
-                              [enable device detection via pciaccess])])
-if test "x$enable_pciaccess" = "x" ; then
-        enable_pciaccess="yes (default)"
-fi
-AC_MSG_RESULT([$enable_pciaccess])
-
-# eloop-dbus
-AC_MSG_CHECKING([whether user wants eloop dbus support])
-AC_ARG_ENABLE([eloop-dbus],
-              [AS_HELP_STRING([--enable-eloop-dbus],
-                              [enable eloop dbus support])])
-if test "x$enable_eloop_dbus" = "x" ; then
-        enable_eloop_dbus="no (default)"
-fi
-AC_MSG_RESULT([$enable_eloop_dbus])
-
 # video backends
 AC_MSG_CHECKING([which video backends the user wants])
 AC_ARG_WITH([video],
             [AS_HELP_STRING([--with-video],
-              [specify list of optional video backends])])
+              [specify list of optional video backends])],
+            [],
+            [with_video="default"])
 enable_video_fbdev="no"
-enable_video_dumb="no"
-enable_video_drm="no"
-if test "x$with_video" = "x" ; then
+enable_video_drm2d="no"
+enable_video_drm3d="no"
+if test "x$enable_all" = "xyes" ; then
+        enable_video_fbdev="yes"
+        enable_video_drm2d="yes"
+        enable_video_drm3d="yes"
+        with_video="fbdev,drm2d,drm3d (all)"
+elif test "x$with_video" = "xdefault" ; then
         enable_video_fbdev="yes (default)"
-        enable_video_dumb="yes (default)"
-        enable_video_drm="yes (default)"
-        with_video="fbdev,dumb,drm (default)"
-else
+        enable_video_drm2d="yes (default)"
+        enable_video_drm3d="yes (default)"
+        with_video="fbdev,drm2d,drm3d (default)"
+elif test ! "x$with_video" = "x" ; then
         SAVEIFS="$IFS"
         IFS=","
         for i in $with_video ; do
                 if test "x$i" = "xfbdev" ; then
                         enable_video_fbdev="yes"
-                elif test "x$i" = "xdumb" ; then
-                        enable_video_dumb="yes"
-                elif test "x$i" = "xdrm" ; then
-                        enable_video_drm="yes"
+                elif test "x$i" = "xdrm2d" ; then
+                        enable_video_drm2d="yes"
+                elif test "x$i" = "xdrm3d" ; then
+                        enable_video_drm3d="yes"
                 else
                         IFS="$SAVEIFS"
                         AC_ERROR([Invalid video backend $i])
@@ -261,25 +200,32 @@ AC_MSG_RESULT([$with_video])
 AC_MSG_CHECKING([which render backends the user wants])
 AC_ARG_WITH([renderers],
             [AS_HELP_STRING([--with-renderers],
-              [specify list of optional render backends])])
-enable_renderer_bblit="no"
+              [specify list of optional render backends])],
+            [],
+            [with_renderers="default"])
 enable_renderer_bbulk="no"
 enable_renderer_gltex="no"
-if test "x$with_renderers" = "x" ; then
-        enable_renderer_bblit="yes (default)"
+enable_renderer_pixman="no"
+if test "x$enable_all" = "xyes" ; then
+        enable_renderer_bbulk="yes"
+        enable_renderer_gltex="yes"
+        enable_renderer_pixman="yes"
+        with_renderers="bbulk,gltex,pixman (all)"
+elif test "x$with_renderers" = "xdefault" ; then
         enable_renderer_bbulk="yes (default)"
         enable_renderer_gltex="yes (default)"
-        with_renderers="bblit,bbulk,gltex (default)"
-else
+        enable_renderer_pixman="no (default)"
+        with_renderers="bbulk,gltex (default)"
+elif test ! "x$with_renderers" = "x" ; then
         SAVEIFS="$IFS"
         IFS=","
         for i in $with_renderers ; do
-                if test "x$i" = "xbblit" ; then
-                        enable_renderer_bblit="yes"
-                elif test "x$i" = "xbbulk" ; then
+                if test "x$i" = "xbbulk" ; then
                         enable_renderer_bbulk="yes"
                 elif test "x$i" = "xgltex" ; then
                         enable_renderer_gltex="yes"
+                elif test "x$i" = "xpixman" ; then
+                        enable_renderer_pixman="yes"
                 else
                         IFS="$SAVEIFS"
                         AC_ERROR([Unknown renderer $i])
@@ -293,27 +239,25 @@ AC_MSG_RESULT([$with_renderers])
 AC_MSG_CHECKING([which font backends the user wants])
 AC_ARG_WITH([fonts],
             [AS_HELP_STRING([--with-fonts],
-              [specify list of optional font backends])])
-enable_font_8x16="no"
+              [specify list of optional font backends])],
+            [],
+            [with_fonts="default"])
 enable_font_unifont="no"
-enable_font_freetype2="no"
 enable_font_pango="no"
-if test "x$with_fonts" = "x" ; then
-        enable_font_8x16="yes (default)"
-        enable_font_unifont="no (default)"
-        enable_font_freetype2="yes (default)"
+if test "x$enable_all" = "xyes" ; then
+        enable_font_unifont="yes"
+        enable_font_pango="yes"
+        with_fonts="unifont,pango (all)"
+elif test "x$with_fonts" = "xdefault" ; then
+        enable_font_unifont="yes (default)"
         enable_font_pango="yes (default)"
-        with_fonts="8x16,freetype2,pango (default)"
-else
+        with_fonts="unifont,pango (default)"
+elif test ! "x$with_fonts" = "x" ; then
         SAVEIFS="$IFS"
         IFS=","
         for i in $with_fonts ; do
-                if test "x$i" = "x8x16" ; then
-                        enable_font_8x16="yes"
-                elif test "x$i" = "xunifont" ; then
+                if test "x$i" = "xunifont" ; then
                         enable_font_unifont="yes"
-                elif test "x$i" = "xfreetype2" ; then
-                        enable_font_freetype2="yes"
                 elif test "x$i" = "xpango" ; then
                         enable_font_pango="yes"
                 else
@@ -329,16 +273,20 @@ AC_MSG_RESULT([$with_fonts])
 AC_MSG_CHECKING([which sessions the user wants])
 AC_ARG_WITH([sessions],
             [AS_HELP_STRING([--with-sessions],
-              [specify list of optional sessions])])
+              [specify list of optional sessions])],
+            [],
+            [with_sessions="default"])
 enable_session_dummy="no"
 enable_session_terminal="no"
-enable_session_cdev="no"
-if test "x$with_sessions" = "x" ; then
+if test "x$enable_all" = "xyes" ; then
+        enable_session_dummy="yes"
+        enable_session_terminal="yes"
+        with_sessions="dummy,terminal (all)"
+elif test "x$with_sessions" = "xdefault" ; then
         enable_session_dummy="yes (default)"
         enable_session_terminal="yes (default)"
-        enable_session_cdev="yes (default)"
-        with_sessions="dummy,terminal,cdev (default)"
-else
+        with_sessions="dummy,terminal (default)"
+elif test ! "x$with_sessions" = "x" ; then
         SAVEIFS="$IFS"
         IFS=","
         for i in $with_sessions ; do
@@ -346,8 +294,6 @@ else
                         enable_session_dummy="yes"
                 elif test "x$i" = "xterminal" ; then
                         enable_session_terminal="yes"
-                elif test "x$i" = "xcdev" ; then
-                        enable_session_cdev="yes"
                 else
                         IFS="$SAVEIFS"
                         AC_ERROR([Unknown session type $i])
@@ -365,243 +311,178 @@ AC_MSG_RESULT([$with_sessions])
 
 # debug
 debug_avail=no
+debug_missing=""
 if test ! "x$enable_debug" = "xno" ; then
         debug_avail=yes
+else
+        debug_missing="enable-debug"
 fi
 
 # optimizations
 optimizations_avail=no
+optimizations_missing=""
 if test ! "x$enable_optimizations" = "xno" ; then
         optimizations_avail=yes
-fi
-
-# eloop-dbus
-eloop_dbus_avail=no
-if test ! "x$enable_eloop_dbus" = "xno" ; then
-        if test "x$have_dbus" = "xyes" ; then
-                eloop_dbus_avail=yes
-        elif test "x$enable_eloop_dbus" = "xyes" ; then
-                AC_ERROR([DBus libraries not found for eloop-dbus])
-        fi
-fi
-
-# eloop
-eloop_avail=no
-if test ! "x$enable_eloop" = "xno" ; then
-        eloop_avail=yes
-fi
-
-# TSM
-tsm_avail=no
-if test ! "x$enable_tsm" = "xno" ; then
-        if test "x$have_xkbcommon" = "xyes" ; then
-                tsm_avail=yes
-        elif test "x$enable_tsm" = "xyes" ; then
-                AC_ERROR([xkbcommon libraries not found for TSM])
-        fi
+else
+        optimizations_missing="enable-optimizations"
 fi
 
 # video fbdev
 video_fbdev_avail=no
+video_fbdev_missing=""
 if test ! "x$enable_video_fbdev" = "xno" ; then
         # TODO: check for kernel headers
         video_fbdev_avail=yes
+else
+        video_fbdev_missing="enable-video-fbdev"
 fi
 
-# video dumb
-video_dumb_avail=no
-if test ! "x$enable_video_dumb" = "xno" ; then
-        if test "x$have_drm" = "xyes" ; then
-                video_dumb_avail=yes
-        elif test "x$enable_video_dumb" = "xyes" ; then
-                AC_ERROR([DRM libraries not found for dumb video backend])
-        fi
+# video drm2d
+video_drm2d_avail=no
+video_drm2d_missing=""
+if test ! "x$enable_video_drm2d" = "xno" ; then
+        video_drm2d_avail=yes
+else
+        video_drm2d_missing="enable-video-drm2d"
 fi
 
-# video drm
-video_drm_avail=no
-if test ! "x$enable_video_drm" = "xno" ; then
-        if test "x$have_drm" = "xno" ; then
-                video_drm_avail=no
-        elif test "x$have_gbm" = "xno" ; then
-                video_drm_avail=no
-        elif test "x$have_egl" = "xno" ; then
-                video_drm_avail=no
-        elif test "x$have_gles2" = "xno" ; then
-                video_drm_avail=no
-        else
-                video_drm_avail=yes
+# video drm3d
+video_drm3d_avail=no
+video_drm3d_missing=""
+if test ! "x$enable_video_drm3d" = "xno" ; then
+        video_drm3d_avail=yes
+        if test "x$have_gbm" = "xno" ; then
+                video_drm3d_avail=no
+                video_drm3d_missing="libgbm,$video_drm3d_missing"
+        fi
+        if test "x$have_egl" = "xno" ; then
+                video_drm3d_avail=no
+                video_drm3d_missing="libegl,$video_drm3d_missing"
+        fi
+        if test "x$have_gles2" = "xno" ; then
+                video_drm3d_avail=no
+                video_drm3d_missing="libgles2,$video_drm3d_missing"
         fi
 
-        if test "x$video_drm_avail" = "xno" ; then
-                if test "x$enable_video_drm" = "xyes" ; then
-                        AC_ERROR([DRM, gbm or EGL libraries not found for DRM video backend])
+        if test "x$video_drm3d_avail" = "xno" ; then
+                if test "x$enable_video_drm3d" = "xyes" ; then
+                        AC_ERROR([missing for drm3d video backend: $video_drm3d_missing])
                 fi
         fi
-fi
-
-# uterm
-uterm_avail=no
-if test ! "x$enable_uterm" = "xno" ; then
-        uterm_avail=yes
+else
+        video_drm3d_missing="enable-video-drm3d"
 fi
 
 # multi-seat
 multi_seat_avail=no
+multi_seat_missing=""
 if test ! "x$enable_multi_seat" = "xno" ; then
-        if test "x$have_systemd" = "xyes" ; then
-                multi_seat_avail=yes
-        elif test "x$enable_multi_seat" = "xyes" ; then
-                AC_ERROR([systemd libraries not found for multi-seat support])
-        fi
-fi
-
-# hotplug
-hotplug_avail=no
-if test ! "x$enable_hotplug" = "xno" ; then
-        if test "x$have_udev" = "xyes" ; then
-                hotplug_avail=yes
-        elif test "x$enable_hotplug" = "xyes" ; then
-                AC_ERROR([udev libraries not found for hotplug support])
+        multi_seat_avail=yes
+        if test "x$have_systemd" = "xno" ; then
+                multi_seat_avail=no
+                multi_seat_missing="libsystemd"
         fi
-fi
 
-# pciaccess
-pciaccess_avail=no
-if test ! "x$enable_pciaccess" = "xno" ; then
-        if test "x$have_pciaccess" = "xyes" ; then
-                pciaccess_avail=yes
-        elif test "x$enable_pciaccess" = "xyes" ; then
-                AC_ERROR([pciaccess libraries not found for pciaccess device detection])
+        if test "x$multi_seat_avail" = "xno" ; then
+                if test "x$enable_multi_seat" = "xyes" ; then
+                        AC_ERROR([missing for multi-seat support: $multi_seat_missing])
+                fi
         fi
-fi
-
-# renderer bblit
-renderer_bblit_avail=no
-if test ! "x$enable_renderer_bblit" = "xno" ; then
-        renderer_bblit_avail=yes
+else
+        multi_seat_missing="enable-multi-seat"
 fi
 
 # renderer bbulk
 renderer_bbulk_avail=no
+renderer_bbulk_missing=""
 if test ! "x$enable_renderer_bbulk" = "xno" ; then
         renderer_bbulk_avail=yes
+else
+        renderer_bbulk_missing="enable-renderer-bbulk"
 fi
 
 # renderer gltex
 renderer_gltex_avail=no
+renderer_gltex_missing=""
 if test ! "x$enable_renderer_gltex" = "xno" ; then
-        if test "x$have_gles2" = "xyes" ; then
-                renderer_gltex_avail=yes
-        elif test "x$enable_renderer_gltex" = "xyes" ; then
-                AC_ERROR([OpenGLESv2 libraries not found for gltex renderer])
+        renderer_gltex_avail=yes
+        if test "x$have_gles2" = "xno" ; then
+                renderer_gltex_avail=no
+                renderer_gltex_missing="libgles2"
+        fi
+
+        if test "x$renderer_gltex_avail" = "xno" ; then
+                if test "x$enable_renderer_gltex" = "xyes" ; then
+                        AC_ERROR([missing for renderer-gltex: $renderer_gltex_missing])
+                fi
         fi
+else
+        renderer_gltex_missing="enable-renderer-gltex"
 fi
 
-# font 8x16
-font_8x16_avail=no
-if test ! "x$enable_font_8x16" = "xno" ; then
-        font_8x16_avail=yes
+# renderer pixman
+renderer_pixman_avail=no
+renderer_pixman_missing=""
+if test ! "x$enable_renderer_pixman" = "xno" ; then
+        renderer_pixman_avail=yes
+        if test "x$have_pixman" = "xno" ; then
+                renderer_pixman_avail=no
+                renderer_pixman_missing="pixman"
+        fi
+
+        if test "x$renderer_pixman_avail" = "xno" ; then
+                if test "x$enable_renderer_pixman" = "xyes" ; then
+                        AC_ERROR([missing for renderer-pixman: $renderer_pixman_missing])
+                fi
+        fi
+else
+        renderer_pixman_missing="enable-renderer-pixman"
 fi
 
 # font unifont
 font_unifont_avail=no
+font_unifont_missing=""
 if test ! "x$enable_font_unifont" = "xno" ; then
         font_unifont_avail=yes
-fi
-
-# font freetype2
-font_freetype2_avail=no
-if test ! "x$enable_font_freetype2" = "xno" ; then
-        if test "x$have_freetype2" ; then
-                font_freetype2_avail=yes
-        elif test "x$enable_font_freetype2" = "xyes" ; then
-                AC_ERROR([freetype2 or fontconfig libs not found for freetype2 font backend])
-        fi
+else
+        font_unifont_missing="enable-font-unifont"
 fi
 
 # font pango
 font_pango_avail=no
+font_pango_missing=""
 if test ! "x$enable_font_pango" = "xno" ; then
-        if test "x$have_pango" ; then
-                font_pango_avail=yes
-        elif test "x$enable_font_pango" = "xyes" ; then
-                AC_ERROR([pango libraries not found for pango font backend])
+        font_pango_avail=yes
+        if test "x$have_pango" = "xno" ; then
+                font_pango_avail=no
+                font_pango_missing="libpango"
         fi
+
+        if test "x$font_pango_avail" = "xno" ; then
+                if test "x$enable_font_pango" = "xyes" ; then
+                        AC_ERROR([missing for font-pango: $font_pango_missing])
+                fi
+        fi
+else
+        font_pango_missing="enable-font-pango"
 fi
 
 # session dummy
 session_dummy_avail=no
+session_dummy_missing=""
 if test ! "x$enable_session_dummy" = "xno" ; then
         session_dummy_avail=yes
+else
+        session_dummy_missing="enable-session-dummy"
 fi
 
 # session terminal
 session_terminal_avail=no
+session_terminal_missing=""
 if test ! "x$enable_session_terminal" = "xno" ; then
-        if test "x$tsm_avail" = "xyes" ; then
-                session_terminal_avail=yes
-        elif test "x$enable_session_terminal" = "xyes" ; then
-                AC_ERROR([TSM cannot be built for kmscon terminal session])
-        fi
-fi
-
-# session cdev
-session_cdev_avail=no
-if test ! "x$enable_session_cdev" = "xno" ; then
-        if test "x$have_fuse" = "xno" ; then
-                session_cdev_avail=no
-        elif test "x$tsm_avail" = "xno" ; then
-                session_cdev_avail=no
-        else
-                session_cdev_avail=yes
-        fi
-
-        if test "x$session_cdev_avail" = "xno" ; then
-                if test "x$enable_session_cdev" = "xyes" ; then
-                        AC_ERROR([TSM or FUSE libraries not built/found for kmscon cdev session])
-                fi
-        fi
-fi
-
-# kmscon
-kmscon_avail=no
-if test ! "x$enable_kmscon" = "xno" ; then
-        if test "x$eloop_avail" = "xno" ; then
-                kmscon_avail=no
-        elif test "x$tsm_avail" = "xno" ; then
-                kmscon_avail=no
-        elif test "x$uterm_avail" = "xno" ; then
-                kmscon_avail=no
-        else
-                kmscon_avail=yes
-        fi
-
-        if test "x$enable_kmscon" = "xyes" ; then
-                if test "x$kmscon_avail" = "xno" ; then
-                        AC_ERROR([eloop, TSM or uterm cannot be built for kmscon])
-                fi
-        fi
-fi
-
-# wlterm
-wlterm_avail=no
-if test ! "x$enable_wlterm" = "xno" ; then
-        if test "x$tsm_avail" = "xno" ; then
-                wlterm_avail=no
-        elif test "x$eloop_avail" = "xno" ; then
-                wlterm_avail=no
-        elif test ! "x$have_wayland" = "xyes" ; then
-                wlterm_avail=no
-        else
-                wlterm_avail=yes
-        fi
-
-        if test "x$enable_wlterm" = "xyes" ; then
-                if test "x$wlterm_avail" = "xno" ; then
-                        AC_ERROR([wayland, eloop or TSM cannot be built for wlterm])
-                fi
-        fi
+        session_terminal_avail=yes
+else
+        session_terminal_missing="enable-session-terminal"
 fi
 
 #
@@ -612,40 +493,11 @@ fi
 # needs them. This is done top-down of course.
 #
 
-# wlterm
-wlterm_enabled=no
-if test "x$wlterm_avail" = "xyes" ; then
-        if test "x${enable_wlterm% *}" = "xyes" ; then
-                wlterm_enabled=yes
-                enable_eloop=yes
-                enable_tsm=yes
-        fi
-fi
-
-# kmscon
-kmscon_enabled=no
-if test "x$kmscon_avail" = "xyes" ; then
-        if test "x${enable_kmscon% *}" = "xyes" ; then
-                kmscon_enabled=yes
-                enable_eloop=yes
-                enable_uterm=yes
-        fi
-fi
-
-# session cdev
-session_cdev_enabled=no
-if test "x$session_cdev_avail" = "xyes" ; then
-        if test "x${enable_session_cdev% *}" = "xyes" ; then
-                session_cdev_enabled=yes
-        fi
-fi
-
 # session terminal
 session_terminal_enabled=no
 if test "x$session_terminal_avail" = "xyes" ; then
         if test "x${enable_session_terminal% *}" = "xyes" ; then
                 session_terminal_enabled=yes
-                enable_tsm=yes
         fi
 fi
 
@@ -665,14 +517,6 @@ if test "x$font_pango_avail" = "xyes" ; then
         fi
 fi
 
-# font freetype2
-font_freetype2_enabled=no
-if test "x$font_freetype2_avail" = "xyes" ; then
-        if test "x${enable_font_freetype2% *}" = "xyes" ; then
-                font_freetype2_enabled=yes
-        fi
-fi
-
 # font unifont
 font_unifont_enabled=no
 if test "x$font_unifont_avail" = "xyes" ; then
@@ -681,14 +525,6 @@ if test "x$font_unifont_avail" = "xyes" ; then
         fi
 fi
 
-# font 8x16
-font_8x16_enabled=no
-if test "x$font_8x16_avail" = "xyes" ; then
-        if test "x${enable_font_8x16% *}" = "xyes" ; then
-                font_8x16_enabled=yes
-        fi
-fi
-
 # renderer gltex
 renderer_gltex_enabled=no
 if test "x$renderer_gltex_avail" = "xyes" ; then
@@ -697,6 +533,14 @@ if test "x$renderer_gltex_avail" = "xyes" ; then
         fi
 fi
 
+# renderer pixman
+renderer_pixman_enabled=no
+if test "x$renderer_pixman_avail" = "xyes" ; then
+        if test "x${enable_renderer_pixman% *}" = "xyes" ; then
+                renderer_pixman_enabled=yes
+        fi
+fi
+
 # renderer bbulk
 renderer_bbulk_enabled=no
 if test "x$renderer_bbulk_avail" = "xyes" ; then
@@ -705,30 +549,6 @@ if test "x$renderer_bbulk_avail" = "xyes" ; then
         fi
 fi
 
-# renderer bblit
-renderer_bblit_enabled=no
-if test "x$renderer_bblit_avail" = "xyes" ; then
-        if test "x${enable_renderer_bblit% *}" = "xyes" ; then
-                renderer_bblit_enabled=yes
-        fi
-fi
-
-# pciaccess
-pciaccess_enabled=no
-if test "x$pciaccess_avail" = "xyes" ; then
-        if test "x${enable_pciaccess% *}" = "xyes" ; then
-                pciaccess_enabled=yes
-        fi
-fi
-
-# hotplug
-hotplug_enabled=no
-if test "x$hotplug_avail" = "xyes" ; then
-        if test "x${enable_hotplug% *}" = "xyes" ; then
-                hotplug_enabled=yes
-        fi
-fi
-
 # multi-seat
 multi_seat_enabled=no
 if test "x$multi_seat_avail" = "xyes" ; then
@@ -737,27 +557,19 @@ if test "x$multi_seat_avail" = "xyes" ; then
         fi
 fi
 
-# uterm
-uterm_enabled=no
-if test "x$uterm_avail" = "xyes" ; then
-        if test "x${enable_uterm% *}" = "xyes" ; then
-                uterm_enabled=yes
+# video drm3d
+video_drm3d_enabled=no
+if test "x$video_drm3d_avail" = "xyes" ; then
+        if test "x${enable_video_drm3d% *}" = "xyes" ; then
+                video_drm3d_enabled=yes
         fi
 fi
 
-# video drm
-video_drm_enabled=no
-if test "x$video_drm_avail" = "xyes" ; then
-        if test "x${enable_video_drm% *}" = "xyes" ; then
-                video_drm_enabled=yes
-        fi
-fi
-
-# video dumb
-video_dumb_enabled=no
-if test "x$video_dumb_avail" = "xyes" ; then
-        if test "x${enable_video_dumb% *}" = "xyes" ; then
-                video_dumb_enabled=yes
+# video drm2d
+video_drm2d_enabled=no
+if test "x$video_drm2d_avail" = "xyes" ; then
+        if test "x${enable_video_drm2d% *}" = "xyes" ; then
+                video_drm2d_enabled=yes
         fi
 fi
 
@@ -769,30 +581,6 @@ if test "x$video_fbdev_avail" = "xyes" ; then
         fi
 fi
 
-# tsm
-tsm_enabled=no
-if test "x$tsm_avail" = "xyes" ; then
-        if test "x${enable_tsm% *}" = "xyes" ; then
-                tsm_enabled=yes
-        fi
-fi
-
-# eloop
-eloop_enabled=no
-if test "x$eloop_avail" = "xyes" ; then
-        if test "x${enable_eloop% *}" = "xyes" ; then
-                eloop_enabled=yes
-        fi
-fi
-
-# eloop-dbus
-eloop_dbus_enabled=no
-if test "x$eloop_dbus_avail" = "xyes" ; then
-        if test "x${enable_eloop_dbus% *}" = "xyes" ; then
-                eloop_dbus_enabled=yes
-        fi
-fi
-
 # optimizations
 optimizations_enabled=no
 if test "x$optimizations_avail" = "xyes" ; then
@@ -831,18 +619,6 @@ AM_CONDITIONAL([BUILD_ENABLE_DEBUG],
 AM_CONDITIONAL([BUILD_ENABLE_OPTIMIZATIONS],
                [test "x$optimizations_enabled" = "xyes"])
 
-# eloop-dbus
-AM_CONDITIONAL([BUILD_ENABLE_ELOOP_DBUS],
-               [test "x$eloop_dbus_enabled" = "xyes"])
-
-# eloop
-AM_CONDITIONAL([BUILD_ENABLE_ELOOP],
-               [test "x$eloop_enabled" = "xyes"])
-
-# TSM
-AM_CONDITIONAL([BUILD_ENABLE_TSM],
-               [test "x$tsm_enabled" = "xyes"])
-
 # video fbdev
 if test "x$video_fbdev_enabled" = "xyes" ; then
         AC_DEFINE([BUILD_ENABLE_VIDEO_FBDEV], [1],
@@ -852,27 +628,23 @@ fi
 AM_CONDITIONAL([BUILD_ENABLE_VIDEO_FBDEV],
                [test "x$video_fbdev_enabled" = "xyes"])
 
-# video dumb
-if test "x$video_dumb_enabled" = "xyes" ; then
-        AC_DEFINE([BUILD_ENABLE_VIDEO_DUMB], [1],
-                  [Build uterm dumb drm video backend])
+# video drm2d
+if test "x$video_drm2d_enabled" = "xyes" ; then
+        AC_DEFINE([BUILD_ENABLE_VIDEO_DRM2D], [1],
+                  [Build uterm drm2d drm3d video backend])
 fi
 
-AM_CONDITIONAL([BUILD_ENABLE_VIDEO_DUMB],
-               [test "x$video_dumb_enabled" = "xyes"])
+AM_CONDITIONAL([BUILD_ENABLE_VIDEO_DRM2D],
+               [test "x$video_drm2d_enabled" = "xyes"])
 
-# video drm
-if test "x$video_drm_enabled" = "xyes" ; then
-        AC_DEFINE([BUILD_ENABLE_VIDEO_DRM], [1],
-                  [Build uterm drm video backend])
+# video drm3d
+if test "x$video_drm3d_enabled" = "xyes" ; then
+        AC_DEFINE([BUILD_ENABLE_VIDEO_DRM3D], [1],
+                  [Build uterm drm3d video backend])
 fi
 
-AM_CONDITIONAL([BUILD_ENABLE_VIDEO_DRM],
-               [test "x$video_drm_enabled" = "xyes"])
-
-# uterm
-AM_CONDITIONAL([BUILD_ENABLE_UTERM],
-               [test "x$uterm_enabled" = "xyes"])
+AM_CONDITIONAL([BUILD_ENABLE_VIDEO_DRM3D],
+               [test "x$video_drm3d_enabled" = "xyes"])
 
 # multi-seat
 if test "x$multi_seat_enabled" = "xyes" ; then
@@ -883,33 +655,6 @@ fi
 AM_CONDITIONAL([BUILD_ENABLE_MULTI_SEAT],
                [test "x$multi_seat_enabled" = "xyes"])
 
-# hotplug
-if test "x$hotplug_enabled" = "xyes" ; then
-        AC_DEFINE([BUILD_ENABLE_HOTPLUG], [1],
-                  [Use udev for hotplug support])
-fi
-
-AM_CONDITIONAL([BUILD_ENABLE_HOTPLUG],
-               [test "x$hotplug_enabled" = "xyes"])
-
-# pciaccess
-if test "x$pciaccess_enabled" = "xyes" ; then
-        AC_DEFINE([BUILD_ENABLE_PCIACCESS], [1],
-                  [Use pciaccess for device detection])
-fi
-
-AM_CONDITIONAL([BUILD_ENABLE_PCIACCESS],
-               [test "x$pciaccess_enabled" = "xyes"])
-
-# renderer bblit
-if test "x$renderer_bblit_enabled" = "xyes" ; then
-        AC_DEFINE([BUILD_ENABLE_RENDERER_BBLIT], [1],
-                  [Build bblit rendering backend])
-fi
-
-AM_CONDITIONAL([BUILD_ENABLE_RENDERER_BBLIT],
-               [test "x$renderer_bblit_enabled" = "xyes"])
-
 # renderer bbulk
 if test "x$renderer_bbulk_enabled" = "xyes" ; then
         AC_DEFINE([BUILD_ENABLE_RENDERER_BBULK], [1],
@@ -928,14 +673,14 @@ fi
 AM_CONDITIONAL([BUILD_ENABLE_RENDERER_GLTEX],
                [test "x$renderer_gltex_enabled" = "xyes"])
 
-# font 8x16
-if test "x$font_8x16_enabled" = "xyes" ; then
-        AC_DEFINE([BUILD_ENABLE_FONT_8X16], [1],
-                  [Build static 8x16 font backend])
+# renderer pixman
+if test "x$renderer_pixman_enabled" = "xyes" ; then
+        AC_DEFINE([BUILD_ENABLE_RENDERER_PIXMAN], [1],
+                  [Build pixman rendering backend])
 fi
 
-AM_CONDITIONAL([BUILD_ENABLE_FONT_8X16],
-               [test "x$font_8x16_enabled" = "xyes"])
+AM_CONDITIONAL([BUILD_ENABLE_RENDERER_PIXMAN],
+               [test "x$renderer_pixman_enabled" = "xyes"])
 
 # font unifont
 if test "x$font_unifont_enabled" = "xyes" ; then
@@ -946,15 +691,6 @@ fi
 AM_CONDITIONAL([BUILD_ENABLE_FONT_UNIFONT],
                [test "x$font_unifont_enabled" = "xyes"])
 
-# font freetype2
-if test "x$font_freetype2_enabled" = "xyes" ; then
-        AC_DEFINE([BUILD_ENABLE_FONT_FREETYPE2], [1],
-                  [Build freetype2 font backend])
-fi
-
-AM_CONDITIONAL([BUILD_ENABLE_FONT_FREETYPE2],
-               [test "x$font_freetype2_enabled" = "xyes"])
-
 # font pango
 if test "x$font_pango_enabled" = "xyes" ; then
         AC_DEFINE([BUILD_ENABLE_FONT_PANGO], [1],
@@ -982,27 +718,10 @@ fi
 AM_CONDITIONAL([BUILD_ENABLE_SESSION_TERMINAL],
                [test "x$session_terminal_enabled" = "xyes"])
 
-# session cdev
-if test "x$session_cdev_enabled" = "xyes" ; then
-        AC_DEFINE([BUILD_ENABLE_SESSION_CDEV], [1],
-                  [Build cdev session])
-fi
-
-AM_CONDITIONAL([BUILD_ENABLE_SESSION_CDEV],
-               [test "x$session_cdev_enabled" = "xyes"])
-
-# kmscon
-AM_CONDITIONAL([BUILD_ENABLE_KMSCON],
-               [test "x$kmscon_enabled" = "xyes"])
-
-# wlterm
-AM_CONDITIONAL([BUILD_ENABLE_WLTERM],
-               [test "x$wlterm_enabled" = "xyes"])
-
 #
 # Miscellaneous Checks
 # All checks below are independent of module checking or depend on the results
-# of it. They do not have any dependencies themself so they are not part of the
+# of it. They do not have any dependencies themselves so they are not part of the
 # module infrastructure.
 #
 
@@ -1036,6 +755,7 @@ if test x$have_gbm = xyes ; then
 fi
 
 # check for xsltproc
+AC_ARG_VAR([XSLTPROC], [xsltproc program])
 AC_PATH_PROG(XSLTPROC, xsltproc)
 AM_CONDITIONAL([BUILD_HAVE_XSLTPROC], [test "x$XSLTPROC" != "x"])
 
@@ -1054,16 +774,24 @@ else
         AC_MSG_RESULT([no])
 fi
 
+# gles2 helpers
+AM_CONDITIONAL([BUILD_HAVE_GLES2], [test "x$have_gles2" = "xyes"])
+
+# check for mandatory objcopy program
+AC_ARG_VAR([OBJCOPY], [objcopy program])
+AC_CHECK_TOOL([OBJCOPY], [objcopy], "")
+
+if test "x$OBJCOPY" = "x" ; then
+        AC_ERROR([Cannot find "objcopy" program])
+fi
+
 #
 # Makefile vars
 # After everything is configured, we correctly substitute the values for the
 # makefiles.
 #
 
-AC_CONFIG_FILES([Makefile
-                 docs/pc/libeloop.pc
-                 docs/pc/libtsm.pc
-                 docs/pc/libuterm.pc])
+AC_CONFIG_FILES([Makefile])
 AC_OUTPUT
 
 #
@@ -1074,40 +802,32 @@ AC_OUTPUT
 
 AC_MSG_NOTICE([Build configuration:
 
-  Applications and Libraries:
-               kmscon: $kmscon_enabled ($kmscon_avail)
-               wlterm: $wlterm_enabled ($wlterm_avail)
-                uterm: $uterm_enabled ($uterm_avail)
-                  tsm: $tsm_enabled ($tsm_avail)
-                eloop: $eloop_enabled ($eloop_avail)
+               prefix: $prefix
+          exec-prefix: $exec_prefix
+               libdir: $libdir
+           includedir: $includedir
 
   Miscellaneous Options:
-                debug: $debug_enabled ($debug_avail)
-        optimizations: $optimizations_enabled ($optimizations_avail)
-           multi-seat: $multi_seat_enabled ($multi_seat_avail)
-              hotplug: $hotplug_enabled ($hotplug_avail)
-            pciaccess: $pciaccess_enabled ($pciaccess_avail)
-           eloop-dbus: $eloop_dbus_enabled ($eloop_dbus_avail)
+                debug: $debug_enabled ($debug_avail: $debug_missing)
+        optimizations: $optimizations_enabled ($optimizations_avail: $optimizations_missing)
+           multi-seat: $multi_seat_enabled ($multi_seat_avail: $multi_seat_missing)
 
   Video Backends:
-                fbdev: $video_fbdev_enabled ($video_fbdev_avail)
-             dumb drm: $video_dumb_enabled ($video_dumb_avail)
-                  drm: $video_drm_enabled ($video_drm_avail)
+                fbdev: $video_fbdev_enabled ($video_fbdev_avail: $video_fbdev_missing)
+                drm2d: $video_drm2d_enabled ($video_drm2d_avail: $video_drm2d_missing)
+                drm3d: $video_drm3d_enabled ($video_drm3d_avail: $video_drm3d_missing)
 
   Font Backends:
-                 8x16: $font_8x16_enabled ($font_8x16_avail)
-              unifont: $font_unifont_enabled ($font_unifont_avail)
-            freetype2: $font_freetype2_enabled ($font_freetype2_avail)
-                pango: $font_pango_enabled ($font_pango_avail)
+              unifont: $font_unifont_enabled ($font_unifont_avail: $font_unifont_missing)
+                pango: $font_pango_enabled ($font_pango_avail: $font_pango_missing)
 
   Renderers:
-                bblit: $renderer_bblit_enabled ($renderer_bblit_avail)
-                bbulk: $renderer_bbulk_enabled ($renderer_bbulk_avail)
-                gltex: $renderer_gltex_enabled ($renderer_gltex_avail)
+                bbulk: $renderer_bbulk_enabled ($renderer_bbulk_avail: $renderer_bbulk_missing)
+                gltex: $renderer_gltex_enabled ($renderer_gltex_avail: $renderer_gltex_missing)
+               pixman: $renderer_pixman_enabled ($renderer_pixman_avail: $renderer_pixman_missing)
 
   Session Types:
-                dummy: $session_dummy_enabled ($session_dummy_avail)
-             terminal: $session_terminal_enabled ($session_terminal_avail)
-                 cdev: $session_cdev_enabled ($session_cdev_avail)
+                dummy: $session_dummy_enabled ($session_dummy_avail: $session_dummy_missing)
+             terminal: $session_terminal_enabled ($session_terminal_avail: $session_terminal_missing)
 
-        Run "make" to start compilation process])
+        Run "${MAKE-make}" to start compilation process])