290 lines
12 KiB
Plaintext
290 lines
12 KiB
Plaintext
#
|
|
# Copyright (C) 2010 - 2011, Robert Ancell <robert.ancell@canonical.com>
|
|
# Copyright (C) 2012 - 2013, Lionel Le Folgoc <mrpouit@ubuntu.com>
|
|
# Copyright (C) 2013 - 2024, Sean Davis <sean@bluesabre.org>
|
|
# Copyright (C) 2014, Andrew P. <pan.pav.7c5@gmail.com>
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify it under
|
|
# the terms of the GNU General Public License as published by the Free Software
|
|
# Foundation, either version 3 of the License, or (at your option) any later
|
|
# version. See http://www.gnu.org/copyleft/gpl.html the full text of the
|
|
# license.
|
|
#
|
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
AC_PREREQ([2.64])
|
|
AC_INIT([lightdm-gtk-greeter],[2.0.9],[https://github.com/xubuntu/lightdm-gtk-greeter])
|
|
AC_CONFIG_HEADERS([config.h])
|
|
AC_CONFIG_SRCDIR([src/lightdm-gtk-greeter.c])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
|
|
LT_INIT
|
|
AM_INIT_AUTOMAKE([1.11 tar-ustar foreign -Wall -Wno-portability])
|
|
AM_MAINTAINER_MODE([enable])
|
|
|
|
# Use AM_SILENT_RULES if present
|
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)])
|
|
|
|
AC_PROG_CC
|
|
|
|
GOBJECT_INTROSPECTION_CHECK(0.9.5)
|
|
|
|
dnl ###########################################################################
|
|
dnl Standard headers
|
|
dnl ###########################################################################
|
|
|
|
AC_CHECK_HEADERS([stdlib.h])
|
|
|
|
dnl ###########################################################################
|
|
dnl Dependencies
|
|
dnl ###########################################################################
|
|
|
|
PKG_CHECK_MODULES([GTK], [gtk+-3.0])
|
|
PKG_CHECK_MODULES([GMODULE], [gmodule-export-2.0])
|
|
PKG_CHECK_MODULES([LIGHTDMGOBJECT], [liblightdm-gobject-1 >= 1.19.2],
|
|
[AC_DEFINE([HAVE_LIBLIGHTDMGOBJECT_1_19_2], [1], [Building with liblightdmgobject 1.19.2])],
|
|
[PKG_CHECK_MODULES([LIGHTDMGOBJECT], [liblightdm-gobject-1 >= 1.3.5])]
|
|
)
|
|
PKG_CHECK_MODULES([LIBX11], [x11])
|
|
|
|
dnl ###########################################################################
|
|
dnl Optional dependencies
|
|
dnl ###########################################################################
|
|
|
|
AYATANA_INDICATOR_REQUIRED_VERSION=0.6.0
|
|
AYATANA_INDICATOR_PKG=ayatana-indicator3-0.4
|
|
AYATANA_IDO_REQUIRED_VERSION=0.4.0
|
|
AYATANA_IDO_PKG=libayatana-ido3-0.4
|
|
|
|
UNITY_INDICATOR_REQUIRED_VERSION=0.3.92
|
|
UNITY_INDICATOR_PKG=indicator3-0.4
|
|
UNITY_IDO_REQUIRED_VERSION=13.10
|
|
UNITY_IDO_PKG=libido3-0.1
|
|
|
|
dnl ###########################################################################
|
|
|
|
AC_ARG_ENABLE([libindicator],
|
|
AC_HELP_STRING([--enable-libindicator], [Enable libindicator support])
|
|
AC_HELP_STRING([--disable-libindicator], [Disable libindicator support]),
|
|
[], [enable_libindicator=yes])
|
|
|
|
AC_ARG_WITH([libindicator], AS_HELP_STRING([--with-libindicator=ayatana|unity], [Preferred indicator backend [default=ayatana]]))
|
|
have_indicator_ng=no
|
|
|
|
AS_IF([test "x$enable_libindicator" = "xyes"], [
|
|
AS_IF([test "x$with_libindicator" != "xunity" && $PKG_CONFIG --exists "$AYATANA_INDICATOR_PKG >= $AYATANA_INDICATOR_REQUIRED_VERSION" >/dev/null 2>&1], [
|
|
PKG_CHECK_MODULES([AYATANA_LIBINDICATOR], [$AYATANA_INDICATOR_PKG >= $AYATANA_INDICATOR_REQUIRED_VERSION], [
|
|
have_ayatana_libindicator=yes
|
|
have_libindicator=yes
|
|
INDICATORDIR=`$PKG_CONFIG --variable=indicatordir $AYATANA_INDICATOR_PKG`
|
|
AC_SUBST(INDICATORDIR)
|
|
AYATANA_INDICATORDIR="${prefix}/share/ayatana/indicators"
|
|
AC_SUBST(AYATANA_INDICATORDIR)
|
|
AC_DEFINE([HAVE_LIBINDICATOR], [1], [Define if "$AYATANA_INDICATOR_PKG" is present])
|
|
AC_DEFINE([HAVE_AYATANA_LIBINDICATOR], [1], [Define if "$AYATANA_INDICATOR_PKG" is present])
|
|
|
|
CPPFLAGS_OLD="$CPPFLAGS"
|
|
CPPFLAGS=`$PKG_CONFIG --cflags ${AYATANA_INDICATOR_PKG}`
|
|
AC_CHECK_HEADER([libayatana-indicator/indicator-ng.h], [
|
|
have_indicator_ng=yes
|
|
AC_DEFINE([HAVE_LIBINDICATOR_NG], [1], [Define if "libayatana-indicator/indicator-ng.h" is present])
|
|
AC_DEFINE([HAVE_AYATANA_LIBINDICATOR_NG], [1], [Define if "libayatana-indicator/indicator-ng.h" is present])
|
|
], [], [-])
|
|
CPPFLAGS="$CPPFLAGS_OLD"
|
|
])
|
|
], [
|
|
AS_IF([test "x$with_libindicator" != "xunity"], [
|
|
AC_MSG_CHECKING([for optional package $AYATANA_INDICATOR_PKG])
|
|
AC_MSG_RESULT([not found])
|
|
], [])
|
|
AS_IF([$PKG_CONFIG --exists "$UNITY_INDICATOR_PKG >= $UNITY_INDICATOR_REQUIRED_VERSION" >/dev/null 2>&1], [
|
|
PKG_CHECK_MODULES([UNITY_LIBINDICATOR], [$UNITY_INDICATOR_PKG >= $UNITY_INDICATOR_REQUIRED_VERSION], [
|
|
have_unity_libindicator=yes
|
|
have_libindicator=yes
|
|
INDICATORDIR=`$PKG_CONFIG --variable=indicatordir $UNITY_INDICATOR_PKG`
|
|
AC_SUBST(INDICATORDIR)
|
|
UNITY_INDICATORDIR="${prefix}/share/unity/indicators"
|
|
AC_SUBST(UNITY_INDICATORDIR)
|
|
AC_DEFINE([HAVE_LIBINDICATOR], [1], [Define if "$UNITY_INDICATOR_PKG" is present])
|
|
AC_DEFINE([HAVE_UNITY_LIBINDICATOR], [1], [Define if "$UNITY_INDICATOR_PKG" is present])
|
|
|
|
CPPFLAGS_OLD="$CPPFLAGS"
|
|
CPPFLAGS=`$PKG_CONFIG --cflags ${UNITY_INDICATOR_PKG}`
|
|
AC_CHECK_HEADER([libindicator/indicator-ng.h], [
|
|
have_indicator_ng=yes
|
|
AC_DEFINE([HAVE_LIBINDICATOR_NG], [1], [Define if "libindicator/indicator-ng.h" is present])
|
|
AC_DEFINE([HAVE_UNITY_LIBINDICATOR_NG], [1], [Define if "libindicator/indicator-ng.h" is present])
|
|
], [], [-])
|
|
CPPFLAGS="$CPPFLAGS_OLD"
|
|
])
|
|
], [
|
|
AC_MSG_CHECKING([for optional package $UNITY_INDICATOR_PKG])
|
|
AC_MSG_RESULT([not found])
|
|
])
|
|
])
|
|
], [
|
|
AC_MSG_CHECKING([for optional package $AYATANA_INDICATOR_PKG or $UNITY_INDICATOR_PKG])
|
|
AC_MSG_RESULT([disabled])
|
|
])
|
|
|
|
AM_CONDITIONAL([HAVE_UNITY_LIBINDICATOR], [test "x$have_unity_libindicator" = "xyes"])
|
|
|
|
AC_ARG_WITH([systemd-service-dir], AS_HELP_STRING([--with-systemd-service-dir=path], [Path where systemd indicator service units are stored]))
|
|
AS_IF([test "x$with_systemd_service_dir" = "x" || test "x$with_systemd_service_dir" = "x"], [
|
|
with_systemd_service_dir="/usr/lib/systemd/user"
|
|
], [])
|
|
SYSTEMD_SERVICE_DIR="$with_systemd_service_dir"
|
|
AC_SUBST(SYSTEMD_SERVICE_DIR)
|
|
|
|
dnl ###########################################################################
|
|
|
|
AC_ARG_ENABLE([libido],
|
|
AC_HELP_STRING([--enable-libido], [Enable libido support])
|
|
AC_HELP_STRING([--disable-libido], [Disable libido support]),
|
|
[], [enable_libido=yes])
|
|
|
|
have_ido=no
|
|
|
|
AS_IF([test "x$enable_libido" = "xyes" && test "x$have_libindicator" = "xyes"], [
|
|
AS_IF([test "x$have_ayatana_libindicator" = "xyes" && $PKG_CONFIG --exists "$AYATANA_IDO_PKG" >/dev/null 2>&1], [
|
|
PKG_CHECK_MODULES([AYATANA_LIBIDO], [$AYATANA_IDO_PKG >= $AYATANA_IDO_REQUIRED_VERSION], [
|
|
have_ido=yes
|
|
AC_DEFINE([HAVE_LIBIDO], [1], [Define if "$AYATANA_IDO_PKG" is present])
|
|
AC_DEFINE([HAVE_AYATANA_LIBIDO], [1], [Define if "$AYATANA_IDO_PKG" is present])
|
|
])
|
|
], [
|
|
AS_IF([test "x$have_ayatana_libindicator" = "xyes"], [
|
|
AC_MSG_CHECKING([for optional package $AYATANA_IDO_PKG])
|
|
AC_MSG_RESULT([not found])
|
|
], [])
|
|
AS_IF([$PKG_CONFIG --exists "$UNITY_IDO_PKG" >/dev/null 2>&1], [
|
|
PKG_CHECK_MODULES([UNITY_LIBIDO], [$UNITY_IDO_PKG >= $UNITY_IDO_REQUIRED_VERSION], [
|
|
have_ido=yes
|
|
AC_DEFINE([HAVE_LIBIDO], [1], [Define if "$UNITY_IDO_PKG" is present])
|
|
AC_DEFINE([HAVE_UNITY_LIBIDO], [1], [Define if "$UNITY_IDO_PKG" is present])
|
|
])
|
|
], [
|
|
AC_MSG_CHECKING([for optional package $UNITY_IDO_PKG])
|
|
AC_MSG_RESULT([not found])
|
|
])
|
|
])
|
|
], [
|
|
AC_MSG_CHECKING([for optional package $AYATANA_IDO_PKG or $UNITY_IDO_PKG])
|
|
AC_MSG_RESULT([disabled])
|
|
])
|
|
|
|
dnl ###########################################################################
|
|
|
|
AC_ARG_WITH([libxklavier], AS_HELP_STRING([--with-libxklavier], [Use libxklavier to manage layouts (instead of LightDM API)]))
|
|
|
|
AS_IF([test "x$with_libxklavier" = "xyes"],
|
|
[
|
|
PKG_CHECK_MODULES([LIBXKLAVIER], [libxklavier], [have_xklavier=yes])
|
|
AC_DEFINE([HAVE_LIBXKLAVIER], [1], [Define if "libxklavier" is present])
|
|
],
|
|
[
|
|
with_libxklavier=no
|
|
])
|
|
|
|
dnl ###########################################################################
|
|
|
|
AC_ARG_ENABLE([at-spi-command],
|
|
AC_HELP_STRING([--enable-at-spi-command[=command]], [Try to start at-spi service]])
|
|
AC_HELP_STRING([--disable-at-spi-command], [Do not start at-spi service]),
|
|
[], [])
|
|
|
|
AS_IF([test "x$enable_at_spi_command" != "xno"],
|
|
[
|
|
if test "x$enable_at_spi_command" = "xyes" || test "x$enable_at_spi_command" = "x"; then
|
|
enable_at_spi_command="/usr/libexec/at-spi-bus-launcher --launch-immediately"
|
|
fi
|
|
AC_DEFINE_UNQUOTED([AT_SPI_COMMAND], ["$enable_at_spi_command"], [Command to start at-spi service])
|
|
])
|
|
|
|
dnl ###########################################################################
|
|
|
|
AC_ARG_ENABLE([indicator-services-command],
|
|
AC_HELP_STRING([--enable-indicator-services-command[=command]], [Try to start indicators service]])
|
|
AC_HELP_STRING([--disable-indicator-services-command], [Do not start indicators service]),
|
|
[], [])
|
|
|
|
AS_IF([test "x$enable_indicator_services_command" != "xno"],
|
|
[
|
|
if test "x$enable_indicator_services_command" = "xyes" || test "x$enable_indicator_services_command" = "x"; then
|
|
enable_indicator_services_command="systemd --user indicator-services-start"
|
|
fi
|
|
AC_DEFINE_UNQUOTED([INDICATOR_SERVICES_COMMAND], ["$enable_indicator_services_command"], [Command to start indicators service])
|
|
])
|
|
|
|
dnl ###########################################################################
|
|
|
|
AC_ARG_ENABLE([kill-on-sigterm],
|
|
AC_HELP_STRING([--enable-kill-on-sigterm], [Kill greeter instance on SIGTERM, see LP1445461])
|
|
AC_HELP_STRING([--disable-kill-on-sigterm], [Don't kill greeter on SIGTERM, see LP1445461']),
|
|
[], [enable_kill_on_sigterm=no])
|
|
|
|
AS_IF([test "x$enable_kill_on_sigterm" = "xyes"],
|
|
[
|
|
AC_DEFINE([KILL_ON_SIGTERM], [1], [Kill greeter in SIGTERM handler, see LP1445461])
|
|
],
|
|
[])
|
|
|
|
dnl ###########################################################################
|
|
dnl Internationalization
|
|
dnl ###########################################################################
|
|
|
|
GETTEXT_PACKAGE="lightdm-gtk-greeter"
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [GETTEXT package name])
|
|
AM_GNU_GETTEXT_VERSION([0.19.7])
|
|
AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.7])
|
|
AM_GNU_GETTEXT([external])
|
|
|
|
dnl ###########################################################################
|
|
dnl Files to generate
|
|
dnl ###########################################################################
|
|
|
|
AC_CONFIG_FILES([
|
|
Makefile
|
|
data/Makefile
|
|
data/badges/Makefile
|
|
po/Makefile.in
|
|
src/Makefile
|
|
])
|
|
AC_OUTPUT
|
|
|
|
AS_IF([test "x$have_libindicator" = "xyes"], [
|
|
AS_IF([test "x$have_ayatana_libindicator" = "xyes"], [
|
|
indicator_backend="ayatana"
|
|
], [
|
|
indicator_backend="unity"
|
|
])
|
|
], [
|
|
indicator_backend="disabled"
|
|
])
|
|
|
|
echo "
|
|
------------------------------------------------------
|
|
LightDM GTK Greeter $VERSION
|
|
====================================
|
|
|
|
Installation:
|
|
=============
|
|
Prefix: $prefix
|
|
AT-SPI Service: $enable_at_spi_command
|
|
Use libxklavier: $with_libxklavier
|
|
Enable SIGTERM Handler: $enable_kill_on_sigterm
|
|
|
|
Indicators:
|
|
===========
|
|
Indicator Support: $indicator_backend
|
|
Indicator Services Command: $enable_indicator_services_command
|
|
systemd Services: $with_systemd_service_dir
|
|
Indicator NG: $have_indicator_ng
|
|
IDO: $have_ido
|
|
|
|
------------------------------------------------------
|
|
|
|
Configuration finished, type make to compile"
|