]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blob - configure.ac
Load all users only when really needed
[sojka/lightdm.git] / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2
3 AC_INIT(lightdm, 1.20.0)
4 AC_CONFIG_MACRO_DIR(m4)
5 AC_CONFIG_HEADER(config.h)
6 AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz foreign])
7 AM_SILENT_RULES(yes)
8 LT_INIT
9 AM_PROG_CC_C_O
10 AC_PROG_CXX
11 AC_PROG_LIBTOOL
12 AM_MAINTAINER_MODE
13
14 dnl Enable compile warnings (only supporting GCC)
15 if test "x$GCC" == xyes; then
16     WARN_CFLAGS="-Wall \
17                  -Wstrict-prototypes \
18                  -Wnested-externs \
19                  -Werror=missing-prototypes \
20                  -Werror=implicit-function-declaration \
21                  -Werror=pointer-arith \
22                  -Werror=init-self \
23                  -Werror=format-security \
24                  -Werror=format=2 \
25                  -Werror=missing-include-dirs"
26     WARN_CXXFLAGS="-Wall"
27 fi
28 AC_SUBST(WARN_CFLAGS)
29 AC_SUBST(WARN_CXXFLAGS)
30
31 GOBJECT_INTROSPECTION_CHECK(0.9.5)
32
33 VAPIGEN_CHECK([0.16])
34
35 dnl ###########################################################################
36 dnl Dependencies
37 dnl ###########################################################################
38
39 AC_CHECK_HEADERS(security/pam_appl.h, [], AC_MSG_ERROR(PAM not found))
40
41 AC_CHECK_HEADERS(gcrypt.h, [], AC_MSG_ERROR(libgcrypt not found))
42
43 AC_CHECK_FUNCS(setresgid setresuid clearenv)
44
45 PKG_CHECK_MODULES(LIGHTDM, [
46     glib-2.0 >= 2.40
47     gio-2.0 >= 2.26
48     gio-unix-2.0
49     xdmcp
50     xcb
51 ])
52
53 PKG_CHECK_MODULES(GLIB, [
54     glib-2.0
55 ])
56
57 PKG_CHECK_MODULES(GIO, [
58     gio-2.0
59 ])
60
61 PKG_CHECK_MODULES(GIO_UNIX, [
62     gio-unix-2.0
63 ])
64
65 PKG_CHECK_MODULES(GOBJECT, [
66     gobject-2.0
67 ])
68
69 PKG_CHECK_MODULES(XCB, [
70     xcb
71 ])    
72
73 PKG_CHECK_MODULES(LIBLIGHTDM_GOBJECT, [
74     glib-2.0
75     gio-2.0 >= 2.26
76     gio-unix-2.0
77     gobject-2.0
78     libxklavier
79     x11
80 ])
81
82 AC_ARG_ENABLE(liblightdm-qt,
83         AS_HELP_STRING([--enable-liblightdm-qt],[Enable LightDM client Qt4 libraries [[default=auto]]]),
84         [enable_liblightdm_qt4=$enableval],
85         [enable_liblightdm_qt4="auto"])
86 compile_liblightdm_qt4=no
87 if test x"$enable_liblightdm_qt4" != "xno" ; then
88     PKG_CHECK_MODULES(LIBLIGHTDM_QT4, [
89         QtCore
90         QtDBus
91         QtGui
92     ],
93     [compile_liblightdm_qt4=yes
94      AC_CHECK_TOOLS(MOC4, [moc-qt4 moc])
95      if test x"$(readlink $(which $MOC4))" = xqtchooser; then
96          MOC4="$MOC4 --qt=qt4"
97      fi
98     ],
99     [if test "x$enable_liblightdm_qt4" != xauto; then
100         AC_MSG_FAILURE(
101           [--enable-liblightdm-qt was given, but test for Qt4 failed])
102       fi
103     ])
104 fi
105 AM_CONDITIONAL(COMPILE_LIBLIGHTDM_QT4, test x"$compile_liblightdm_qt4" != "xno")
106
107 AC_ARG_ENABLE(liblightdm-qt5,
108         AS_HELP_STRING([--enable-liblightdm-qt5],[Enable LightDM client Qt5 libraries [[default=auto]]]),
109         [enable_liblightdm_qt5=$enableval],
110         [enable_liblightdm_qt5="auto"])
111 compile_liblightdm_qt5=no
112 if test x"$enable_liblightdm_qt5" != "xno"; then
113     PKG_CHECK_MODULES(LIBLIGHTDM_QT5, [
114         Qt5Core
115         Qt5DBus
116         Qt5Gui
117     ],
118     [compile_liblightdm_qt5=yes
119      AC_CHECK_TOOLS(MOC5, [moc])
120      if test x"$(readlink $(which $MOC5))" = xqtchooser; then
121          MOC5="$MOC5 --qt=qt5"
122      fi
123     ],
124     [if test "x$enable_liblightdm_qt5" != xauto; then
125         AC_MSG_FAILURE(
126           [--enable-liblightdm-qt5 was given, but test for Qt5 failed])
127       fi
128     ])
129 fi
130 AM_CONDITIONAL(COMPILE_LIBLIGHTDM_QT5, test x"$compile_liblightdm_qt5" != "xno")
131
132 AC_ARG_ENABLE([libaudit],
133     AS_HELP_STRING([--enable-libaudit],
134                    [Enable libaudit logging of login and logout events [[default=auto]]]),
135     [enable_libaudit=$enableval],
136     [enable_libaudit=auto])
137 use_libaudit=no    
138 if test x"$enable_libaudit" != "xno"; then
139     AC_CHECK_LIB([audit], [audit_log_user_message],
140                  [use_libaudit=yes
141                   AC_DEFINE(HAVE_LIBAUDIT, 1, [libaudit support])
142                   LIGHTDM_LIBS="${LIGHTDM_LIBS} -laudit"
143                  ],
144                  [if test "x$enable_libaudit" != xauto; then
145                     AC_MSG_FAILURE(
146                       [--enable-libaudit was given, but test for libaudit failed])
147                   fi
148                  ])
149 fi
150
151 AC_MSG_CHECKING(whether to build tests)
152 AC_ARG_ENABLE(tests,
153         AS_HELP_STRING([--disable-tests], [Disable tests building]),
154         [], [enable_tests="yes"])
155 AM_CONDITIONAL(COMPILE_TESTS, test x"$enable_tests" != "xno")
156
157 dnl ###########################################################################
158 dnl Configurable values
159 dnl ###########################################################################
160
161 DEFAULT_USER_SESSION=default
162 AC_ARG_WITH(user-session,
163             AS_HELP_STRING(--with-user-session=<name>,
164                            Session to use for user accounts),
165     if test x$withval != x; then
166         DEFAULT_USER_SESSION="$withval"
167     fi
168 )
169 AC_SUBST(DEFAULT_USER_SESSION)
170 AC_DEFINE_UNQUOTED(DEFAULT_USER_SESSION, "$DEFAULT_USER_SESSION", User session)
171
172 DEFAULT_GREETER_SESSION=default
173 AC_ARG_WITH(greeter-session,
174             AS_HELP_STRING(--with-greeter-session=<session>,
175                            Greeter session),
176     if test x$withval != x; then
177         DEFAULT_GREETER_SESSION="$withval"
178     fi
179 )
180 AC_SUBST(DEFAULT_GREETER_SESSION)
181 AC_DEFINE_UNQUOTED(DEFAULT_GREETER_SESSION, "$DEFAULT_GREETER_SESSION", Greeter session)
182
183 GREETER_USER=lightdm
184 AC_ARG_WITH(greeter-user,
185             AS_HELP_STRING(--with-greeter-user=<username>,
186                            User to run greeter as),
187     if test x$withval != x; then
188         GREETER_USER="$withval"
189     fi
190 )
191 AC_SUBST(GREETER_USER)
192 AC_DEFINE_UNQUOTED(GREETER_USER, "$GREETER_USER", User to run greeter as)
193
194 dnl ###########################################################################
195 dnl Documentation
196 dnl ###########################################################################
197
198 GTK_DOC_CHECK
199 YELP_HELP_INIT
200
201 dnl ###########################################################################
202 dnl Internationalization
203 dnl ###########################################################################
204
205 IT_PROG_INTLTOOL(0.35.0)
206 AC_SUBST(GETTEXT_PACKAGE, lightdm)
207 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", Gettext package)
208
209 dnl ###########################################################################
210 dnl Files to generate
211 dnl ###########################################################################
212
213 AC_CONFIG_FILES([
214 Makefile
215 common/Makefile
216 data/Makefile
217 doc/Makefile
218 help/Makefile
219 liblightdm-gobject/liblightdm-gobject-1.pc
220 liblightdm-gobject/Makefile
221 liblightdm-qt/Makefile
222 liblightdm-qt/liblightdm-qt-3.pc
223 liblightdm-qt/liblightdm-qt5-3.pc
224 po/Makefile.in
225 src/Makefile
226 tests/Makefile
227 tests/src/Makefile
228 ])
229 AC_OUTPUT
230
231 dnl ###########################################################################
232 dnl Summary
233 dnl ###########################################################################
234
235 echo "
236                     Light Display Manager $VERSION
237                     ===========================
238
239         prefix:                   $prefix
240         Greeter session:          $DEFAULT_GREETER_SESSION
241         Greeter user:             $GREETER_USER
242         User session:             $DEFAULT_USER_SESSION
243         GObject introspection:    $found_introspection
244         Vala bindings:            $enable_vala
245         liblightdm-qt:            $compile_liblightdm_qt4
246         liblightdm-qt5:           $compile_liblightdm_qt5
247         libaudit support:         $use_libaudit
248         Enable tests:             $enable_tests
249 "