shl: move githead into a source file
[platform/upstream/kmscon.git] / configure.ac
1 #
2 # Kmscon - build configuration script
3 # Copyright (c) 2012 David Herrmann <dh.herrmann@googlemail.com>
4 #
5
6 AC_PREREQ(2.68)
7
8 AC_INIT([kmscon], [7])
9 AC_SUBST(PACKAGE_URL, [https://github.com/dvdhrm/kmscon])
10 AC_CONFIG_SRCDIR([src/kmscon_main.c])
11 AC_CONFIG_AUX_DIR([build-aux])
12 AC_CONFIG_MACRO_DIR([m4])
13 AC_CONFIG_HEADER(config.h)
14 AC_USE_SYSTEM_EXTENSIONS
15 AC_SYS_LARGEFILE
16 AC_PREFIX_DEFAULT([/usr])
17 AC_CANONICAL_HOST
18
19 AM_INIT_AUTOMAKE([foreign 1.11 subdir-objects dist-bzip2 no-dist-gzip tar-pax -Wall -Werror -Wno-portability])
20 AM_SILENT_RULES([yes])
21
22 #
23 # Don't add a default "-g -O2" if CFLAGS wasn't specified. For debugging it is
24 # often more convenient to have "-g -O0". You can still override it by
25 # explicitly setting it on the command line.
26 #
27
28 : ${CFLAGS=""}
29
30 AC_PROG_CC
31 AC_PROG_CC_C99
32 AM_PROG_CC_C_O
33 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
34 AC_PROG_SED
35 AC_PROG_MKDIR_P
36 AC_PROG_LN_S
37 AC_PROG_GREP
38 AC_PROG_AWK
39
40 LT_PREREQ(2.2)
41 LT_INIT
42
43 #
44 # pkg-config dependencies
45 # This unconditionally checks for all dependencies even if they are disabled. We
46 # later look whether all required depedencies are met and finish the
47 # configuration. We group similar packages into one logical group here to avoid
48 # having variables for each single library.
49 # This, however, makes ./configure output very unintuitive error messages if a
50 # package is not found so we must make sure we print more verbose messages
51 # ourself.
52 #
53
54 PKG_CHECK_MODULES([XKBCOMMON], [xkbcommon],
55                   [have_xkbcommon=yes], [have_xkbcommon=no])
56 AC_SUBST(XKBCOMMON_CFLAGS)
57 AC_SUBST(XKBCOMMON_LIBS)
58
59 PKG_CHECK_MODULES([WAYLAND], [wayland-client wayland-server wayland-cursor],
60                   [have_wayland=yes], [have_wayland=no])
61 AC_SUBST(WAYLAND_CFLAGS)
62 AC_SUBST(WAYLAND_LIBS)
63
64 PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon libsystemd-login],
65                   [have_systemd=yes], [have_systemd=no])
66 AC_SUBST(SYSTEMD_CFLAGS)
67 AC_SUBST(SYSTEMD_LIBS)
68
69 PKG_CHECK_MODULES([UDEV], [libudev >= 172],
70                   [have_udev=yes], [have_udev=no])
71 AC_SUBST(UDEV_CFLAGS)
72 AC_SUBST(UDEV_LIBS)
73
74 PKG_CHECK_MODULES([DBUS], [dbus-1],
75                   [have_dbus=yes], [have_dbus=no])
76 AC_SUBST(DBUS_CFLAGS)
77 AC_SUBST(DBUS_LIBS)
78
79 PKG_CHECK_MODULES([DRM], [libdrm],
80                   [have_drm=yes], [have_drm=no])
81 AC_SUBST(DRM_CFLAGS)
82 AC_SUBST(DRM_LIBS)
83
84 PKG_CHECK_MODULES([GBM], [gbm],
85                   [have_gbm=yes], [have_gbm=no])
86 AC_SUBST(GBM_CFLAGS)
87 AC_SUBST(GBM_LIBS)
88
89 PKG_CHECK_MODULES([EGL], [egl],
90                   [have_egl=yes], [have_egl=no])
91 AC_SUBST(EGL_CFLAGS)
92 AC_SUBST(EGL_LIBS)
93
94 PKG_CHECK_MODULES([GLES2], [glesv2],
95                   [have_gles2=yes], [have_gles2=no])
96 AC_SUBST(GLES2_CFLAGS)
97 AC_SUBST(GLES2_LIBS)
98
99 PKG_CHECK_MODULES([FREETYPE2], [freetype2 fontconfig],
100                   [have_freetype2=yes], [have_freetype2=no])
101 AC_SUBST(FREETYPE2_CFLAGS)
102 AC_SUBST(FREETYPE2_LIBS)
103
104 PKG_CHECK_MODULES([PANGO], [pango pangoft2],
105                   [have_pango=yes], [have_pango=no])
106 AC_SUBST(PANGO_CFLAGS)
107 AC_SUBST(PANGO_LIBS)
108
109 PKG_CHECK_MODULES([FUSE], [fuse >= 2.9.0],
110                   [have_fuse=yes], [have_fuse=no])
111 AC_SUBST(FUSE_CFLAGS)
112 AC_SUBST(FUSE_LIBS)
113
114 PKG_CHECK_MODULES([CAIRO], [cairo],
115                   [have_cairo=yes], [have_cairo=no])
116 AC_SUBST(CAIRO_CFLAGS)
117 AC_SUBST(CAIRO_LIBS)
118
119 PKG_CHECK_MODULES([PIXMAN], [pixman-1],
120                   [have_pixman=yes], [have_pixman=no])
121 AC_SUBST(PIXMAN_CFLAGS)
122 AC_SUBST(PIXMAN_LIBS)
123
124 #
125 # Parse arguments
126 # This parses all arguments that are given via "--enable-XY" or "--with-XY" and
127 # saves the results in local variables. This does not check dependencies or
128 # similar but does only parse the arguments.
129 #
130
131 # eloop
132 AC_MSG_CHECKING([whether user wants eloop])
133 AC_ARG_ENABLE([eloop],
134               [AS_HELP_STRING([--enable-eloop],
135                               [build eloop library])])
136 if test "x$enable_eloop" = "x" ; then
137         enable_eloop="no (default)"
138 fi
139 AC_MSG_RESULT([$enable_eloop])
140
141 # TSM
142 AC_MSG_CHECKING([whether user wants TSM])
143 AC_ARG_ENABLE([tsm],
144               [AS_HELP_STRING([--enable-tsm],
145                               [build tsm library])])
146 if test "x$enable_tsm" = "x" ; then
147         enable_tsm="no (default)"
148 fi
149 AC_MSG_RESULT([$enable_tsm])
150
151 # UVT
152 AC_MSG_CHECKING([whether user wants UVT])
153 AC_ARG_ENABLE([uvt],
154               [AS_HELP_STRING([--enable-uvt],
155                               [build uvt library])])
156 if test "x$enable_uvt" = "x" ; then
157         enable_uvt="no (default)"
158 fi
159 AC_MSG_RESULT([$enable_uvt])
160
161 # uterm
162 AC_MSG_CHECKING([whether user wants uterm])
163 AC_ARG_ENABLE([uterm],
164               [AS_HELP_STRING([--enable-uterm],
165                               [build uterm library])])
166 if test "x$enable_uterm" = "x" ; then
167         enable_uterm="no (default)"
168 fi
169 AC_MSG_RESULT([$enable_uterm])
170
171 # kmscon
172 AC_MSG_CHECKING([whether user wants kmscon])
173 AC_ARG_ENABLE([kmscon],
174               [AS_HELP_STRING([--disable-kmscon],
175                               [do not build kmscon])])
176 if test "x$enable_kmscon" = "x" ; then
177         enable_kmscon="yes (default)"
178 fi
179 AC_MSG_RESULT([$enable_kmscon])
180
181 # wlterm
182 AC_MSG_CHECKING([whether user wants wlterm])
183 AC_ARG_ENABLE([wlterm],
184               [AS_HELP_STRING([--enable-wlterm],
185                               [build wlterm])])
186 if test "x$enable_wlterm" = "x" ; then
187         enable_wlterm="no (default)"
188 fi
189 AC_MSG_RESULT([$enable_wlterm])
190
191 # debug
192 AC_MSG_CHECKING([whether to build with debugging on])
193 AC_ARG_ENABLE([debug],
194               [AS_HELP_STRING([--enable-debug],
195                               [whether to build with debugging on])])
196 if test "x$enable_debug" = "x" ; then
197         enable_debug="yes (default)"
198 fi
199 AC_MSG_RESULT([$enable_debug])
200
201 # optimizations
202 AC_MSG_CHECKING([whether to disable code optimizations])
203 AC_ARG_ENABLE([optimizations],
204               [AS_HELP_STRING([--disable-optimizations],
205                               [whether to disable code optimizations])])
206 if test "x$enable_optimizations" = "x" ; then
207         enable_optimizations="yes (default)"
208 fi
209 AC_MSG_RESULT([$enable_optimizations])
210
211 # multi-seat
212 AC_MSG_CHECKING([whether user wants systemd for multi-seat support])
213 AC_ARG_ENABLE([multi-seat],
214               [AS_HELP_STRING([--enable-multi-seat],
215                               [enable multi-seat support with systemd])])
216 if test "x$enable_multi_seat" = "x" ; then
217         enable_multi_seat="yes (default)"
218 fi
219 AC_MSG_RESULT([$enable_multi_seat])
220
221 # hotplug
222 AC_MSG_CHECKING([whether user wants udev for device hotplug support])
223 AC_ARG_ENABLE([hotplug],
224               [AS_HELP_STRING([--enable-hotplug],
225                               [enable device hotplug support with udev])])
226 if test "x$enable_hotplug" = "x" ; then
227         enable_hotplug="yes (default)"
228 fi
229 AC_MSG_RESULT([$enable_hotplug])
230
231 # eloop-dbus
232 AC_MSG_CHECKING([whether user wants eloop dbus support])
233 AC_ARG_ENABLE([eloop-dbus],
234               [AS_HELP_STRING([--enable-eloop-dbus],
235                               [enable eloop dbus support])])
236 if test "x$enable_eloop_dbus" = "x" ; then
237         enable_eloop_dbus="no (default)"
238 fi
239 AC_MSG_RESULT([$enable_eloop_dbus])
240
241 # video backends
242 AC_MSG_CHECKING([which video backends the user wants])
243 AC_ARG_WITH([video],
244             [AS_HELP_STRING([--with-video],
245               [specify list of optional video backends])],
246             [],
247             [with_video="default"])
248 enable_video_fbdev="no"
249 enable_video_drm2d="no"
250 enable_video_drm3d="no"
251 if test "x$with_video" = "xdefault" ; then
252         enable_video_fbdev="yes (default)"
253         enable_video_drm2d="yes (default)"
254         enable_video_drm3d="yes (default)"
255         with_video="fbdev,drm2d,drm3d (default)"
256 elif test ! "x$with_video" = "x" ; then
257         SAVEIFS="$IFS"
258         IFS=","
259         for i in $with_video ; do
260                 if test "x$i" = "xfbdev" ; then
261                         enable_video_fbdev="yes"
262                 elif test "x$i" = "xdrm2d" ; then
263                         enable_video_drm2d="yes"
264                 elif test "x$i" = "xdrm3d" ; then
265                         enable_video_drm3d="yes"
266                 else
267                         IFS="$SAVEIFS"
268                         AC_ERROR([Invalid video backend $i])
269                 fi
270         done
271         IFS="$SAVEIFS"
272 fi
273 AC_MSG_RESULT([$with_video])
274
275 # renderers
276 AC_MSG_CHECKING([which render backends the user wants])
277 AC_ARG_WITH([renderers],
278             [AS_HELP_STRING([--with-renderers],
279               [specify list of optional render backends])],
280             [],
281             [with_renderers="default"])
282 enable_renderer_bbulk="no"
283 enable_renderer_gltex="no"
284 enable_renderer_cairo="no"
285 enable_renderer_pixman="no"
286 if test "x$with_renderers" = "xdefault" ; then
287         enable_renderer_bbulk="yes (default)"
288         enable_renderer_gltex="yes (default)"
289         enable_renderer_cairo="no (default)"
290         enable_renderer_pixman="no (default)"
291         with_renderers="bbulk,gltex (default)"
292 elif test ! "x$with_renderers" = "x" ; then
293         SAVEIFS="$IFS"
294         IFS=","
295         for i in $with_renderers ; do
296                 if test "x$i" = "xbbulk" ; then
297                         enable_renderer_bbulk="yes"
298                 elif test "x$i" = "xgltex" ; then
299                         enable_renderer_gltex="yes"
300                 elif test "x$i" = "xcairo" ; then
301                         enable_renderer_cairo="yes"
302                 elif test "x$i" = "xpixman" ; then
303                         enable_renderer_pixman="yes"
304                 else
305                         IFS="$SAVEIFS"
306                         AC_ERROR([Unknown renderer $i])
307                 fi
308         done
309         IFS="$SAVEIFS"
310 fi
311 AC_MSG_RESULT([$with_renderers])
312
313 # font backends
314 AC_MSG_CHECKING([which font backends the user wants])
315 AC_ARG_WITH([fonts],
316             [AS_HELP_STRING([--with-fonts],
317               [specify list of optional font backends])],
318             [],
319             [with_fonts="default"])
320 enable_font_unifont="no"
321 enable_font_freetype2="no"
322 enable_font_pango="no"
323 if test "x$with_fonts" = "xdefault" ; then
324         enable_font_unifont="yes (default)"
325         enable_font_freetype2="no (default)"
326         enable_font_pango="yes (default)"
327         with_fonts="unifont,pango (default)"
328 elif test ! "x$with_fonts" = "x" ; then
329         SAVEIFS="$IFS"
330         IFS=","
331         for i in $with_fonts ; do
332                 if test "x$i" = "xunifont" ; then
333                         enable_font_unifont="yes"
334                 elif test "x$i" = "xfreetype2" ; then
335                         enable_font_freetype2="yes"
336                 elif test "x$i" = "xpango" ; then
337                         enable_font_pango="yes"
338                 else
339                         IFS="$SAVEIFS"
340                         AC_ERROR([Unknown font backend $i])
341                 fi
342         done
343         IFS="$SAVEIFS"
344 fi
345 AC_MSG_RESULT([$with_fonts])
346
347 # kmscon sessions
348 AC_MSG_CHECKING([which sessions the user wants])
349 AC_ARG_WITH([sessions],
350             [AS_HELP_STRING([--with-sessions],
351               [specify list of optional sessions])],
352             [],
353             [with_sessions="default"])
354 enable_session_dummy="no"
355 enable_session_terminal="no"
356 enable_session_cdev="no"
357 if test "x$with_sessions" = "xdefault" ; then
358         enable_session_dummy="yes (default)"
359         enable_session_terminal="yes (default)"
360         enable_session_cdev="yes (default)"
361         with_sessions="dummy,terminal,cdev (default)"
362 elif test ! "x$with_sessions" = "x" ; then
363         SAVEIFS="$IFS"
364         IFS=","
365         for i in $with_sessions ; do
366                 if test "x$i" = "xdummy" ; then
367                         enable_session_dummy="yes"
368                 elif test "x$i" = "xterminal" ; then
369                         enable_session_terminal="yes"
370                 elif test "x$i" = "xcdev" ; then
371                         enable_session_cdev="yes"
372                 else
373                         IFS="$SAVEIFS"
374                         AC_ERROR([Unknown session type $i])
375                 fi
376         done
377         IFS="$SAVEIFS"
378 fi
379 AC_MSG_RESULT([$with_sessions])
380
381 #
382 # Check what can be built
383 # This checks each configuration option and tests whether all dependencies are
384 # met. This is done from bottom up to ensure the right order.
385 #
386
387 # debug
388 debug_avail=no
389 debug_missing=""
390 if test ! "x$enable_debug" = "xno" ; then
391         debug_avail=yes
392 else
393         debug_missing="enable-debug"
394 fi
395
396 # optimizations
397 optimizations_avail=no
398 optimizations_missing=""
399 if test ! "x$enable_optimizations" = "xno" ; then
400         optimizations_avail=yes
401 else
402         optimizations_missing="enable-optimizations"
403 fi
404
405 # eloop-dbus
406 eloop_dbus_avail=no
407 eloop_dbus_missing=""
408 if test ! "x$enable_eloop_dbus" = "xno" ; then
409         eloop_dbus_avail=yes
410         if test "x$have_dbus" = "xno" ; then
411                 eloop_dbus_avail=no
412                 eloop_dbus_missing="libdbus"
413         fi
414
415         if test "x$eloop_dbus_avail" = "xno" ; then
416                 if test "x$enable_eloop_dbus" = "xyes" ; then
417                         AC_ERROR([missing for eloop-dbus: $eloop_dbus_missing])
418                 fi
419         fi
420 else
421         eloop_dbus_missing="enable-eloop-dbus"
422 fi
423
424 # eloop
425 eloop_avail=no
426 eloop_missing=""
427 if test ! "x$enable_eloop" = "xno" ; then
428         eloop_avail=yes
429 else
430         eloop_missing="enable-eloop"
431 fi
432
433 # TSM
434 tsm_avail=no
435 tsm_missing=""
436 if test ! "x$enable_tsm" = "xno" ; then
437         tsm_avail=yes
438         if test "x$have_xkbcommon" = "xno" ; then
439                 tsm_avail=no
440                 tsm_missing="libxkbcommon"
441         fi
442
443         if test "x$tsm_avail" = "xno" ; then
444                 if test "x$enable_tsm" = "xyes" ; then
445                         AC_ERROR([missing for TSM: $tsm_missing])
446                 fi
447         fi
448 else
449         tsm_missing="enable-tsm"
450 fi
451
452 # UVT
453 uvt_avail=no
454 uvt_missing=""
455 if test ! "x$enable_uvt" = "xno" ; then
456         uvt_avail=yes
457         if test "x$have_fuse" = "xno" ; then
458                 uvt_avail=no
459                 uvt_missing="fuse"
460         fi
461
462         if test "x$uvt_avail" = "xno" ; then
463                 if test "x$enable_uvt" = "xyes" ; then
464                         AC_ERROR([missing for UVT: $uvt_missing])
465                 fi
466         fi
467 else
468         uvt_missing="enable-uvt"
469 fi
470
471 # video fbdev
472 video_fbdev_avail=no
473 video_fbdev_missing=""
474 if test ! "x$enable_video_fbdev" = "xno" ; then
475         # TODO: check for kernel headers
476         video_fbdev_avail=yes
477 else
478         video_fbdev_missing="enable-video-fbdev"
479 fi
480
481 # video drm2d
482 video_drm2d_avail=no
483 video_drm2d_missing=""
484 if test ! "x$enable_video_drm2d" = "xno" ; then
485         video_drm2d_avail=yes
486         if test "x$have_drm3d" = "xno" ; then
487                 video_drm2d_avail=no
488                 video_drm2d_missing="libdrm3d"
489         fi
490
491         if test "x$video_drm2d_avail" = "xno" ; then
492                 if test "x$enable_video_drm2d" = "xyes" ; then
493                         AC_ERROR([missing for drm2d video backend: $video_drm2d_missing])
494                 fi
495         fi
496 else
497         video_drm2d_missing="enable-video-drm2d"
498 fi
499
500 # video drm3d
501 video_drm3d_avail=no
502 video_drm3d_missing=""
503 if test ! "x$enable_video_drm3d" = "xno" ; then
504         video_drm3d_avail=yes
505         if test "x$have_drm3d" = "xno" ; then
506                 video_drm3d_avail=no
507                 video_drm3d_missing="libdrm3d,$video_drm3d_missing"
508         fi
509         if test "x$have_gbm" = "xno" ; then
510                 video_drm3d_avail=no
511                 video_drm3d_missing="libgbm,$video_drm3d_missing"
512         fi
513         if test "x$have_egl" = "xno" ; then
514                 video_drm3d_avail=no
515                 video_drm3d_missing="libegl,$video_drm3d_missing"
516         fi
517         if test "x$have_gles2" = "xno" ; then
518                 video_drm3d_avail=no
519                 video_drm3d_missing="libgles2,$video_drm3d_missing"
520         fi
521
522         if test "x$video_drm3d_avail" = "xno" ; then
523                 if test "x$enable_video_drm3d" = "xyes" ; then
524                         AC_ERROR([missing for drm3d video backend: $video_drm3d_missing])
525                 fi
526         fi
527 else
528         video_drm3d_missing="enable-video-drm3d"
529 fi
530
531 # uterm
532 uterm_avail=no
533 uterm_missing=""
534 if test ! "x$enable_uterm" = "xno" ; then
535         uterm_avail=yes
536 else
537         uterm_missing="enable-uterm"
538 fi
539
540 # multi-seat
541 multi_seat_avail=no
542 multi_seat_missing=""
543 if test ! "x$enable_multi_seat" = "xno" ; then
544         multi_seat_avail=yes
545         if test "x$have_systemd" = "xno" ; then
546                 multi_seat_avail=no
547                 multi_seat_missing="libsystemd"
548         fi
549
550         if test "x$multi_seat_avail" = "xno" ; then
551                 if test "x$enable_multi_seat" = "xyes" ; then
552                         AC_ERROR([missing for multi-seat support: $multi_seat_missing])
553                 fi
554         fi
555 else
556         multi_seat_missing="enable-multi-seat"
557 fi
558
559 # hotplug
560 hotplug_avail=no
561 hotplug_missing=""
562 if test ! "x$enable_hotplug" = "xno" ; then
563         hotplug_avail=yes
564         if test "x$have_udev" = "xno" ; then
565                 hotplug_avail=no
566                 hotplug_missing="libudev"
567         fi
568
569         if test "x$hotplug_avail" = "xno" ; then
570                 if test "x$enable_hotplug" = "xyes" ; then
571                         AC_ERROR([missing for hotplug-support: $hotplug_missing])
572                 fi
573         fi
574 else
575         hotplug_missing="enable-hotplug"
576 fi
577
578 # renderer bbulk
579 renderer_bbulk_avail=no
580 renderer_bbulk_missing=""
581 if test ! "x$enable_renderer_bbulk" = "xno" ; then
582         renderer_bbulk_avail=yes
583 else
584         renderer_bbulk_missing="enable-renderer-bbulk"
585 fi
586
587 # renderer gltex
588 renderer_gltex_avail=no
589 renderer_gltex_missing=""
590 if test ! "x$enable_renderer_gltex" = "xno" ; then
591         renderer_gltex_avail=yes
592         if test "x$have_gles2" = "xno" ; then
593                 renderer_gltex_avail=no
594                 renderer_gltex_missing="libgles2"
595         fi
596
597         if test "x$renderer_gltex_avail" = "xno" ; then
598                 if test "x$enable_renderer_gltex" = "xyes" ; then
599                         AC_ERROR([missing for renderer-gltex: $renderer_gltex_missing])
600                 fi
601         fi
602 else
603         renderer_gltex_missing="enable-renderer-gltex"
604 fi
605
606 # renderer cairo
607 renderer_cairo_avail=no
608 renderer_cairo_missing=""
609 if test ! "x$enable_renderer_cairo" = "xno" ; then
610         renderer_cairo_avail=yes
611         if test "x$have_cairo" = "xno" ; then
612                 renderer_cairo_avail=no
613                 renderer_cairo_missing="cairo"
614         fi
615
616         if test "x$renderer_cairo_avail" = "xno" ; then
617                 if test "x$enable_renderer_cairo" = "xyes" ; then
618                         AC_ERROR([missing for renderer-cairo: $renderer_cairo_missing])
619                 fi
620         fi
621 else
622         renderer_cairo_missing="enable-renderer-cairo"
623 fi
624
625 # renderer pixman
626 renderer_pixman_avail=no
627 renderer_pixman_missing=""
628 if test ! "x$enable_renderer_pixman" = "xno" ; then
629         renderer_pixman_avail=yes
630         if test "x$have_pixman" = "xno" ; then
631                 renderer_pixman_avail=no
632                 renderer_pixman_missing="pixman"
633         fi
634
635         if test "x$renderer_pixman_avail" = "xno" ; then
636                 if test "x$enable_renderer_pixman" = "xyes" ; then
637                         AC_ERROR([missing for renderer-pixman: $renderer_pixman_missing])
638                 fi
639         fi
640 else
641         renderer_pixman_missing="enable-renderer-pixman"
642 fi
643
644 # font unifont
645 font_unifont_avail=no
646 font_unifont_missing=""
647 if test ! "x$enable_font_unifont" = "xno" ; then
648         font_unifont_avail=yes
649 else
650         font_unifont_missing="enable-font-unifont"
651 fi
652
653 # font freetype2
654 font_freetype2_avail=no
655 font_freetype2_missing=""
656 if test ! "x$enable_font_freetype2" = "xno" ; then
657         font_freetype2_avail=yes
658         if test "x$have_freetype2" = "xno" ; then
659                 font_freetype2_avail=no
660                 font_freetype2_missing="libfontconfig,libfreetype2"
661         fi
662
663         if test "x$font_freetype2_avail" = "xno" ; then
664                 if test "x$enable_font_freetype2" = "xyes" ; then
665                         AC_ERROR([missing for font-freetype2: $font_freetype2_missing])
666                 fi
667         fi
668 else
669         font_freetype2_missing="enable-font-freetype2"
670 fi
671
672 # font pango
673 font_pango_avail=no
674 font_pango_missing=""
675 if test ! "x$enable_font_pango" = "xno" ; then
676         font_pango_avail=yes
677         if test "x$have_pango" = "xno" ; then
678                 font_pango_avail=no
679                 font_pango_missing="libpango"
680         fi
681
682         if test "x$font_pango_avail" = "xno" ; then
683                 if test "x$enable_font_pango" = "xyes" ; then
684                         AC_ERROR([missing for font-pango: $font_pango_missing])
685                 fi
686         fi
687 else
688         font_pango_missing="enable-font-pango"
689 fi
690
691 # session dummy
692 session_dummy_avail=no
693 session_dummy_missing=""
694 if test ! "x$enable_session_dummy" = "xno" ; then
695         session_dummy_avail=yes
696 else
697         session_dummy_missing="enable-session-dummy"
698 fi
699
700 # session terminal
701 session_terminal_avail=no
702 session_terminal_missing=""
703 if test ! "x$enable_session_terminal" = "xno" ; then
704         session_terminal_avail=yes
705         if test "x$tsm_avail" = "xno" ; then
706                 session_terminal_avail=no
707                 session_terminal_missing="$tsm_missing"
708         fi
709
710         if test "x$session_terminal_avail" = "xno" ; then
711                 if test "x$enable_session_terminal" = "xyes" ; then
712                         AC_ERROR([missing for session-terminal: $session_terminal_missing])
713                 fi
714         fi
715 else
716         session_terminal_missing="enable-session-terminal"
717 fi
718
719 # session cdev
720 session_cdev_avail=no
721 session_cdev_missing=""
722 if test ! "x$enable_session_cdev" = "xno" ; then
723         session_cdev_avail=yes
724         if test "x$have_fuse" = "xno" ; then
725                 session_cdev_avail=no
726                 session_cdev_missing="libfuse,$session_cdev_missing"
727         fi
728
729         if test "x$tsm_avail" = "xno" ; then
730                 session_cdev_avail=no
731                 session_cdev_missing="$tsm_missing,$session_cdev_missing"
732         fi
733
734         if test "x$session_cdev_avail" = "xno" ; then
735                 if test "x$enable_session_cdev" = "xyes" ; then
736                         AC_ERROR([missing for session-cdev: $session_cdev_missing])
737                 fi
738         fi
739 else
740         session_cdev_missing="enable-session-cdev"
741 fi
742
743 # kmscon
744 kmscon_avail=no
745 kmscon_missing=""
746 if test ! "x$enable_kmscon" = "xno" ; then
747         kmscon_avail=yes
748         if test "x$eloop_avail" = "xno" ; then
749                 kmscon_avail=no
750                 kmscon_missing="$eloop_missing,$kmscon_missing"
751         fi
752
753         if test "x$tsm_avail" = "xno" ; then
754                 kmscon_avail=no
755                 kmscon_missing="$tsm_missing,$kmscon_missing"
756         fi
757
758         if test "x$uterm_avail" = "xno" ; then
759                 kmscon_avail=no
760                 kmscon_missing="$uterm_missing,$kmscon_missing"
761         fi
762
763         if test "x$kmscon_avail" = "xno" ; then
764                 if test "x$enable_kmscon" = "xyes" ; then
765                         AC_ERROR([missing for kmscon: $kmscon_missing])
766                 fi
767         fi
768 else
769         kmscon_missing="enable-kmscon"
770 fi
771
772 # wlterm
773 wlterm_avail=no
774 wlterm_missing=""
775 if test ! "x$enable_wlterm" = "xno" ; then
776         wlterm_avail=yes
777         if test "x$tsm_avail" = "xno" ; then
778                 wlterm_avail=no
779                 wlterm_missing="$tsm_missing,$wlterm_missing"
780         fi
781
782         if test "x$eloop_avail" = "xno" ; then
783                 wlterm_avail=no
784                 wlterm_missing="$eloop_missing,$wlterm_missing"
785         fi
786
787         if test "x$font_pango_avail" = "xno" ; then
788                 wlterm_avail=no
789                 wlterm_missing="$font_pango_missing,$wlterm_missing"
790         fi
791
792         if test "x$have_wayland" = "xno" ; then
793                 wlterm_avail=no
794                 wlterm_missing="libwayland,$wlterm_missing"
795         fi
796
797         if test "x$wlterm_avail" = "xno" ; then
798                 if test "x$enable_wlterm" = "xyes" ; then
799                         AC_ERROR([missing for wlterm: $wlterm_missing])
800                 fi
801         fi
802 else
803         wlterm_missing="enable-wlterm"
804 fi
805
806 #
807 # Enable all required modules
808 # We now know which modules can be built by checking the *_avail variables set
809 # above. We now only have to disable all modules that are disabled by default
810 # and the user didn't force-enable them and no other module that is enabled
811 # needs them. This is done top-down of course.
812 #
813
814 # wlterm
815 wlterm_enabled=no
816 if test "x$wlterm_avail" = "xyes" ; then
817         if test "x${enable_wlterm% *}" = "xyes" ; then
818                 wlterm_enabled=yes
819                 enable_eloop=yes
820                 enable_tsm=yes
821                 enable_font_pango=yes
822         fi
823 fi
824
825 # kmscon
826 kmscon_enabled=no
827 if test "x$kmscon_avail" = "xyes" ; then
828         if test "x${enable_kmscon% *}" = "xyes" ; then
829                 kmscon_enabled=yes
830                 enable_eloop=yes
831                 enable_uterm=yes
832         fi
833 fi
834
835 # session cdev
836 session_cdev_enabled=no
837 if test "x$session_cdev_avail" = "xyes" ; then
838         if test "x${enable_session_cdev% *}" = "xyes" ; then
839                 session_cdev_enabled=yes
840         fi
841 fi
842
843 # session terminal
844 session_terminal_enabled=no
845 if test "x$session_terminal_avail" = "xyes" ; then
846         if test "x${enable_session_terminal% *}" = "xyes" ; then
847                 session_terminal_enabled=yes
848                 enable_tsm=yes
849         fi
850 fi
851
852 # session dummy
853 session_dummy_enabled=no
854 if test "x$session_dummy_avail" = "xyes" ; then
855         if test "x${enable_session_dummy% *}" = "xyes" ; then
856                 session_dummy_enabled=yes
857         fi
858 fi
859
860 # font pango
861 font_pango_enabled=no
862 if test "x$font_pango_avail" = "xyes" ; then
863         if test "x${enable_font_pango% *}" = "xyes" ; then
864                 font_pango_enabled=yes
865         fi
866 fi
867
868 # font freetype2
869 font_freetype2_enabled=no
870 if test "x$font_freetype2_avail" = "xyes" ; then
871         if test "x${enable_font_freetype2% *}" = "xyes" ; then
872                 font_freetype2_enabled=yes
873         fi
874 fi
875
876 # font unifont
877 font_unifont_enabled=no
878 if test "x$font_unifont_avail" = "xyes" ; then
879         if test "x${enable_font_unifont% *}" = "xyes" ; then
880                 font_unifont_enabled=yes
881         fi
882 fi
883
884 # renderer gltex
885 renderer_gltex_enabled=no
886 if test "x$renderer_gltex_avail" = "xyes" ; then
887         if test "x${enable_renderer_gltex% *}" = "xyes" ; then
888                 renderer_gltex_enabled=yes
889         fi
890 fi
891
892 # renderer cairo
893 renderer_cairo_enabled=no
894 if test "x$renderer_cairo_avail" = "xyes" ; then
895         if test "x${enable_renderer_cairo% *}" = "xyes" ; then
896                 renderer_cairo_enabled=yes
897         fi
898 fi
899
900 # renderer pixman
901 renderer_pixman_enabled=no
902 if test "x$renderer_pixman_avail" = "xyes" ; then
903         if test "x${enable_renderer_pixman% *}" = "xyes" ; then
904                 renderer_pixman_enabled=yes
905         fi
906 fi
907
908 # renderer bbulk
909 renderer_bbulk_enabled=no
910 if test "x$renderer_bbulk_avail" = "xyes" ; then
911         if test "x${enable_renderer_bbulk% *}" = "xyes" ; then
912                 renderer_bbulk_enabled=yes
913         fi
914 fi
915
916 # hotplug
917 hotplug_enabled=no
918 if test "x$hotplug_avail" = "xyes" ; then
919         if test "x${enable_hotplug% *}" = "xyes" ; then
920                 hotplug_enabled=yes
921         fi
922 fi
923
924 # multi-seat
925 multi_seat_enabled=no
926 if test "x$multi_seat_avail" = "xyes" ; then
927         if test "x${enable_multi_seat% *}" = "xyes" ; then
928                 multi_seat_enabled=yes
929         fi
930 fi
931
932 # uterm
933 uterm_enabled=no
934 if test "x$uterm_avail" = "xyes" ; then
935         if test "x${enable_uterm% *}" = "xyes" ; then
936                 uterm_enabled=yes
937         fi
938 fi
939
940 # video drm3d
941 video_drm3d_enabled=no
942 if test "x$video_drm3d_avail" = "xyes" ; then
943         if test "x${enable_video_drm3d% *}" = "xyes" ; then
944                 video_drm3d_enabled=yes
945         fi
946 fi
947
948 # video drm2d
949 video_drm2d_enabled=no
950 if test "x$video_drm2d_avail" = "xyes" ; then
951         if test "x${enable_video_drm2d% *}" = "xyes" ; then
952                 video_drm2d_enabled=yes
953         fi
954 fi
955
956 # video fbdev
957 video_fbdev_enabled=no
958 if test "x$video_fbdev_avail" = "xyes" ; then
959         if test "x${enable_video_fbdev% *}" = "xyes" ; then
960                 video_fbdev_enabled=yes
961         fi
962 fi
963
964 # UVT
965 uvt_enabled=no
966 if test "x$uvt_avail" = "xyes" ; then
967         if test "x${enable_uvt% *}" = "xyes" ; then
968                 uvt_enabled=yes
969         fi
970 fi
971
972 # tsm
973 tsm_enabled=no
974 if test "x$tsm_avail" = "xyes" ; then
975         if test "x${enable_tsm% *}" = "xyes" ; then
976                 tsm_enabled=yes
977         fi
978 fi
979
980 # eloop
981 eloop_enabled=no
982 if test "x$eloop_avail" = "xyes" ; then
983         if test "x${enable_eloop% *}" = "xyes" ; then
984                 eloop_enabled=yes
985         fi
986 fi
987
988 # eloop-dbus
989 eloop_dbus_enabled=no
990 if test "x$eloop_dbus_avail" = "xyes" ; then
991         if test "x${enable_eloop_dbus% *}" = "xyes" ; then
992                 eloop_dbus_enabled=yes
993         fi
994 fi
995
996 # optimizations
997 optimizations_enabled=no
998 if test "x$optimizations_avail" = "xyes" ; then
999         if test "x${enable_optimizations% *}" = "xyes" ; then
1000                 optimizations_enabled=yes
1001         fi
1002 fi
1003
1004 # debug
1005 debug_enabled=no
1006 if test "x$debug_avail" = "xyes" ; then
1007         if test "x${enable_debug% *}" = "xyes" ; then
1008                 debug_enabled=yes
1009         fi
1010 fi
1011
1012 #
1013 # Module Configuration
1014 # We have now done all dependency checking and default-value validation and we
1015 # now know which modules are enabled via the *_enabled variables.
1016 # Everything below is related to the configuration of each module and setting
1017 # the correct flags for the build process.
1018 #
1019
1020 # debug
1021 if test "x$debug_enabled" = "xyes" ; then
1022         AC_DEFINE([BUILD_ENABLE_DEBUG], [1], [Enable debug mode])
1023 else
1024         AC_DEFINE([NDEBUG], [1], [No Debug])
1025 fi
1026
1027 AM_CONDITIONAL([BUILD_ENABLE_DEBUG],
1028                [test "x$debug_enabled" = "xyes"])
1029
1030 # optimizations
1031 AM_CONDITIONAL([BUILD_ENABLE_OPTIMIZATIONS],
1032                [test "x$optimizations_enabled" = "xyes"])
1033
1034 # eloop-dbus
1035 AM_CONDITIONAL([BUILD_ENABLE_ELOOP_DBUS],
1036                [test "x$eloop_dbus_enabled" = "xyes"])
1037
1038 # eloop
1039 AM_CONDITIONAL([BUILD_ENABLE_ELOOP],
1040                [test "x$eloop_enabled" = "xyes"])
1041
1042 # TSM
1043 AM_CONDITIONAL([BUILD_ENABLE_TSM],
1044                [test "x$tsm_enabled" = "xyes"])
1045
1046 # UVT
1047 AM_CONDITIONAL([BUILD_ENABLE_UVT],
1048                [test "x$uvt_enabled" = "xyes"])
1049
1050 # video fbdev
1051 if test "x$video_fbdev_enabled" = "xyes" ; then
1052         AC_DEFINE([BUILD_ENABLE_VIDEO_FBDEV], [1],
1053                   [Build uterm fbdev video backend])
1054 fi
1055
1056 AM_CONDITIONAL([BUILD_ENABLE_VIDEO_FBDEV],
1057                [test "x$video_fbdev_enabled" = "xyes"])
1058
1059 # video drm2d
1060 if test "x$video_drm2d_enabled" = "xyes" ; then
1061         AC_DEFINE([BUILD_ENABLE_VIDEO_DRM2D], [1],
1062                   [Build uterm drm2d drm3d video backend])
1063 fi
1064
1065 AM_CONDITIONAL([BUILD_ENABLE_VIDEO_DRM2D],
1066                [test "x$video_drm2d_enabled" = "xyes"])
1067
1068 # video drm3d
1069 if test "x$video_drm3d_enabled" = "xyes" ; then
1070         AC_DEFINE([BUILD_ENABLE_VIDEO_DRM3D], [1],
1071                   [Build uterm drm3d video backend])
1072 fi
1073
1074 AM_CONDITIONAL([BUILD_ENABLE_VIDEO_DRM3D],
1075                [test "x$video_drm3d_enabled" = "xyes"])
1076
1077 # uterm
1078 AM_CONDITIONAL([BUILD_ENABLE_UTERM],
1079                [test "x$uterm_enabled" = "xyes"])
1080
1081 # multi-seat
1082 if test "x$multi_seat_enabled" = "xyes" ; then
1083         AC_DEFINE([BUILD_ENABLE_MULTI_SEAT], [1],
1084                   [Use systemd for multi-seat support])
1085 fi
1086
1087 AM_CONDITIONAL([BUILD_ENABLE_MULTI_SEAT],
1088                [test "x$multi_seat_enabled" = "xyes"])
1089
1090 # hotplug
1091 if test "x$hotplug_enabled" = "xyes" ; then
1092         AC_DEFINE([BUILD_ENABLE_HOTPLUG], [1],
1093                   [Use udev for hotplug support])
1094 fi
1095
1096 AM_CONDITIONAL([BUILD_ENABLE_HOTPLUG],
1097                [test "x$hotplug_enabled" = "xyes"])
1098
1099 # renderer bbulk
1100 if test "x$renderer_bbulk_enabled" = "xyes" ; then
1101         AC_DEFINE([BUILD_ENABLE_RENDERER_BBULK], [1],
1102                   [Build bbulk rendering backend])
1103 fi
1104
1105 AM_CONDITIONAL([BUILD_ENABLE_RENDERER_BBULK],
1106                [test "x$renderer_bbulk_enabled" = "xyes"])
1107
1108 # renderer gltex
1109 if test "x$renderer_gltex_enabled" = "xyes" ; then
1110         AC_DEFINE([BUILD_ENABLE_RENDERER_GLTEX], [1],
1111                   [Build gltex rendering backend])
1112 fi
1113
1114 AM_CONDITIONAL([BUILD_ENABLE_RENDERER_GLTEX],
1115                [test "x$renderer_gltex_enabled" = "xyes"])
1116
1117 # renderer cairo
1118 if test "x$renderer_cairo_enabled" = "xyes" ; then
1119         AC_DEFINE([BUILD_ENABLE_RENDERER_CAIRO], [1],
1120                   [Build cairo rendering backend])
1121 fi
1122
1123 AM_CONDITIONAL([BUILD_ENABLE_RENDERER_CAIRO],
1124                [test "x$renderer_cairo_enabled" = "xyes"])
1125
1126 # renderer pixman
1127 if test "x$renderer_pixman_enabled" = "xyes" ; then
1128         AC_DEFINE([BUILD_ENABLE_RENDERER_PIXMAN], [1],
1129                   [Build pixman rendering backend])
1130 fi
1131
1132 AM_CONDITIONAL([BUILD_ENABLE_RENDERER_PIXMAN],
1133                [test "x$renderer_pixman_enabled" = "xyes"])
1134
1135 # font unifont
1136 if test "x$font_unifont_enabled" = "xyes" ; then
1137         AC_DEFINE([BUILD_ENABLE_FONT_UNIFONT], [1],
1138                   [Build static unifont backend])
1139 fi
1140
1141 AM_CONDITIONAL([BUILD_ENABLE_FONT_UNIFONT],
1142                [test "x$font_unifont_enabled" = "xyes"])
1143
1144 # font freetype2
1145 if test "x$font_freetype2_enabled" = "xyes" ; then
1146         AC_DEFINE([BUILD_ENABLE_FONT_FREETYPE2], [1],
1147                   [Build freetype2 font backend])
1148 fi
1149
1150 AM_CONDITIONAL([BUILD_ENABLE_FONT_FREETYPE2],
1151                [test "x$font_freetype2_enabled" = "xyes"])
1152
1153 # font pango
1154 if test "x$font_pango_enabled" = "xyes" ; then
1155         AC_DEFINE([BUILD_ENABLE_FONT_PANGO], [1],
1156                   [Build pango font backend])
1157 fi
1158
1159 AM_CONDITIONAL([BUILD_ENABLE_FONT_PANGO],
1160                [test "x$font_pango_enabled" = "xyes"])
1161
1162 # session dummy
1163 if test "x$session_dummy_enabled" = "xyes" ; then
1164         AC_DEFINE([BUILD_ENABLE_SESSION_DUMMY], [1],
1165                   [Build dummy session])
1166 fi
1167
1168 AM_CONDITIONAL([BUILD_ENABLE_SESSION_DUMMY],
1169                [test "x$session_dummy_enabled" = "xyes"])
1170
1171 # session terminal
1172 if test "x$session_terminal_enabled" = "xyes" ; then
1173         AC_DEFINE([BUILD_ENABLE_SESSION_TERMINAL], [1],
1174                   [Build terminal session])
1175 fi
1176
1177 AM_CONDITIONAL([BUILD_ENABLE_SESSION_TERMINAL],
1178                [test "x$session_terminal_enabled" = "xyes"])
1179
1180 # session cdev
1181 if test "x$session_cdev_enabled" = "xyes" ; then
1182         AC_DEFINE([BUILD_ENABLE_SESSION_CDEV], [1],
1183                   [Build cdev session])
1184 fi
1185
1186 AM_CONDITIONAL([BUILD_ENABLE_SESSION_CDEV],
1187                [test "x$session_cdev_enabled" = "xyes"])
1188
1189 # kmscon
1190 AM_CONDITIONAL([BUILD_ENABLE_KMSCON],
1191                [test "x$kmscon_enabled" = "xyes"])
1192
1193 # wlterm
1194 AM_CONDITIONAL([BUILD_ENABLE_WLTERM],
1195                [test "x$wlterm_enabled" = "xyes"])
1196
1197 #
1198 # Miscellaneous Checks
1199 # All checks below are independent of module checking or depend on the results
1200 # of it. They do not have any dependencies themselves so they are not part of the
1201 # module infrastructure.
1202 #
1203
1204 # check for _Static_assert
1205 AC_MSG_CHECKING([whether _Static_assert() is supported])
1206 AC_LANG([C])
1207 have_static_assert=yes
1208 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[_Static_assert(1, "What?");]])],
1209                   [AC_DEFINE([BUILD_HAVE_STATIC_ASSERT],
1210                              [1],
1211                              [Define to 1 if _Static_assert() is supported])],
1212                   [have_static_assert=no])
1213 AC_MSG_RESULT([$have_static_assert])
1214
1215 # check for gbm_bo_get_pitch() function, otherwise gbm_bo_get_stride() is used
1216 if test x$have_gbm = xyes ; then
1217         save_CFLAGS="$CFLAGS"
1218         save_LIBS="$LIBS"
1219         save_LDFLAGS="$LDFLAGS"
1220         CFLAGS="$DRM_CFLAGS $GBM_CFLAGS"
1221         LIBS="$DRM_LIBS $GBM_LIBS"
1222         LDFLAGS=""
1223         AC_CHECK_LIB([gbm],
1224                      [gbm_bo_get_pitch],
1225                      [AC_DEFINE([BUILD_HAVE_GBM_BO_GET_PITCH],
1226                                 [1],
1227                                 [Define to 1 if your libgbm provides gbm_bo_get_pitch])])
1228         CFLAGS="$save_CFLAGS"
1229         LIBS="$save_LIBS"
1230         LDFLAGS="$save_LDFLAGS"
1231 fi
1232
1233 # check for xsltproc
1234 AC_PATH_PROG(XSLTPROC, xsltproc)
1235 AM_CONDITIONAL([BUILD_HAVE_XSLTPROC], [test "x$XSLTPROC" != "x"])
1236
1237 # check for offline man-pages stylesheet
1238 AC_MSG_CHECKING([for docbook manpages stylesheet])
1239 BUILD_MANPAGES_STYLESHEET="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"
1240 AC_PATH_PROGS_FEATURE_CHECK([XSLTPROC_TMP], [xsltproc],
1241                             AS_IF([`"$ac_path_XSLTPROC_TMP" --nonet "$BUILD_MANPAGES_STYLESHEET" > /dev/null 2>&1`],
1242                                   [BUILD_HAVE_MANPAGES_STYLESHEET=yes]))
1243 if test "x$BUILD_HAVE_MANPAGES_STYLESHEET" = "xyes"; then
1244         AM_CONDITIONAL([BUILD_HAVE_MANPAGES_STYLESHEET], true)
1245         AC_SUBST(BUILD_MANPAGES_STYLESHEET)
1246         AC_MSG_RESULT([yes])
1247 else
1248         AM_CONDITIONAL([BUILD_HAVE_MANPAGES_STYLESHEET], false)
1249         AC_MSG_RESULT([no])
1250 fi
1251
1252 #
1253 # Makefile vars
1254 # After everything is configured, we correctly substitute the values for the
1255 # makefiles.
1256 #
1257
1258 AC_CONFIG_FILES([Makefile
1259                  docs/pc/libeloop.pc
1260                  docs/pc/libtsm.pc
1261                  docs/pc/libuvt.pc
1262                  docs/pc/libuterm.pc])
1263 AC_OUTPUT
1264
1265 #
1266 # Configuration output
1267 # Show configuration to the user so they can check whether everything was
1268 # configured as expected.
1269 #
1270
1271 AC_MSG_NOTICE([Build configuration:
1272
1273                prefix: $prefix
1274           exec-prefix: $exec_prefix
1275                libdir: $libdir
1276            includedir: $includedir
1277
1278   Applications and Libraries:
1279                kmscon: $kmscon_enabled ($kmscon_avail: $kmscon_missing)
1280                wlterm: $wlterm_enabled ($wlterm_avail: $wlterm_missing)
1281                 uterm: $uterm_enabled ($uterm_avail: $uterm_missing)
1282                   tsm: $tsm_enabled ($tsm_avail: $tsm_missing)
1283                   uvt: $uvt_enabled ($uvt_avail: $uvt_missing)
1284                 eloop: $eloop_enabled ($eloop_avail: $eloop_missing)
1285
1286   Miscellaneous Options:
1287                 debug: $debug_enabled ($debug_avail: $debug_missing)
1288         optimizations: $optimizations_enabled ($optimizations_avail: $optimizations_missing)
1289            multi-seat: $multi_seat_enabled ($multi_seat_avail: $multi_seat_missing)
1290               hotplug: $hotplug_enabled ($hotplug_avail: $hotplug_missing)
1291            eloop-dbus: $eloop_dbus_enabled ($eloop_dbus_avail: $eloop_dbus_missing)
1292
1293   Video Backends:
1294                 fbdev: $video_fbdev_enabled ($video_fbdev_avail: $video_fbdev_missing)
1295                 drm2d: $video_drm2d_enabled ($video_drm2d_avail: $video_drm2d_missing)
1296                 drm3d: $video_drm3d_enabled ($video_drm3d_avail: $video_drm3d_missing)
1297
1298   Font Backends:
1299               unifont: $font_unifont_enabled ($font_unifont_avail: $font_unifont_missing)
1300             freetype2: $font_freetype2_enabled ($font_freetype2_avail: $font_freetype2_missing)
1301                 pango: $font_pango_enabled ($font_pango_avail: $font_pango_missing)
1302
1303   Renderers:
1304                 bbulk: $renderer_bbulk_enabled ($renderer_bbulk_avail: $renderer_bbulk_missing)
1305                 gltex: $renderer_gltex_enabled ($renderer_gltex_avail: $renderer_gltex_missing)
1306                 cairo: $renderer_cairo_enabled ($renderer_cairo_avail: $renderer_cairo_missing)
1307                pixman: $renderer_pixman_enabled ($renderer_pixman_avail: $renderer_pixman_missing)
1308
1309   Session Types:
1310                 dummy: $session_dummy_enabled ($session_dummy_avail: $session_dummy_missing)
1311              terminal: $session_terminal_enabled ($session_terminal_avail: $session_terminal_missing)
1312                  cdev: $session_cdev_enabled ($session_cdev_avail: $session_cdev_missing)
1313
1314         Run "${MAKE-make}" to start compilation process])