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