AC_PREREQ([2.60]) AC_INIT([gdm], [3.5.4.2], [http://bugzilla.gnome.org/enter_bug.cgi?product=gdm]) AC_CONFIG_SRCDIR([daemon/gdm-manager.c]) AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-xz tar-ustar -Wall]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AM_MAINTAINER_MODE([enable]) # for utmpx stuff AC_GNU_SOURCE AC_STDC_HEADERS AC_PROG_CXX AM_PROG_CC_C_O AC_PROG_LIBTOOL() ## increment if the plugin interface has additions, changes, removals. LT_CURRENT=1 ## increment any time the source changes; set to ## 0 if you increment CURRENT LT_REVISION=0 ## increment if any interfaces have been added; set to 0 ## if any interfaces have been changed or removed. removal has ## precedence over adding, so set to 0 if both happened. LT_AGE=0 AC_SUBST(LT_CURRENT) AC_SUBST(LT_REVISION) AC_SUBST(LT_AGE) AC_HEADER_STDC AC_SUBST(VERSION) AM_CONFIG_HEADER(config.h) AC_CONFIG_MACRO_DIR([m4]) IT_PROG_INTLTOOL([0.40.0]) GNOME_DOC_INIT AC_ARG_ENABLE([documentation], AS_HELP_STRING([--enable-documentation], [enable man pages and HTML documentation]), [], [enable_documentation=yes]) AM_CONDITIONAL(ENABLE_DOCUMENTATION, test x$enable_documentation = xyes) GETTEXT_PACKAGE=gdm AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [gettext package]) AM_GLIB_GNU_GETTEXT dnl --------------------------------------------------------------------------- dnl - Dependencies dnl --------------------------------------------------------------------------- DBUS_GLIB_REQUIRED_VERSION=0.74 GLIB_REQUIRED_VERSION=2.29.3 GTK_REQUIRED_VERSION=2.91.1 PANGO_REQUIRED_VERSION=1.3.0 SCROLLKEEPER_REQUIRED_VERSION=0.1.4 GNOME_PANEL_REQUIRED_VERSION=2.0.0 LIBXKLAVIER_REQUIRED_VERSION=4.0 LIBCANBERRA_GTK_REQUIRED_VERSION=0.4 #FONTCONFIG_REQUIRED_VERSION=2.6.0 FONTCONFIG_REQUIRED_VERSION=2.5.0 UPOWER_REQUIRED_VERSION=0.9.0 ACCOUNTS_SERVICE_REQUIRED_VERSION=0.6.12 NSS_REQUIRED_VERSION=3.11.1 EXTRA_COMPILE_WARNINGS(yes) PKG_CHECK_MODULES(GTHREAD, gthread-2.0) AC_SUBST(GTHREAD_CFLAGS) AC_SUBST(GTHREAD_LIBS) PKG_CHECK_MODULES(COMMON, gobject-2.0 >= $GLIB_REQUIRED_VERSION gio-2.0 >= $GLIB_REQUIRED_VERSION gio-unix-2.0 >= $GLIB_REQUIRED_VERSION ) AC_SUBST(COMMON_CFLAGS) AC_SUBST(COMMON_LIBS) PKG_CHECK_MODULES(DAEMON, gobject-2.0 >= $GLIB_REQUIRED_VERSION gio-2.0 >= $GLIB_REQUIRED_VERSION gio-unix-2.0 >= $GLIB_REQUIRED_VERSION accountsservice >= $ACCOUNTS_SERVICE_REQUIRED_VERSION ) AC_SUBST(DAEMON_CFLAGS) AC_SUBST(DAEMON_LIBS) GLIB_GSETTINGS PKG_CHECK_MODULES(NSS, nss >= $NSS_REQUIRED_VERSION ) AC_SUBST(NSS_CFLAGS) AC_SUBST(NSS_LIBS) PKG_CHECK_MODULES(XLIB, x11 xau xrandr, , [AC_PATH_XTRA if test "x$no_x" = xyes; then AC_MSG_ERROR("no (requires X development libraries)") else XLIB_LIBS="$X_PRE_LIBS $X_LIBS -lXau -lX11 -lXext -lXrandr $X_EXTRA_LIBS" XLIB_CFLAGS=$X_CFLAGS fi]) AC_SUBST(XLIB_CFLAGS) AC_SUBST(XLIB_LIBS) PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $GTK_REQUIRED_VERSION ) AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) PKG_CHECK_MODULES(CANBERRA_GTK, libcanberra-gtk3 >= $LIBCANBERRA_GTK_REQUIRED_VERSION ) AC_SUBST(CANBERRA_GTK_CFLAGS) AC_SUBST(CANBERRA_GTK_LIBS) PKG_CHECK_MODULES(UPOWER, upower-glib >= $UPOWER_REQUIRED_VERSION, have_upower=yes, have_upower=no ) if test "x$have_upower" = "xyes" ; then AC_DEFINE(HAVE_UPOWER, [], [Define if we have UPower]) fi AC_SUBST(UPOWER) AC_SUBST(UPOWER_CFLAGS) AC_SUBST(UPOWER_LIBS) PKG_CHECK_MODULES(SIMPLE_GREETER, gtk+-3.0 >= $GTK_REQUIRED_VERSION fontconfig >= $FONTCONFIG_REQUIRED_VERSION accountsservice >= $ACCOUNTS_SERVICE_REQUIRED_VERSION x11 ) SIMPLE_GREETER_LIBS="$SIMPLE_GREETER_LIBS -lm" AC_SUBST(SIMPLE_GREETER_CFLAGS) AC_SUBST(SIMPLE_GREETER_LIBS) PKG_CHECK_MODULES(LIBXKLAVIER, libxklavier >= $LIBXKLAVIER_REQUIRED_VERSION, have_libxklavier=yes, have_libxklavier=no) if test "x$have_libxklavier" = "xyes" ; then AC_DEFINE(HAVE_LIBXKLAVIER, [], [Define if we have libxklavier]) fi AM_CONDITIONAL(HAVE_LIBXKLAVIER, test x$have_libxklavier = xyes) AC_SUBST(HAVE_LIBXKLAVIER) AC_SUBST(LIBXKLAVIER_CFLAGS) AC_SUBST(LIBXKLAVIER_LIBS) PKG_CHECK_MODULES(SIMPLE_CHOOSER, gtk+-3.0 >= $GTK_REQUIRED_VERSION ) AC_SUBST(SIMPLE_CHOOSER_CFLAGS) AC_SUBST(SIMPLE_CHOOSER_LIBS) PLUGIN_LIBTOOL_FLAGS="-export_dynamic -module -avoid-version" AC_SUBST(PLUGIN_LIBTOOL_FLAGS) AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal) AC_PATH_XTRA # Unit testing framework PKG_CHECK_MODULES(CHECK, [check >= 0.9.4], have_check=yes, have_check=no) AM_CONDITIONAL([HAVE_CHECK],[test "x$CHECK_CFLAGS" != "x"]) PKG_CHECK_MODULES(LIBGDM, glib-2.0 gio-2.0 gio-unix-2.0); GOBJECT_INTROSPECTION_CHECK([0.9.12]) LIBGDM_GIR_INCLUDES="GLib-2.0 GObject-2.0 Gio-2.0" AC_SUBST(LIBGDM_GIR_INCLUDES) dnl --------------------------------------------------------------------------- dnl - Configuration file stuff dnl --------------------------------------------------------------------------- AC_ARG_WITH(sysconfsubdir, AS_HELP_STRING([--with-sysconfsubdir], [directory name used under sysconfdir, default=gdm]), sysconfsubdir=${withval}, sysconfsubdir=gdm) AC_SUBST(sysconfsubdir) if test x"${sysconfsubdir}" != xno -a x"${sysconfsubdir}" != x; then gdmconfdir='${sysconfdir}/${sysconfsubdir}' else gdmconfdir='${sysconfdir}' fi AC_SUBST(gdmconfdir) AC_ARG_WITH(dmconfdir, AS_HELP_STRING([--with-dmconfdir], [directory where Sessions are stored, default=SYSCONFDIR/dm]), dmconfdir=${withval}, dmconfdir=${sysconfdir}/dm) AC_SUBST(dmconfdir) dnl --------------------------------------------------------------------------- dnl - Configure arguments dnl --------------------------------------------------------------------------- AC_ARG_ENABLE(split-authentication, AS_HELP_STRING([--enable-split-authentication], [Enable multiple simultaneous PAM conversations during login @<:@default=yes@:>@]),, enable_split_authentication=yes) AM_CONDITIONAL(ENABLE_SPLIT_AUTHENTICATION, test x$enable_split_authentication = xyes) if test x$enable_split_authentication = xyes; then AC_DEFINE(ENABLE_SPLIT_AUTHENTICATION, 1, [Define if split authentication is enabled]) fi AC_ARG_WITH(default-pam-config, AS_HELP_STRING([--with-default-pam-config: One of redhat, openembedded, none @<:@default=auto@:>@])) dnl If not given, try autodetecting from release files (see NetworkManager source) if test x$with_default_pam_config = x; then AC_CHECK_FILE(/etc/redhat-release,with_default_pam_config="redhat") AC_CHECK_FILE(/etc/fedora-release,with_default_pam_config="redhat") dnl If not autodetected, default to none if test x$with_default_pam_config = x; then with_default_pam_config=none fi fi case x$with_default_pam_config in xredhat|xopenembedded|xnone) ;; *) AC_MSG_ERROR([Invalid --with-default-pam-config ${with_default_pam_config}]) exit 1 ;; esac AM_CONDITIONAL(ENABLE_REDHAT_PAM_CONFIG, test x$with_default_pam_config = xredhat) AM_CONDITIONAL(ENABLE_OPENEMBEDDED_PAM_CONFIG, test x$with_default_pam_config = xopenembedded) AC_ARG_ENABLE(console-helper, AS_HELP_STRING([--enable-console-helper], [Enable PAM console helper @<:@default=auto@:>@]),, enable_console_helper=auto) AC_ARG_ENABLE(authentication-scheme, AS_HELP_STRING([--enable-authentication-scheme=@<:@pam/crypt/shadow@:>@], [Choose a specific authentication scheme @<:@default=auto@:>@]),, enable_authentication_scheme=auto) AC_ARG_WITH(xinerama, AS_HELP_STRING([--with-xinerama], [Add Xinerama support @<:@default=auto@:>@]),, with_xinerama=auto) AC_ARG_WITH(xdmcp, AS_HELP_STRING([--with-xdmcp], [Add XDMCP (remote login) support @<:@default=auto@:>@]),, with_xdmcp=auto) AC_ARG_WITH(tcp-wrappers, AS_HELP_STRING([--with-tcp-wrappers], [Use TCP Wrappers @<:@default=auto@:>@]),, with_tcp_wrappers=auto) AC_ARG_WITH(console-kit, AS_HELP_STRING([--with-console-kit], [Add ConsoleKit support @<:@default=auto@:>@]),, with_console_kit=auto) AC_ARG_WITH(systemd, AS_HELP_STRING([--with-systemd], [Add systemd support @<:@default=auto@:>@]), [with_systemd=$withval], [with_systemd=auto]) AC_ARG_WITH([systemdsystemunitdir], AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), [with_systemdsystemunitdir=$withval], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) AC_ARG_WITH(plymouth, AS_HELP_STRING([--with-plymouth], [Add plymouth support @<:@default=auto@:>@]), [with_plymouth=$withval], [with_plymouth=auto]) AC_ARG_WITH(at-spi-registryd-directory, AS_HELP_STRING([--with-at-spi-registryd-directory], [Specify the directory of at-spi-registryd @<:@default=libexecdir@:>@])],, [with_at_spi_registryd_directory="${libexecdir}"]) AT_SPI_REGISTRYD_DIR=$with_at_spi_registryd_directory AC_SUBST(AT_SPI_REGISTRYD_DIR) # Allow configuration of default PATH # withval="" AC_ARG_WITH(default-path, AS_HELP_STRING([--with-default-path=], [PATH GDM will use as the user's default PATH]), [if test x$withval != x; then AC_MSG_RESULT("PATH ${withval} will be the default PATH.") fi]) if test x$withval != x; then GDM_SESSION_DEFAULT_PATH="$withval" else GDM_SESSION_DEFAULT_PATH="/usr/local/bin:/usr/bin:/bin" fi AC_SUBST(GDM_SESSION_DEFAULT_PATH) dnl dnl file that sets LANG dnl withval="" AC_ARG_WITH(lang-file, AS_HELP_STRING([--with-lang-file=], [file containing default language setting]), [if test x$withval != x; then AC_MSG_RESULT("System locale will be looked for in file ${withval}.") fi]) if test x$withval != x; then LANG_CONFIG_FILE="$withval" else LANG_CONFIG_FILE='$(sysconfdir)/sysconfig/i18n' fi AC_SUBST(LANG_CONFIG_FILE) dnl dnl Whether or not to show locales in the language list that dnl lack translations dnl AC_ARG_WITH(incomplete-locales, AS_HELP_STRING([--with-incomplete-locales=yes|no], [Show incomplete locales in lang list]),, with_incomplete_locales=no) if test x$with_incomplete_locales != xno; then AC_DEFINE(WITH_INCOMPLETE_LOCALES, 1, [Show incomplete locales in lang list]) fi # stropts has been removed from glibc # https://bugzilla.redhat.com/show_bug.cgi?id=436349 AC_CHECK_HEADERS(stropts.h) dnl socklen_t may be declared, but not in a "standard" C header location AC_CHECK_HEADERS(sys/socket.h) AC_CHECK_TYPE(socklen_t,, AC_DEFINE(socklen_t, size_t, [Compatibility type]), [AC_INCLUDES_DEFAULT] #ifdef HAVE_SYS_SOCKET_H #include #endif ) AC_CHECK_HEADERS(sys/sockio.h) AC_CHECK_FUNCS([setresuid setenv unsetenv clearenv]) dnl checks needed for Darwin compatibility to linux **environ. AC_CHECK_HEADERS(crt_externs.h) AC_CHECK_FUNCS(_NSGetEnviron) EXTRA_DAEMON_LIBS="" EXTRA_SLAVE_LIBS="" EXTRA_CHOOSER_LIBS="" EXTRA_XNEST_LIBS="" EXTRA_FLEXI_LIBS="" EXTRA_DYNAMIC_LIBS="" EXTRA_SETUP_LIBS="" EXTRA_TEST_LIBS="" EXTRA_GREETER_LIBS="" AC_CHECK_FUNC(socket,,[ AC_CHECK_LIB(socket,socket, [ EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lsocket" EXTRA_SLAVE_LIBS="$EXTRA_SLAVE_LIBS -lsocket" EXTRA_CHOOSER_LIBS="$EXTRA_CHOOSER_LIBS -lsocket" EXTRA_XNEST_LIBS="$EXTRA_XNEST_LIBS -lsocket" EXTRA_FLEXI_LIBS="$EXTRA_FLEXI_LIBS -lsocket" EXTRA_DYNAMIC_LIBS="$EXTRA_DYNAMIC_LIBS -lsocket" EXTRA_SETUP_LIBS="$EXTRA_SETUP_LIBS -lsocket" EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -lsocket"])]) AC_CHECK_FUNC(gethostbyname,,[ AC_CHECK_LIB(nsl,gethostbyname, [ EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lnsl" EXTRA_SLAVE_LIBS="$EXTRA_SLAVE_LIBS -lnsl" EXTRA_CHOOSER_LIBS="$EXTRA_CHOOSER_LIBS -lnsl" EXTRA_TEST_LIBS="$EXTRA_TEST_LIBS -lnsl"])]) AC_CHECK_DECL(HOST_NAME_MAX, , AC_CHECK_DECL(_POSIX_HOST_NAME_MAX, AC_DEFINE(HOST_NAME_MAX, _POSIX_HOST_NAME_MAX, []), AC_DEFINE(HOST_NAME_MAX, 256, [Define to 256 if neither have HOST_NAME_MAX nor _POSIX_HOST_NAME_MAX]), [[#include ]]), [[#include ]]) AC_CHECK_FUNC(sched_yield,[ AC_DEFINE(HAVE_SCHED_YIELD, 1, [Define if we have sched yield])],[ AC_CHECK_LIB(rt,sched_yield, [ AC_DEFINE(HAVE_SCHED_YIELD, 1, [Define if we have sched yield]) EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lrt"], [ echo "No sched_yield found"])]) AC_CHECK_FUNC(inet_aton,,[ AC_CHECK_LIB(resolv,inet_aton, [ EXTRA_CHOOSER_LIBS="$EXTRA_CHOOSER_LIBS -lresolv"])]) dnl --------------------------------------------------------------------------- dnl - Check for mkdtemp dnl --------------------------------------------------------------------------- mkdtemp_missing=false AC_CHECK_FUNC(mkdtemp, [AC_DEFINE([HAVE_MKDTEMP], 1, [Have GlibC function to make temp dirs])], mkdtemp_missing=true) AM_CONDITIONAL(MKDTEMP_MISSING, test x$mkdtemp_missing = xtrue) dnl --------------------------------------------------------------------------- dnl - Check for IPv6 dnl --------------------------------------------------------------------------- AC_MSG_CHECKING([whether to enable IPv6]) AC_ARG_ENABLE(ipv6, AS_HELP_STRING([--enable-ipv6], [Enables compilation of IPv6 code @<:@default=no@:>@]),, enable_ipv6=no) if test x$enable_ipv6 = xyes; then AC_TRY_COMPILE([ #include #include ],[ struct sockaddr_storage ss; socket(AF_INET6, SOCK_STREAM, 0) ], have_ipv6=yes, have_ipv6=no ) if test x$have_ipv6 = xyes; then have_getaddrinfo=no have_inet_ntop=no AC_CHECK_FUNC(getaddrinfo, have_getaddrinfo=yes) if test x$have_getaddrinfo != xyes; then for lib in bsd socket inet; do AC_CHECK_LIB($lib,getaddrinfo,["LIBS=$LIBS -l$lib";have_getaddrinfo=yes;break]) done fi AC_CHECK_FUNC(inet_ntop,have_inet_ntop=yes) if test x$have_inet_ntop != xyes; then for lib in bsd nsl inet; do AC_CHECK_LIB($lib,inet_ntop,["LIBS=$LIBS -l$lib";have_inet_ntop=yes;break]) done fi if test x$have_getaddrinfo = xyes; then if test x$have_inet_ntop = xyes; then have_ipv6=yes AC_DEFINE(ENABLE_IPV6, 1, [Define if we have ipv6]) AC_MSG_RESULT($have_ipv6) else have_ipv6=no AC_MSG_RESULT($have_ipv6) fi fi fi else AC_MSG_RESULT(no) fi dnl --------------------------------------------------------------------------- dnl - Check for GDM user dnl --------------------------------------------------------------------------- withval="" AC_ARG_WITH(user, AS_HELP_STRING([--with-user=], [specify gdm's user name])) if test x$withval != x; then GDM_USERNAME="$withval" else GDM_USERNAME=gdm fi AC_SUBST(GDM_USERNAME) AC_DEFINE_UNQUOTED([GDM_USERNAME], "$GDM_USERNAME", [User to use]) dnl --------------------------------------------------------------------------- dnl - Check for GDM group dnl --------------------------------------------------------------------------- withval="" AC_ARG_WITH(group, AS_HELP_STRING([--with-group=], [specify gdm's user name])) if test x$withval != x; then GDM_GROUPNAME="$withval" else GDM_GROUPNAME=gdm fi AC_SUBST(GDM_GROUPNAME) AC_DEFINE_UNQUOTED([GDM_GROUPNAME], "$GDM_GROUPNAME", [Group to use]) dnl --------------------------------------------------------------------------- dnl - Check for PAM stuff dnl --------------------------------------------------------------------------- dnl PAM prefix withval="" AC_ARG_WITH(pam-prefix, AS_HELP_STRING([--with-pam-prefix=], [specify where pam files go]), [if test x$withval != x; then AC_MSG_RESULT("PAM files will be installed in prefix ${withval}.") fi]) if test x$withval != x; then PAM_PREFIX="$withval" else PAM_PREFIX='${sysconfdir}' fi AC_SUBST(PAM_PREFIX) have_pam=no AC_CHECK_LIB(pam, pam_start, have_pam=yes) if test "x$have_pam" = "xyes"; then PAM_LIBS="${PAM_LIBS} -lpam" else AC_MSG_ERROR("PAM libraries not found") fi AC_SUBST(HAVE_PAM) AC_SUBST(PAM_LIBS) AC_CHECK_HEADERS([security/pam_modutil.h security/pam_ext.h]) AC_CHECK_LIB(pam, pam_syslog, [AC_DEFINE(HAVE_PAM_SYSLOG, [], [Define to 1 if you have the pam_syslog function])]) dnl test whether struct pam_message is const (Linux) or not (Sun) if test "x$have_pam" = "xyes"; then pam_appl_h="$ac_pam_includes/security/pam_appl.h" AC_MSG_CHECKING(for const pam_message) AC_EGREP_HEADER([struct pam_message], $pam_appl_h, [ AC_EGREP_HEADER([const struct pam_message], $pam_appl_h, [AC_MSG_RESULT(["const: Linux-type PAM"]) ], [AC_MSG_RESULT(["nonconst: Sun-type PAM"]) AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])] )], [AC_MSG_RESULT(["not found - assume const, Linux-type PAM"])] ) fi dnl Check if we can use the setpenv function to add specialvariable dnl to the environment (such as the /etc/environment file under AIX) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ #ifdef HAVE_USERSEC_H #include #endif ]],[[ return (setpenv(NULL, (PENV_INIT | PENV_NOEXEC), NULL, NULL)); ]])], can_use_setpenv=yes, can_use_setpenv=no) if test x$can_use_setpenv = xyes ; then AC_DEFINE(CAN_USE_SETPENV,,[Define this variable if the code to use the setpenv function can be compiled and used]) fi # # Can we use BSD's setusercontext # AC_CHECK_HEADER(login_cap.h, [ EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lutil" AC_DEFINE(HAVE_LOGINCAP, 1, [Define if we have logincap])]) # # Check for sys/sockio.h # AC_CHECK_HEADERS(sys/sockio.h, [ AC_DEFINE(HAVE_SYS_SOCKIO_H, 1, [Define if we have sys/sockio.h])]) # # Check for libgen.h # AC_CHECK_HEADERS(libgen.h, [ AC_DEFINE(HAVE_LIBGEN_H, 1, [Define if we have libgen.h])]) dnl --------------------------------------------------------------------------- dnl - Check for POSIX version of getpwnam_r dnl --------------------------------------------------------------------------- # Checking for a posix version of getpwnam_r # if we are cross compiling and can not run the test # assume getpwnam_r is the posix version # it is up to the person cross compiling to change # this behavior if desired AC_LANG_PUSH(C) AC_CACHE_CHECK([for posix getpwnam_r], ac_cv_func_posix_getpwnam_r, [AC_RUN_IFELSE([AC_LANG_PROGRAM( [[ #define _POSIX_PTHREAD_SEMANTICS #include #include ]], [[ char buffer[10000]; struct passwd pwd, *pwptr = &pwd; int error; errno = 0; error = getpwnam_r ("", &pwd, buffer, sizeof (buffer), &pwptr); return (error < 0 && errno == ENOSYS) || error == ENOSYS; ]])], [ac_cv_func_posix_getpwnam_r=yes], [ac_cv_func_posix_getpwnam_r=no], [ac_cv_func_posix_getpwnam_r=yes] )]) AC_LANG_POP(C) if test "$ac_cv_func_posix_getpwnam_r" = yes; then AC_DEFINE(HAVE_POSIX_GETPWNAM_R,1, [Have POSIX function getpwnam_r]) else AC_CACHE_CHECK([for nonposix getpwnam_r], ac_cv_func_nonposix_getpwnam_r, [AC_TRY_LINK([#include ], [char buffer[10000]; struct passwd pwd; getpwnam_r ("", &pwd, buffer, sizeof (buffer));], [ac_cv_func_nonposix_getpwnam_r=yes], [ac_cv_func_nonposix_getpwnam_r=no])]) if test "$ac_cv_func_nonposix_getpwnam_r" = yes; then AC_DEFINE(HAVE_NONPOSIX_GETPWNAM_R,1, [Have non-POSIX function getpwnam_r]) fi fi dnl --------------------------------------------------------------------------- dnl - Check for utmp stuff dnl --------------------------------------------------------------------------- AC_CHECK_HEADERS(utmp.h utmpx.h libutil.h sys/param.h) AC_CHECK_FUNCS([getutxent updwtmpx updwtmp]) AC_CHECK_LIB(util, login, [ AC_DEFINE(HAVE_LOGIN, 1, [Define if have login]) EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lutil" ]) AC_CHECK_LIB(util, logout, [ AC_DEFINE(HAVE_LOGOUT, 1, [Define if have logout]) EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lutil" ]) AC_CHECK_LIB(util, logwtmp, [ AC_DEFINE(HAVE_LOGWTMP, 1, [Define if have logwtmp]) EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lutil" ]) GDM_CHECK_UTMP AC_MSG_CHECKING(if utmpx structure has ut_syslen field) AC_TRY_COMPILE([ #include ],[ struct utmpx record; record.ut_syslen = sizeof (record.ut_host); ], have_ut_syslen=yes, have_ut_syslen=no ) if test x$have_ut_syslen = xyes; then AC_DEFINE(HAVE_UT_SYSLEN, 1, [Define if have ut_syslen record]) fi AC_MSG_RESULT($have_ut_syslen) dnl --------------------------------------------------------------------------- dnl - Check for Xdmcp dnl --------------------------------------------------------------------------- XDMCP_LIBS="" if test x$with_xdmcp != xno ; then xdmcp_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $X_CFLAGS" AC_CHECK_HEADER(X11/Xdmcp.h, [ AC_CHECK_LIB(Xdmcp, XdmcpFlush, [ AC_DEFINE(HAVE_LIBXDMCP, 1, [Define if have libxdmcp]) XDMCP_LIBS="-lXdmcp" XDMCP_SUPPORT=yes],,[$X_LIBS -lX11 $X_EXTRA_LIBS]) ],,[#include ]) if test x$with_xdmcp = xyes -a "x$XDMCP_SUPPORT" = "x" ; then AC_MSG_ERROR(XDMCP support requested but XDMCP libraries not found) fi CPPFLAGS="$xdmcp_save_CPPFLAGS" fi AC_SUBST(XDMCP_LIBS) if test "x$XDMCP_SUPPORT" = "xyes" ; then AM_CONDITIONAL(XDMCP_SUPPORT, true) GDMCHOOSER=gdmchooser else # No need for TCP Wrappers in case XDMCP is disabled if test x$with_tcp_wrappers != xno ; then echo "TCP wrappers not needed if XDMCP is not enabled" fi with_tcp_wrappers=no AM_CONDITIONAL(XDMCP_SUPPORT, false) GDMCHOOSER= fi AC_SUBST(GDMCHOOSER) dnl --------------------------------------------------------------------------- dnl - Check OS dnl --------------------------------------------------------------------------- os_solaris=no case "$host" in *solaris*) os_solaris=yes ;; esac AM_CONDITIONAL(OS_SOLARIS, test x$os_solaris = xyes) dnl --------------------------------------------------------------------------- dnl - Check for TCP Wrappers for XDMCP access control dnl --------------------------------------------------------------------------- if test x$with_tcp_wrappers = xno ; then echo "TCP wrappers disabled" else LIBWRAP_PATH="" if test x$os_solaris = xyes ; then if test -f /usr/lib/libwrap.so; then LIBWRAP_PATH=/usr/lib/libwrap.so echo "Found $LIBWRAP_PATH" 1>&5 nm $LIBWRAP_PATH | grep 'T setenv' && LIBWRAP_PATH="" fi if test -z "$LIBWRAP_PATH"; then if test -f /usr/sfw/lib/libwrap.so; then LIBWRAP_PATH=/usr/sfw/lib/libwrap.so echo "Found $LIBWRAP_PATH" 1>&5 nm $LIBWRAP_PATH | grep 'T setenv' && LIBWRAP_PATH="" fi fi if test -z "$LIBWRAP_PATH"; then echo "*********************************************************" echo " You have a broken TCP wrappers library (setenv included)" echo " Please get the latest TCP wrappers package from your OS" echo " vendor, or recompile TCP wrappers to not include a" echo " setenv() implementation." echo echo "Not using TCP wrappers after all." echo "*********************************************************" else LIBWRAP_LIBS="-L/usr/sfw/lib -R/usr/sfw/lib -lwrap" AC_DEFINE(HAVE_TCPWRAPPERS, 1, [Define if have tcp wrappers]) fi else AC_CHECK_LIB([wrap], [hosts_ctl], [ LIBWRAP_LIBS="-lwrap" LIBWRAP_PATH=auto AC_DEFINE(HAVE_TCPWRAPPERS, 1, [Define if have tcp wrappers])]) fi AC_MSG_CHECKING([whether to use TCP wrappers]) if test -n "$LIBWRAP_PATH"; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi dnl find out if we need -lnsl or whatever LIB_NSL= if test -n "$LIBWRAP_PATH"; then AC_MSG_CHECKING(whether -lwrap also requires -lnsl) ORIG_LIBS="$LIBS" LIBS="$EXTRA_DAEMON_LIBS $LIBS $LIBWRAP_LIBS" AC_TRY_LINK([ #include int allow_severity, deny_severity; ], [return hosts_access;], ,[ dnl try with -lnsl OLD_LIBS="$LIBS" LIBS="$LIBS -lnsl" AC_TRY_LINK([ #include int allow_severity, deny_severity; ], [return hosts_access;], LIB_NSL="-lnsl", LIBWRAP_PATH="") LIBS="$OLD_LIBS" ]) LIBS="$ORIG_LIBS" if test -n "$LIB_NSL"; then AC_MSG_RESULT(yes) EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS $LIB_NSL" else AC_MSG_RESULT(no) fi fi fi AC_SUBST(LIBWRAP_LIBS) dnl --------------------------------------------------------------------------- dnl - Check for XFT2 (for gdm-settings-daemon) dnl --------------------------------------------------------------------------- if $PKG_CONFIG --exists xft ; then AC_DEFINE(HAVE_XFT2,,[Define if Xft functionality is available]) fi dnl --------------------------------------------------------------------------- dnl - Check for Xinput dnl --------------------------------------------------------------------------- have_xinput= AC_CHECK_LIB(Xi, XOpenDevice, XINPUT_LIBS=-lXi) if test "x$XINPUT_LIBS" = x; then save_LIBS="$LIBS" for xinputpath in $x_libraries /usr/X11R6/lib /usr/openwin/lib; do LIBS="-L$xinputpath -lXi" if test x$os_solaris = xyes ; then XINPUT_RPATH_FLAGS="-R$xinputpath" fi AC_MSG_CHECKING(for -lXi in $xinputpath) AC_TRY_LINK([], [XOpenDevice()], [ AC_MSG_RESULT(yes) XINPUT_LIBS="$XINPUT_RPATH_FLAGS -L$xinputpath -lXi" LIBS="$save_LIBS" break],[AC_MSG_RESULT(no)]) done if test "x$XINPUT_LIBS" = x; then AC_MSG_ERROR(Couldn't find the XInput library. Check config.log for details) fi fi AC_CHECK_HEADER(X11/extensions/XInput.h, have_xinput=yes) if test "x$have_xinput" = xyes; then AC_DEFINE(HAVE_XINPUT, 1, [Define if have xinput]) X_EXTRA_LIBS="$X_EXTRA_LIBS $XINPUT_LIBS" fi dnl --------------------------------------------------------------------------- dnl - Check for Xinerama dnl --------------------------------------------------------------------------- # X11 Xinerama extension # Check for Xinerama extension (Solaris impl or Xfree impl) xinerama_save_cppflags="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $X_CFLAGS" ALL_X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" if test ! x$with_xinerama = xno ; then # Check for XFree use_xfree_xinerama=yes AC_CHECK_LIB(Xinerama, XineramaQueryExtension, [AC_CHECK_HEADER(X11/extensions/Xinerama.h, if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS" fi AC_DEFINE(HAVE_XFREE_XINERAMA, 1, [Define if have xfree xinerama]) AC_DEFINE(HAVE_XINERAMA, 1, [Define if have xinerama]) XINERAMA_LIBS="-lXinerama" XINERAMA_SUPPORT=yes, use_xfree_xinerama=no, [#include ])], use_xfree_xinerama=no, -lXext $ALL_X_LIBS) AC_MSG_CHECKING(for Xinerama support on XFree86) AC_MSG_RESULT($use_xfree_xinerama); if test x$use_xfree_xinerama = xno ; then if test x$os_solaris = xyes ; then # Check for solaris use_solaris_xinerama=yes AC_CHECK_LIB(Xext, XineramaGetInfo, use_solaris_xinerama=yes, use_solaris_xinerama=no, $ALL_X_LIBS) if test "x$use_solaris_xinerama" = "xyes"; then AC_CHECK_HEADER(X11/extensions/xinerama.h, if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS" fi AC_DEFINE(HAVE_SOLARIS_XINERAMA, 1, [Define if have Solaris xinerama]) AC_DEFINE(HAVE_XINERAMA, 1, [Define if have xinerama]) XINERAMA_LIBS="" XINERAMA_SUPPORT=yes, use_solaris_xinerama=no, [#include ]) fi AC_MSG_CHECKING(for Xinerama support on Solaris) AC_MSG_RESULT($use_solaris_xinerama); fi fi fi AC_SUBST(XINERAMA_LIBS) CPPFLAGS="$xinerama_save_cppflags" dnl --------------------------------------------------------------------------- dnl - Check for ConsoleKit support dnl --------------------------------------------------------------------------- use_console_kit=no if test "x$with_console_kit" != "xno" ; then use_console_kit=yes AC_DEFINE(WITH_CONSOLE_KIT, 1, [Define to enable ConsoleKit support]) fi AM_CONDITIONAL(WITH_CONSOLE_KIT, test x$use_console_kit = xyes) AC_SUBST(WITH_CONSOLE_KIT) dnl --------------------------------------------------------------------------- dnl - Check for systemd support dnl --------------------------------------------------------------------------- PKG_CHECK_MODULES(SYSTEMD, [libsystemd-login >= 186 libsystemd-daemon], [have_systemd=yes], [have_systemd=no]) if test "x$with_systemd" = "xauto" ; then if test x$have_systemd = xno ; then use_systemd=no else use_systemd=yes fi else use_systemd="$with_systemd" fi if test "x$use_systemd" != "xno" ; then if test "x$have_systemd" = "xno"; then AC_MSG_ERROR([Systemd support explicitly required, but systemd not found]) fi AC_DEFINE(WITH_SYSTEMD, 1, [Define to enable systemd support]) fi AC_SUBST(SYSTEMD_CFLAGS) AC_SUBST(SYSTEMD_LIBS) AC_PATH_PROG(SYSTEMD_X_SERVER, systemd-multi-seat-x, [/lib/systemd/systemd-multi-seat-x], [/lib/systemd:/usr/lib/systemd:$PATH]) AC_SUBST(SYSTEMD_X_SERVER) AC_DEFINE_UNQUOTED(SYSTEMD_X_SERVER,"$SYSTEMD_X_SERVER",[Path to systemd X server wrapper]) if test "x$with_systemdsystemunitdir" != xno; then AC_SUBST(SYSTEMD_SYSTEM_UNIT_DIR, [$with_systemdsystemunitdir]) fi AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno -a "x$use_systemd" = "xyes" ]) dnl --------------------------------------------------------------------------- dnl - Check for plymouth support dnl --------------------------------------------------------------------------- PKG_CHECK_MODULES(PLYMOUTH, [ply-boot-client], [have_plymouth=yes], [have_plymouth=no]) if test "x$with_plymouth" = "xauto" ; then if test x$have_plymouth = xno ; then use_plymouth=no else use_plymouth=yes fi else use_plymouth="$with_plymouth" fi if test "x$use_plymouth" != "xno" ; then if test "x$have_plymouth" = "xno"; then AC_MSG_ERROR([Plymouth support explicitly required, but plymouth not found]) fi AC_DEFINE(WITH_PLYMOUTH, 1, [Define to enable plymouth support]) fi AC_SUBST(PLYMOUTH_CFLAGS) AC_SUBST(PLYMOUTH_LIBS) dnl --------------------------------------------------------------------------- dnl - Check for D-Bus dnl --------------------------------------------------------------------------- dnl - Are we specifying a different dbus root ? AC_ARG_WITH(dbus-sys, AS_HELP_STRING([--with-dbus-sys=], [where D-BUS system.d directory is])) AC_ARG_WITH(dbus-services, AS_HELP_STRING([--with-dbus-services=], [where D-BUS services directory is])) if ! test -z "$with_dbus_sys" ; then DBUS_SYS_DIR="$with_dbus_sys" else DBUS_SYS_DIR="$sysconfdir/dbus-1/system.d" fi AC_SUBST(DBUS_SYS_DIR) dnl --------------------------------------------------------------------------- dnl - Check for ISO Codes dnl --------------------------------------------------------------------------- AC_MSG_CHECKING([whether iso-codes has iso-639 domain]) if $PKG_CONFIG --variable=domains iso-codes | grep 639 >/dev/null ; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_DEFINE_UNQUOTED([ISO_CODES_PREFIX],["`$PKG_CONFIG --variable=prefix iso-codes`"],[ISO codes prefix]) ISO_CODES=iso-codes dnl --------------------------------------------------------------------------- dnl check for RBAC dnl --------------------------------------------------------------------------- msg_rbac_shutdown=no AC_ARG_ENABLE(rbac-shutdown, AC_HELP_STRING([--enable-rbac-shutdown=], [Build with RBAC support specifying shutdown/reboot RBAC authentication key]), enable_rbac_shutdown=$enableval,enable_rbac_shutdown=no) if test "x$enable_rbac_shutdown" != "xno"; then RBAC_LIBS="-lsecdb -lsocket -lnsl" AC_DEFINE(ENABLE_RBAC_SHUTDOWN, [], [Set if we build with RBAC support]) AC_DEFINE_UNQUOTED(RBAC_SHUTDOWN_KEY, "$enable_rbac_shutdown", [Set if we build with RBAC support]) msg_rbac_shutdown="yes, using key $enable_rbac_shutdown" fi AC_SUBST(RBAC_LIBS) dnl --------------------------------------------------------------------------- dnl check for backtrace support dnl --------------------------------------------------------------------------- AC_CHECK_HEADERS(execinfo.h) dnl --------------------------------------------------------------------------- dnl check for process control dnl --------------------------------------------------------------------------- AC_CHECK_HEADERS(sys/prctl.h) dnl --------------------------------------------------------------------------- dnl - Define some variables to represent the directories we use. dnl --------------------------------------------------------------------------- AC_SUBST(authdir, ${localstatedir}/gdm) AC_SUBST(gdmlocaledir, ${gdmconfdir}) AC_SUBST(pixmapdir, ${datadir}/pixmaps) AC_ARG_WITH(log-dir, AS_HELP_STRING([--with-log-dir=], [log dir])) if ! test -z "$with_log_dir"; then GDM_LOG_DIR=$with_log_dir else GDM_LOG_DIR=/var/log/gdm fi AC_SUBST(logdir, $GDM_LOG_DIR) withval="" AC_ARG_WITH(at-bindir, AS_HELP_STRING([--with-at-bindir=] [PATH to Accessible Technology programs @<:@default=BINDIR@:>@])) if test x$withval != x; then AT_BINDIR="$withval" else AT_BINDIR='${bindir}' fi AC_SUBST(AT_BINDIR) withval="" AC_ARG_WITH(defaults_conf, AS_HELP_STRING([--with-defaults-conf=], [FILENAME to give to defaults file @<:@default=DATADIR/gdm/defaults.conf@:>@])) if test x$withval != x; then GDM_DEFAULTS_CONF="$withval" else GDM_DEFAULTS_CONF='${datadir}/gdm/defaults.conf' fi AC_SUBST(GDM_DEFAULTS_CONF) withval="" AC_ARG_WITH(custom_conf, AS_HELP_STRING([--with-custom-conf=], [FILENAME to give to custom configuration file @<:@default=GDMCONFDIR/custom.conf@:>@])) if test x$withval != x; then GDM_CUSTOM_CONF="$withval" else GDM_CUSTOM_CONF='${gdmconfdir}/custom.conf' fi AC_SUBST(GDM_CUSTOM_CONF) AC_SUBST(GDM_OLD_CONF, '${gdmconfdir}/gdm.conf') dnl --------------------------------------------------------------------------- dnl - Check for XEvIE extension support dnl --------------------------------------------------------------------------- AC_ARG_WITH(xevie, AS_HELP_STRING([--with-xevie], [Add XEvIE Xserver extension support @<:@default=no@:>@]),, with_xevie=no) if test x$with_xevie != xno ; then XEVIE_OPTION="+extension XEVIE" else XEVIE_OPTION="" fi AC_SUBST(XEVIE_OPTION) AC_DEFINE_UNQUOTED(XEVIE_OPTION,"$XEVIE_OPTION",[Define xevie option]) dnl --------------------------------------------------------------------------- dnl - Check for audit framework dnl --------------------------------------------------------------------------- # Check for Solaris auditing API # Note, Solaris auditing not supported for Solaris 9 or earlier and # should not be used on these versions of Solaris if auditing is # required. Solaris auditing is only supported on systems that # support the ADT_USER enumeration value. # AC_MSG_CHECKING(for Solaris auditing API) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include adt_user_context = ADT_USER; ]], [[]])], [ check_sun_audit=yes ], [ check_sun_audit=no ]) if test ${check_sun_audit} = yes then AC_DEFINE(HAVE_ADT, 1, [Define if have adt]) PAM_LIBS="$PAM_LIBS -lbsm" AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi AM_CONDITIONAL(HAVE_ADT, test x$check_sun_audit = xyes) # Check for Linux auditing API # AC_ARG_WITH(libaudit, AS_HELP_STRING([--with-libaudit], [Add Linux audit support @<:@default=auto@:>@]),, with_libaudit=auto) # libaudit detection if test x$with_libaudit = xno ; then have_libaudit=no; else # See if we have audit daemon library AC_CHECK_LIB(audit, audit_log_user_message, have_libaudit=yes, have_libaudit=no) fi AM_CONDITIONAL(HAVE_LIBAUDIT, test x$have_libaudit = xyes) if test x$have_libaudit = xyes ; then PAM_LIBS="$PAM_LIBS -laudit" AC_DEFINE(HAVE_LIBAUDIT,1,[linux audit support]) fi # # Subst the extra libs # AC_SUBST(EXTRA_DAEMON_LIBS) AC_SUBST(EXTRA_SLAVE_LIBS) AC_SUBST(EXTRA_CHOOSER_LIBS) AC_SUBST(EXTRA_XNEST_LIBS) AC_SUBST(EXTRA_FLEXI_LIBS) AC_SUBST(EXTRA_DYNAMIC_LIBS) AC_SUBST(EXTRA_SETUP_LIBS) AC_SUBST(EXTRA_TEST_LIBS) AC_SUBST(EXTRA_GREETER_LIBS) # Check for Solaris logindevperm support # AC_CHECK_LIB(devinfo, di_devperm_login, [ AC_DEFINE(HAVE_LOGINDEVPERM) PAM_LIBS="$PAM_LIBS -ldevinfo" ]) dnl --------------------------------------------------------------------------- dnl - Check for X Server location dnl --------------------------------------------------------------------------- # First check with "! -h" for /usr/X11R6 and /usr/X11 since they often # symlink to each other, and configure should use the more stable # location (the real directory) if possible. # # On Solaris, the /usr/bin/Xserver script is used to decide whether to # use Xsun or Xorg, so this is used on Solaris. # # When testing for /usr/X11R6, first check with "! -h" for /usr/X11R6 # and /usr/X11 since they often symlink to each other, and configure # should use the more stable location (the real directory) if possible. # if test -x /usr/X11/bin/Xserver; then X_PATH="/usr/X11/bin" X_SERVER_PATH="/usr/X11/bin" X_SERVER="/usr/X11/bin/Xserver" elif test ! -h /usr/X11R6 -a -x /usr/X11R6/bin/X; then X_PATH="/usr/X11R6/bin" X_SERVER_PATH="/usr/X11R6/bin" X_SERVER="/usr/X11R6/bin/X" elif test ! -h /usr/X11 -a -x /usr/X11/bin/X; then X_PATH="/usr/X11/bin" X_SERVER_PATH="/usr/X11/bin" X_SERVER="/usr/X11/bin/X" elif test -x /usr/X11R6/bin/X; then X_PATH="/usr/X11R6/bin" X_SERVER_PATH="/usr/X11R6/bin" X_SERVER="/usr/X11R6/bin/X" elif test -x /usr/bin/Xorg; then X_PATH="/usr/bin" X_SERVER_PATH="/usr/bin" X_SERVER="/usr/bin/Xorg" elif test -x /usr/X11/bin/X; then X_PATH="/usr/X11/bin" X_SERVER_PATH="/usr/X11/bin" X_SERVER="/usr/X11/bin/X" elif test -x /usr/openwin/bin/Xsun; then # Do not add /usr/openwin/bin here because on Solaris you need # /usr/openwin/bin in your PATH even if you are using the Xorg # Xserver. We add this to the path below. X_PATH="/usr/openwin/bin" X_SERVER_PATH="/usr/openwin/bin" X_SERVER="/usr/openwin/bin/Xsun" elif test -x /opt/X11R6/bin/X; then X_PATH="/opt/X11R6/bin" X_SERVER_PATH="/opt/X11R6/bin" X_SERVER="/opt/X11R6/bin/X" elif test -x /usr/bin/X; then X_PATH="/usr/bin" X_SERVER_PATH="/usr/bin" X_SERVER="/usr/bin/X" else # what to do, what to do, this is wrong, but this just sets the # defaults, perhaps this user is cross compiling or some such X_PATH="/usr/bin/X11:/usr/X11R6/bin:/opt/X11R6/bin" X_SERVER_PATH="/usr/bin" X_SERVER="/usr/bin/X" fi dnl --------------------------------------------------------------------------- dnl - Check for Xnest / Xephyr support dnl --------------------------------------------------------------------------- # Use Xephyr if it is available. It works better than Xnest since Xephyr # supports the Xserver extensions, even if on a remote machine. # X_XNEST_UNSCALED_FONTPATH="true" if test -x $X_SERVER_PATH/Xephyr; then X_XNEST_CMD="$X_SERVER_PATH/Xephyr" X_XNEST_CONFIG_OPTIONS="-audit 0" else if test -x /usr/openwin/bin/Xnest; then # If on Solaris, Xnest is only shipped with the Xsun Xserver, so # use this version. # X_XNEST_CMD="/usr/openwin/bin/Xnest" X_XNEST_CONFIG_OPTIONS="-audit 0 -name Xnest -pn" X_XNEST_UNSCALED_FONTPATH="false" else if test -x $X_SERVER_PATH/Xnest; then X_XNEST_CMD="$X_SERVER_PATH/Xnest" X_XNEST_CONFIG_OPTIONS="-audit 0 -name Xnest" fi fi fi dnl --------------------------------------------------------------------------- dnl - Expand vars dnl --------------------------------------------------------------------------- AS_AC_EXPAND(LOCALSTATEDIR, $localstatedir) AS_AC_EXPAND(SYSCONFDIR, $sysconfdir) AS_AC_EXPAND(DATADIR, $datadir) AS_AC_EXPAND(BINDIR, $bindir) AS_AC_EXPAND(SBINDIR, $sbindir) AS_AC_EXPAND(LIBDIR, $libdir) AS_AC_EXPAND(LIBEXECDIR, $libexecdir) dnl --------------------------------------------------------------------------- dnl - PID file dnl --------------------------------------------------------------------------- AC_ARG_WITH(pid-file, AS_HELP_STRING([--with-pid-file=], [pid file])) if ! test -z "$with_pid_file"; then GDM_PID_FILE=$with_pid_file else GDM_PID_FILE=/var/run/gdm.pid fi AC_SUBST(GDM_PID_FILE) AC_DEFINE_UNQUOTED(GDM_PID_FILE, "$GDM_PID_FILE", [pid file]) dnl --------------------------------------------------------------------------- dnl - GREETER WORKING DIRECTORY dnl --------------------------------------------------------------------------- AC_ARG_WITH(working-directory, AS_HELP_STRING([--with-working-dir=], [working directory])) if ! test -z "$with_working_directory"; then GDM_WORKING_DIR=$with_working_directory else GDM_WORKING_DIR=${localstatedir}/lib/gdm fi AC_SUBST(GDM_WORKING_DIR) dnl --------------------------------------------------------------------------- dnl - Directory for X auth cookies dnl --------------------------------------------------------------------------- AC_ARG_WITH(xauth-dir, AS_HELP_STRING([--with-xauth-dir=], [xauth cookie directory])) if ! test -z "$with_xauth_dir"; then GDM_XAUTH_DIR=$with_xauth_dir else GDM_XAUTH_DIR=${localstatedir}/run/gdm fi AC_SUBST(GDM_XAUTH_DIR) dnl --------------------------------------------------------------------------- dnl - Directory for greeter screenshot dnl --------------------------------------------------------------------------- AC_ARG_WITH(screenshot-dir, AS_HELP_STRING([--with-screenshot-dir=], [directory to store greeter screenshot])) if ! test -z "$with_screenshot_dir"; then GDM_SCREENSHOT_DIR=$with_screenshot_dir else GDM_SCREENSHOT_DIR=${localstatedir}/run/gdm/greeter fi AC_SUBST(GDM_SCREENSHOT_DIR) dnl --------------------------------------------------------------------------- dnl - Directory for simple greeter extensions dnl --------------------------------------------------------------------------- GDM_SIMPLE_GREETER_PLUGINS_DIR=${libdir}/gdm/simple-greeter/extensions AC_SUBST(GDM_SIMPLE_GREETER_PLUGINS_DIR) GDM_SIMPLE_GREETER_EXTENSIONS_DATA_DIR=${datadir}/gdm/simple-greeter/extensions AC_SUBST(GDM_SIMPLE_GREETER_EXTENSIONS_DATA_DIR) dnl --------------------------------------------------------------------------- dnl - Finish dnl --------------------------------------------------------------------------- # Turn on the additional warnings last, so -Werror doesn't affect other tests. AC_ARG_ENABLE(more-warnings, AS_HELP_STRING([--enable-more-warnings], [Maximum compiler warnings]), set_more_warnings="$enableval",[ if test -d $srcdir/.git; then set_more_warnings=yes else set_more_warnings=no fi]) AC_MSG_CHECKING(for more warnings) if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then AC_MSG_RESULT(yes) CFLAGS="\ -Wall \ -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \ -Wnested-externs -Wpointer-arith \ -Wcast-align -Wsign-compare -Wp,-D_FORTIFY_SOURCE=2 \ $CFLAGS" for option in -Wno-strict-aliasing -Wno-sign-compare; do SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $option" AC_MSG_CHECKING([whether gcc understands $option]) AC_TRY_COMPILE([], [], has_option=yes, has_option=no,) if test $has_option = no; then CFLAGS="$SAVE_CFLAGS" fi AC_MSG_RESULT($has_option) unset has_option unset SAVE_CFLAGS done unset option else AC_MSG_RESULT(no) fi # # Enable Debug # AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug], [turn on debugging]),, enable_debug=yes) if test "$enable_debug" = "yes"; then DEBUG_CFLAGS="-DG_ENABLE_DEBUG" else if test "x$enable_debug" = "xno"; then DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS" else DEBUG_CFLAGS="" fi fi AC_SUBST(DEBUG_CFLAGS) # # Enable Profiling # AC_ARG_ENABLE(profiling, AS_HELP_STRING([--enable-profiling], [turn on profiling]),, enable_profiling=yes) if test "$enable_profiling" = "yes"; then AC_DEFINE(ENABLE_PROFILING,1,[enable profiling]) fi # # Set SHELL to use in scripts. # if test x$os_solaris = xyes ; then XSESSION_SHELL=/bin/ksh else XSESSION_SHELL=/bin/sh fi # # Set VT to use for initial server # AC_ARG_WITH(initial-vt, AS_HELP_STRING([--with-initial-vt=], [Initial virtual terminal to use])) if ! test -z "$with_initial_vt"; then GDM_INITIAL_VT="$with_initial_vt" else GDM_INITIAL_VT="1" fi AC_SUBST(GDM_INITIAL_VT) AC_DEFINE_UNQUOTED(GDM_INITIAL_VT, "$GDM_INITIAL_VT", [Initial Virtual Terminal]) # Set configuration choices. # AC_SUBST(XSESSION_SHELL) AC_DEFINE_UNQUOTED(XSESSION_SHELL,"$XSESSION_SHELL",[xsession shell]) AC_SUBST(SOUND_PROGRAM) AC_DEFINE_UNQUOTED(SOUND_PROGRAM,"$SOUND_PROGRAM",[]) AC_SUBST(X_PATH) AC_SUBST(X_SERVER) AC_SUBST(X_SERVER_PATH) AC_DEFINE_UNQUOTED(X_SERVER,"$X_SERVER",[]) AC_DEFINE_UNQUOTED(X_SERVER_PATH,"$X_SERVER_PATH",[]) AC_SUBST(X_XNEST_CMD) AC_SUBST(X_XNEST_CONFIG_OPTIONS) AC_SUBST(X_XNEST_UNSCALED_FONTPATH) AC_DEFINE_UNQUOTED(X_XNEST_CMD,"$X_XNEST_CMD",[]) AC_DEFINE_UNQUOTED(X_XNEST_CONFIG_OPTIONS,"$X_XNEST_CONFIG_OPTIONS",[]) AC_DEFINE_UNQUOTED(X_XNEST_UNSCALED_FONTPATH,"$X_XNEST_UNSCALED_FONTPATH",[]) ## Stuff for debian/changelog.in #if test -e "debian/changelog"; then # DEBIAN_DATESTAMP=`head -1 debian/changelog| sed -e 's/.*cvs.//' -e 's/).*//'` # DEBIAN_DATE=`grep '^ --' debian/changelog | head -1 | sed -e 's/.* //'` #else # DEBIAN_DATESTAMP=`date +%Y%m%d%H%M%s` # DEBIAN_DATE=`date -R` #fi # #AC_SUBST(DEBIAN_DATESTAMP) #AC_SUBST(DEBIAN_DATE) AC_CONFIG_FILES([ Makefile daemon/Makefile docs/Makefile gui/Makefile gui/libgdm/Makefile gui/libgdm/gdm.pc gui/simple-greeter/Makefile gui/simple-greeter/libgdmsimplegreeter/Makefile gui/simple-greeter/libgdmsimplegreeter/gdmsimplegreeter.pc gui/simple-greeter/extensions/Makefile gui/simple-greeter/extensions/unified/Makefile gui/simple-greeter/extensions/password/Makefile gui/simple-greeter/extensions/fingerprint/Makefile gui/simple-greeter/extensions/fingerprint/icons/Makefile gui/simple-greeter/extensions/fingerprint/icons/16x16/Makefile gui/simple-greeter/extensions/fingerprint/icons/48x48/Makefile gui/simple-greeter/extensions/smartcard/Makefile gui/simple-greeter/extensions/smartcard/icons/Makefile gui/simple-greeter/extensions/smartcard/icons/16x16/Makefile gui/simple-greeter/extensions/smartcard/icons/48x48/Makefile gui/simple-chooser/Makefile utils/Makefile data/gdm.conf data/Makefile data/applications/Makefile data/pixmaps/Makefile data/pixmaps/16x16/Makefile data/pixmaps/32x32/Makefile data/pixmaps/48x48/Makefile common/Makefile po/Makefile.in tests/Makefile ]) AC_OUTPUT dnl --------------------------------------------------------------------------- dnl - Show summary dnl --------------------------------------------------------------------------- echo " GDM $VERSION ============ prefix: ${prefix} exec_prefix: ${exec_prefix} libdir: ${libdir} bindir: ${bindir} sbindir: ${sbindir} sysconfdir: ${sysconfdir} sysconfsubdir: ${sysconfsubdir} gdmconfdir: ${gdmconfdir} dmconfdir: ${dmconfdir} localstatedir: ${localstatedir} datadir: ${datadir} source code location: ${srcdir} compiler: ${CC} cflags: ${CFLAGS} Maintainer mode: ${USE_MAINTAINER_MODE} user: ${GDM_USERNAME} group: ${GDM_GROUPNAME} dbus-1 system.d dir: ${DBUS_SYS_DIR} PAM prefix: ${PAM_PREFIX} PAM config: ${with_default_pam_config} X server: ${X_SERVER} " dnl TCP Wrappers support? if test x"$LIBWRAP_PATH" = x ; then echo \ " TCP Wrappers support: no" else echo \ " TCP Wrappers support: yes" fi echo \ " Xinerama support: ${XINERAMA_SUPPORT} XDMCP support: ${XDMCP_SUPPORT} ConsoleKit support: ${use_console_kit} systemd support: ${use_systemd} systemd unit dir: ${with_systemdsystemunitdir} plymouth support: ${use_plymouth} UPower support: ${have_upower} Build with RBAC: ${msg_rbac_shutdown} Initial VT: ${GDM_INITIAL_VT} "