]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blob - configure.ac
Releasing 1.11.4
[sojka/lightdm.git] / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2
3 AC_INIT(lightdm, 1.11.4)
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 dnl ###########################################################################
34 dnl Dependencies
35 dnl ###########################################################################
36
37 AC_CHECK_HEADERS(security/pam_appl.h, [], AC_MSG_ERROR(PAM not found))
38
39 AC_CHECK_HEADERS(gcrypt.h, [], AC_MSG_ERROR(libgcrypt not found))
40
41 AC_CHECK_FUNCS(setresgid setresuid clearenv)
42
43 PKG_CHECK_MODULES(LIGHTDM, [
44     glib-2.0 >= 2.30
45     gio-2.0 >= 2.26
46     gio-unix-2.0
47     xdmcp
48     xcb
49 ])
50
51 PKG_CHECK_MODULES(GLIB, [
52     glib-2.0
53 ])
54
55 PKG_CHECK_MODULES(GIO, [
56     gio-2.0
57 ])
58
59 PKG_CHECK_MODULES(GIO_UNIX, [
60     gio-unix-2.0
61 ])
62
63 PKG_CHECK_MODULES(GOBJECT, [
64     gobject-2.0
65 ])
66
67 PKG_CHECK_MODULES(XCB, [
68     xcb
69 ])    
70
71 AC_ARG_ENABLE(liblightdm-gobject,
72         AS_HELP_STRING([--enable-liblightdm-gobject],[Enable LightDM client gobject libraries [[default=auto]]]),
73         [enable_liblightdm_gobject=$enableval],
74         [enable_liblightdm_gobject="auto"])
75 compile_liblightdm_gobject=no
76 if test x"$enable_liblightdm_gobject" = "xauto"; then
77     PKG_CHECK_MODULES(LIBLIGHTDM_GOBJECT, [
78         glib-2.0
79         gio-2.0 >= 2.26
80         gio-unix-2.0
81         gobject-2.0
82         libxklavier
83         x11
84     ], compile_liblightdm_gobject=yes, compile_liblightdm_gobject=no)
85 elif test x"$enable_liblightdm_gobject" = "xyes"; then
86     PKG_CHECK_MODULES(LIBLIGHTDM_GOBJECT, [
87         glib-2.0
88         gio-2.0 >= 2.26
89         gio-unix-2.0
90         gobject-2.0
91         libxklavier
92         x11
93     ])
94     compile_liblightdm_gobject=yes
95 fi
96 AM_CONDITIONAL(COMPILE_LIBLIGHTDM_GOBJECT, test x"$compile_liblightdm_gobject" != "xno")
97
98 AC_ARG_ENABLE(liblightdm-qt,
99         AS_HELP_STRING([--enable-liblightdm-qt],[Enable LightDM client Qt4 libraries [[default=auto]]]),
100         [enable_liblightdm_qt4=$enableval],
101         [enable_liblightdm_qt4="auto"])
102 compile_liblightdm_qt4=no
103 if test x"$enable_liblightdm_qt4" = "xyes" -o \( x"$enable_liblightdm_qt4" = "xauto" -a x$compile_liblightdm_gobject = xyes \) ; then
104     PKG_CHECK_MODULES(LIBLIGHTDM_QT4, [
105         QtCore
106         QtDBus
107         QtGui
108     ],
109     [compile_liblightdm_qt4=yes
110      AC_CHECK_TOOLS(MOC4, [moc-qt4 moc])
111      if test x"$(readlink $(which $MOC4))" = xqtchooser; then
112          MOC4="$MOC4 --qt=qt4"
113      fi
114      if test "x$compile_liblightdm_gobject" != xyes; then
115          AC_MSG_FAILURE(
116            [liblightdm-gobject is required to compile liblightdm-qt])
117      fi
118     ],
119     [if test "x$enable_liblightdm_qt4" != xauto; then
120         AC_MSG_FAILURE(
121           [--enable-liblightdm-qt was given, but test for Qt4 failed])
122       fi
123     ])
124 fi
125 AM_CONDITIONAL(COMPILE_LIBLIGHTDM_QT4, test x"$compile_liblightdm_qt4" != "xno")
126
127 AC_ARG_ENABLE(liblightdm-qt5,
128         AS_HELP_STRING([--enable-liblightdm-qt5],[Enable LightDM client Qt5 libraries [[default=auto]]]),
129         [enable_liblightdm_qt5=$enableval],
130         [enable_liblightdm_qt5="auto"])
131 compile_liblightdm_qt5=no
132 if test x"$enable_liblightdm_qt5" != "xno"; then
133     PKG_CHECK_MODULES(LIBLIGHTDM_QT5, [
134         Qt5Core
135         Qt5DBus
136         Qt5Gui
137     ],
138     [compile_liblightdm_qt5=yes
139      AC_CHECK_TOOLS(MOC5, [moc])
140      if test x"$(readlink $(which $MOC5))" = xqtchooser; then
141          MOC5="$MOC5 --qt=qt5"
142      fi
143     ],
144     [if test "x$enable_liblightdm_qt5" != xauto; then
145         AC_MSG_FAILURE(
146           [--enable-liblightdm-qt5 was given, but test for Qt5 failed])
147       fi
148     ])
149 fi
150 AM_CONDITIONAL(COMPILE_LIBLIGHTDM_QT5, test x"$compile_liblightdm_qt5" != "xno")
151
152 AC_MSG_CHECKING(whether to build tests)
153 AC_ARG_ENABLE(tests,
154         AS_HELP_STRING([--disable-tests], [Disable tests building]),
155         [], [enable_tests="yes"])
156 AM_CONDITIONAL(COMPILE_TESTS, test x"$enable_tests" != "xno")
157
158 dnl ###########################################################################
159 dnl Configurable values
160 dnl ###########################################################################
161
162 USER_SESSION=default
163 AC_ARG_WITH(user-session,
164             AS_HELP_STRING(--with-user-session=<name>,
165                            Session to use for user accounts),
166     if test x$withval != x; then
167         USER_SESSION="$withval"
168     fi
169 )
170 AC_SUBST(USER_SESSION)
171 AC_DEFINE_UNQUOTED(USER_SESSION, "$USER_SESSION", User session)
172
173 GREETER_SESSION=default
174 AC_ARG_WITH(greeter-session,
175             AS_HELP_STRING(--with-greeter-session=<session>,
176                            Greeter session),
177     if test x$withval != x; then
178         GREETER_SESSION="$withval"
179     fi
180 )
181 AC_SUBST(GREETER_SESSION)
182 AC_DEFINE_UNQUOTED(GREETER_SESSION, "$GREETER_SESSION", Greeter session)
183
184 GREETER_USER=lightdm
185 AC_ARG_WITH(greeter-user,
186             AS_HELP_STRING(--with-greeter-user=<username>,
187                            User to run greeter as),
188     if test x$withval != x; then
189         GREETER_USER="$withval"
190     fi
191 )
192 AC_SUBST(GREETER_USER)
193 AC_DEFINE_UNQUOTED(GREETER_USER, "$GREETER_USER", User to run greeter as)
194
195 dnl ###########################################################################
196 dnl Documentation
197 dnl ###########################################################################
198
199 GTK_DOC_CHECK
200 YELP_HELP_INIT
201
202 dnl ###########################################################################
203 dnl Internationalization
204 dnl ###########################################################################
205
206 IT_PROG_INTLTOOL(0.35.0)
207 AC_SUBST(GETTEXT_PACKAGE, lightdm)
208 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", Gettext package)
209
210 dnl ###########################################################################
211 dnl Files to generate
212 dnl ###########################################################################
213
214 AC_CONFIG_FILES([
215 Makefile
216 common/Makefile
217 data/Makefile
218 doc/Makefile
219 help/Makefile
220 liblightdm-gobject/liblightdm-gobject-1.pc
221 liblightdm-gobject/Makefile
222 liblightdm-qt/Makefile
223 liblightdm-qt/liblightdm-qt-3.pc
224 liblightdm-qt/liblightdm-qt5-3.pc
225 po/Makefile.in
226 src/Makefile
227 tests/Makefile
228 tests/src/Makefile
229 ])
230 AC_OUTPUT
231
232 dnl ###########################################################################
233 dnl Summary
234 dnl ###########################################################################
235
236 echo "
237                     Light Display Manager $VERSION
238                     ===========================
239
240         prefix:                   $prefix
241         Greeter session:          $GREETER_SESSION
242         Greeter user:             $GREETER_USER
243         User session:             $USER_SESSION
244         liblightdm-gobject:       $compile_liblightdm_gobject
245         GObject introspection:    $found_introspection
246         liblightdm-qt:            $compile_liblightdm_qt4
247         liblightdm-qt5:           $compile_liblightdm_qt5
248         Enable tests:             $enable_tests
249 "