]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blob - configure.ac
Really tidy up liblightdm
[sojka/lightdm.git] / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2
3 AC_INIT(lightdm, 0.9.0)
4 AC_CONFIG_MACRO_DIR(m4)
5 AC_CONFIG_HEADER(config.h)
6 AM_INIT_AUTOMAKE
7 LT_INIT
8 AM_PROG_CC_C_O
9 AC_PROG_CXX
10 AC_PROG_LIBTOOL
11 AM_MAINTAINER_MODE
12 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)])
13
14 GOBJECT_INTROSPECTION_CHECK(0.9.5)
15
16 AC_PATH_PROG([VALA_API_GEN], [vapigen])
17
18 GNOME_COMPILE_WARNINGS(maximum)
19
20 dnl ###########################################################################
21 dnl Dependencies
22 dnl ###########################################################################
23
24 AC_CHECK_HEADERS(security/pam_appl.h, [], AC_MSG_ERROR(PAM not found))
25
26 PKG_CHECK_MODULES(LIGHTDM, [
27     glib-2.0
28     gio-2.0 >= 2.26
29     gio-unix-2.0
30     xdmcp
31 ])
32
33 PKG_CHECK_MODULES(GLIB, [
34     glib-2.0
35 ])
36
37 PKG_CHECK_MODULES(GIO, [
38     gio-2.0
39 ])
40
41 PKG_CHECK_MODULES(GIO_UNIX, [
42     gio-unix-2.0
43 ])
44
45 PKG_CHECK_MODULES(GOBJECT, [
46     gobject-2.0
47 ])
48
49 PKG_CHECK_MODULES(XCB, [
50     xcb
51 ])    
52
53 AC_ARG_ENABLE(liblightdm-gobject,
54         AS_HELP_STRING([--enable-liblightdm-gobject],[Enable LightDM client gobject libraries [[default=yes]]]),
55         [enable_liblightdm_gobject=$enableval],
56         [enable_liblightdm_gobject="yes"])
57 compile_liblightdm_gobject=no
58 if test x"$enable_liblightdm_gobject" = "xauto"; then
59     PKG_CHECK_MODULES(LIBLIGHTDM_GOBJECT, [
60         glib-2.0
61         gio-2.0 >= 2.26
62         gio-unix-2.0
63         gobject-2.0
64         libxklavier
65         x11
66     ], compile_liblightdm_gobject=yes, compile_liblightdm_gobject=no)
67 elif test x"$enable_liblightdm_gobject" = "xyes"; then
68     PKG_CHECK_MODULES(LIBLIGHTDM_GOBJECT, [
69         glib-2.0
70         gio-2.0 >= 2.26
71         gio-unix-2.0
72         gobject-2.0
73         libxklavier
74         x11
75     ])
76     compile_liblightdm_gobject=yes
77 fi
78 AM_CONDITIONAL(COMPILE_LIBLIGHTDM_GOBJECT, test x"$compile_liblightdm_gobject" != "xno")
79
80 AC_ARG_ENABLE(liblightdm-qt,
81         AS_HELP_STRING([--enable-liblightdm-qt],[Enable LightDM client QT libraries [[default=auto]]]),
82         [enable_liblightdm_qt=$enableval],
83         [enable_liblightdm_qt="auto"])
84 compile_liblightdm_qt=no
85 if test x"$enable_liblightdm_qt" = "xauto"; then
86     PKG_CHECK_MODULES(LIBLIGHTDM_QT, [
87         QtCore
88         QtDBus
89         QtNetwork
90     ], compile_liblightdm_qt=yes, compile_liblightdm_qt=no)
91 elif test x"$enable_liblightdm_qt" = "xyes"; then
92     PKG_CHECK_MODULES(LIBLIGHTDM_QT, [
93         QtCore
94         QtDBus
95         QtNetwork
96     ])
97     compile_liblightdm_qt=yes
98 fi
99 AM_CONDITIONAL(COMPILE_LIBLIGHTDM_QT, test x"$compile_liblightdm_qt" != "xno")
100
101 have_qt=no
102 if test x"$compile_liblightdm_qt" = "xyes"; then
103     PKG_CHECK_MODULES(LIGHTDM_QT_GREETER, [
104         QtCore
105         QtGui
106     ], have_qt=yes, have_qt=no)
107 fi
108 AM_CONDITIONAL(HAVE_QT_GREETER, test $have_qt = yes)
109
110 PKG_CHECK_MODULES(LIGHTDM_GTK_GREETER, [
111     gtk+-2.0
112     gmodule-export-2.0
113 ], have_gtk=yes, have_gtk=no)
114 AM_CONDITIONAL(HAVE_GTK_GREETER, test $have_gtk = yes)
115
116 AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
117 AC_PATH_PROG(DBUSBINDINGTOOL, dbus-binding-tool)
118 AC_SUBST(DBUSBINDINGTOOL)
119
120 dnl ###########################################################################
121 dnl Configurable values
122 dnl ###########################################################################
123
124 USER_SESSION=gnome
125 AC_ARG_WITH(user-session,
126             AS_HELP_STRING(--with-user-session=<name>,
127                            Session to use for user accounts),
128     if test x$withval != x; then
129         USER_SESSION="$withval"
130     fi
131 )
132 AC_SUBST(USER_SESSION)
133 AC_DEFINE_UNQUOTED(USER_SESSION, "$USER_SESSION", User session)
134
135 if test $have_gtk = yes; then
136 GREETER_SESSION=lightdm-gtk-greeter
137 elif test $have_qt = yes; then
138 GREETER_SESSION=lightdm-qt-greeter
139 else
140 GREETER_SESSION=
141 fi
142 AC_ARG_WITH(theme,
143             AS_HELP_STRING(--with-greeter-session=<session>,
144                            Greeter session),
145     if test x$withval != x; then
146         GREETER_SESSION="$withval"
147     fi
148 )
149 AC_SUBST(GREETER_SESSION)
150 AC_DEFINE_UNQUOTED(GREETER_SESSION, "$GREETER_SESSION", Greeter session)
151
152 dnl ###########################################################################
153 dnl Documentation
154 dnl ###########################################################################
155
156 GTK_DOC_CHECK
157
158 dnl ###########################################################################
159 dnl Internationalization
160 dnl ###########################################################################
161
162 IT_PROG_INTLTOOL(0.35.0)
163 GETTEXT_PACKAGE=lightdm
164 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", Gettext package)
165
166 dnl ###########################################################################
167 dnl Files to generate
168 dnl ###########################################################################
169
170 AC_CONFIG_FILES([
171 Makefile
172 data/Makefile
173 data/init/Makefile
174 doc/Makefile
175 greeters/Makefile
176 greeters/gtk/Makefile
177 greeters/qt/Makefile
178 liblightdm-gobject/liblightdm-gobject-1.pc
179 liblightdm-gobject/Makefile
180 liblightdm-qt/Makefile
181 liblightdm-qt/liblightdm-qt-1.pc
182 liblightdm-qt/QLightDM/Makefile
183 po/Makefile.in
184 src/Makefile
185 tests/Makefile
186 tests/src/Makefile
187 ],
188 [chmod +x tests/src/test-setup-guest tests/src/test-cleanup-guest])
189 AC_OUTPUT
190
191 dnl ###########################################################################
192 dnl Summary
193 dnl ###########################################################################
194
195 echo "
196                     Light Display Manager $VERSION
197                     ===========================
198
199         prefix:                   $prefix
200         Greeter session:          $GREETER_SESSION
201         User session:             $USER_SESSION
202         liblightdm-gobject:       $compile_liblightdm_gobject
203         GObject introspection:    $found_introspection
204         liblightdm-qt:            $compile_liblightdm_qt
205         GTK+ Greeter:             $have_gtk
206         Qt Greeter:               $have_qt
207 "