# This file is part of GNU Pies. -*- autoconf -*-
# Copyright (C) 2009-2019 Sergey Poznyakoff
#
# GNU Pies 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, or (at your option)
# any later version.
#
# GNU Pies is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Pies. If not, see .
AC_PREREQ([2.63])
AC_INIT([GNU Pies], [1.3.90], [bug-pies@gnu.org.ua])
AC_CONFIG_SRCDIR([src/pies.h])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([1.11 gnits tar-ustar dist-bzip2 std-options silent-rules])
# Enable silent rules by default:
AM_SILENT_RULES([yes])
# Checks for programs.
AC_PROG_CC
gl_EARLY
AC_PROG_MAKE_SET
AC_PROG_RANLIB
AC_PROG_YACC
AC_PROG_LEX
# Checks for libraries.
AC_CHECK_LIB(crypt, crypt)
AC_SEARCH_LIBS(socket, socket)
AC_SEARCH_LIBS(gethostbyaddr, nsl)
# Checks for header files.
AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdint.h stdlib.h\
string.h sys/socket.h sys/time.h syslog.h unistd.h utmp.h utmpx.h\
crypt.h shadow.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_UID_T
AC_TYPE_MODE_T
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_SIGNAL
IU_CHECK_MEMBERS([struct msghdr.msg_control, struct msghdr.msg_accrights], , ,
[#include
#include ])
IU_CHECK_MEMBERS([struct utmp.ut_tv, struct utmp.ut_name,
struct utmp.ut_user, struct utmp.ut_time,
struct utmp.ut_host], , ,
[#include ])
if test "$ac_cv_header_utmpx_h" = yes; then
IU_CHECK_MEMBERS([struct utmpx.ut_tv, struct utmpx.ut_name,
struct utmpx.ut_user, struct utmpx.ut_time,
struct utmpx.ut_host], , ,
[#include ])
fi
# Checks for library functions.
AC_FUNC_CHOWN
AC_FUNC_FORK
AC_CHECK_FUNCS([alarm dup2 gethostbyname memmove memset select setenv socket strchr strcspn strtol strtoul sysconf getdtablesize vsyslog])
# Gnulib
gl_INIT
# Grecs
GRECS_SETUP([grecs],[tests git2chg getopt json sockaddr-list parser-meta1])
GRECS_HOST_PROJECT_INCLUDES='-I$(top_srcdir)/gnu -I$(top_builddir)/gnu'
# Test for setproctitle
MF_PROCTITLE
# Gettext.
AM_ICONV
AM_GNU_GETTEXT([external], [need-formatstring-macros])
AM_GNU_GETTEXT_VERSION([0.19])
# PAM
status_pam=maybe
AC_ARG_ENABLE([pam],
AC_HELP_STRING([--enable-pam],
[enable PAM]),
[
case "${enableval}" in
yes) status_pam=yes ;;
no) status_pam=no ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-pam]) ;;
esac],[status_pam=maybe])
AC_SUBST(PAM_LIBS)
if test "$status_pam" != "no"; then
AC_CHECK_HEADERS(security/pam_appl.h)
if test "$ac_cv_header_security_pam_appl_h" = "yes"; then
AC_CHECK_LIB(dl, dlopen, [PAM_LIBS="-ldl"])
AC_CHECK_LIB(pam, pam_start,
[status_pam=yes
PAM_LIBS="-lpam $PAM_LIBS"],
[status_pam=no], $PAM_LIBS)
else
status_pam=no
fi
fi
AM_CONDITIONAL([PAM_COND], [test $status_pam = yes])
if test $status_pam = yes; then
AC_DEFINE_UNQUOTED(WITH_PAM, 1, [PAM support enabled])
fi
# Build inetd
AC_ARG_ENABLE([inetd],
AC_HELP_STRING([--enable-inetd],
[build and install a replacement for SBINDIR/inetd]),
[case $enableval in
yes) AC_SUBST([INETD], [inetd]);;
no) ;;
esac])
AH_BOTTOM([
# ifndef ATTRIBUTE_NORETURN
# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
# endif
])
AC_SUBST([DEFAULT_PIES_CONTROL_URL],['unix:///tmp/$${PIES_INSTANCE}.ctl'])
AC_ARG_VAR([DEFAULT_PIES_CONTROL_URL],
[URL of the default control socket])
AC_SUBST([DEFAULT_INIT_CONTROL_URL],['unix:///dev/init.ctl'])
AC_ARG_VAR([DEFAULT_INIT_CONTROL_URL],
[URL of the default control socket])
AC_SUBST([EMERGENCY_SHELL],['/sbin/sulogin'])
AC_ARG_VAR([EMERGENCY_SHELL],[Filename of the emergency shell])
IMPRIMATUR_INIT
# Initialize the test suite.
AC_CONFIG_TESTDIR(tests)
AC_CONFIG_FILES([tests/Makefile tests/atlocal])
AM_MISSING_PROG([AUTOM4TE], [autom4te])
AC_CONFIG_FILES([Makefile
gnu/Makefile
lib/Makefile
src/Makefile
ident/Makefile
doc/Makefile
po/Makefile.in])
AC_OUTPUT