Provide x-display-manager.
[debian/lxdm.git] / configure.ac
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_PREREQ([2.63])
5 AC_INIT([lxdm], [0.2.0], [http://lxde.org/])
6 AM_INIT_AUTOMAKE([-Wall -Werror foreign])
7
8 AC_CONFIG_SRCDIR([src/lxdm.c])
9 AC_CONFIG_HEADERS([config.h])
10
11 # Checks for programs.
12 AC_PROG_CC
13 AC_PROG_INSTALL
14 AM_PROG_CC_C_O
15
16 # Checks for libraries.
17 AC_CHECK_LIB([crypt], [crypt])
18
19 AC_ARG_WITH(pam,AC_HELP_STRING([--without-pam],[build without pam]),
20 [],[AC_CHECK_LIB([pam], [pam_open_session])])
21
22 AC_CHECK_LIB([ck-connector],[ck_connector_open_session])
23
24 # Checks for header files.
25 AC_PATH_X
26 AC_CHECK_HEADERS([shadow.h stdlib.h string.h unistd.h])
27
28 # Checks for typedefs, structures, and compiler characteristics.
29 AC_TYPE_PID_T
30
31 # Checks for library functions.
32 AC_FUNC_FORK
33 AC_CHECK_FUNCS([atexit endpwent getspnam getusershell memset putenv strstr])
34
35 PKG_CONFIG=pkg-config # FIXME: is this OK?
36 # Check for ISO Codes, this is taken from gdm
37 AC_MSG_CHECKING([whether iso-codes has iso-639 domain])
38 if $PKG_CONFIG --variable=domains iso-codes | grep 639 >/dev/null ; then
39         AC_MSG_RESULT([yes])
40 else
41         AC_MSG_RESULT([no])
42 fi
43 AC_DEFINE_UNQUOTED([ISO_CODES_PREFIX],["`$PKG_CONFIG --variable=prefix iso-codes`"],[ISO codes prefix])
44 ISO_CODES=iso-codes
45
46 IT_PROG_INTLTOOL([0.40.0])
47
48 PKG_CHECK_MODULES(XLIB,x11)
49 AC_SUBST(XLIB_CFLAGS)
50 AC_SUBST(XLIB_LIBS)
51
52 pkg_modules="gtk+-2.0 >= 2.12.0"
53 PKG_CHECK_MODULES(GTK, [$pkg_modules])
54 AC_SUBST(GTK_CFLAGS)
55 AC_SUBST(GTK_LIBS)
56
57 PKG_CHECK_MODULES(CONSOLEKIT, "ck-connector",[
58         AC_SUBST(CONSOLEKIT_CFLAGS)
59         AC_SUBST(CONSOLEKIT_LIBS)],[
60         echo "ConsoleKit devel package not found"
61         ])
62
63 AC_ARG_ENABLE(password,
64 [  --enable-password        enable to load autologin password store at config file ],
65 [case "${enableval}" in
66   yes)  enable_password=yes ;;
67   no)   enable_password=no ;;
68   *) AC_MSG_ERROR([bad value "${enableval}" for --enable-password, use "yes" (default) or "no".]) ;;
69 esac],[])
70
71 if test "x$enable_password" = "xyes" ; then
72   CFLAGS="$CFLAGS -DENABLE_PASSWORD"
73 fi
74
75 AC_ARG_ENABLE(xauth,
76     AC_HELP_STRING([--disable-xauth],[disable the xauth support ]),
77     [enable_xauth=$enablevar],
78     [enable_xauth=yes]
79 )
80
81 if test "x$enable_xauth" = "x$no" ; then
82  CFLAGS="$CFLAGS -DDISABLE_XAUTH"
83 else
84  AC_CHECK_LIB([Xau],[XauWriteAuth])
85 fi
86
87 GETTEXT_PACKAGE=lxdm
88 AC_SUBST(GETTEXT_PACKAGE)
89 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
90
91 AC_CONFIG_FILES([
92         Makefile
93         lxdm.spec
94         src/Makefile
95         po/Makefile.in
96         pam/Makefile
97         data/Makefile
98         data/PostLogin
99         data/PostLogout
100         data/PreLogin
101         data/PreReboot
102         data/PreShutdown
103         data/LoginReady
104 ])
105 AC_CONFIG_FILES([data/lxdm], [chmod +x data/lxdm])
106 AC_OUTPUT
107
108 dnl sanity checks
109 if test "$sysconfdir" != "/etc"; then
110    AC_MSG_WARN(sysconfdir is not /etc.)
111    AC_MSG_WARN(Please consider passing --sysconfdir=/etc to configure.)
112 fi