blob: ac122e0324e97ef6ab1732bd0600c2b0f4b73ba4 [file] [log] [blame]
Lennart Poetteringe774e8e2003-07-31 14:18:41 +00001# -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3
4# $Id$
5
6# This file is part of libdaemon.
7#
8# libdaemon is free software; you can redistribute it and/or modify it
Lennart Poettering70df7aa2005-11-18 20:39:12 +00009# under the terms of the GNU Lesser General Public License as
10# published by the Free Software Foundation; either version 2.1 of the
11# License, or (at your option) any later version.
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000012#
13# libdaemon is distributed in the hope that it will be useful, but
14# WITHOUT ANY WARRANTY; without even the implied warranty of
Lennart Poettering70df7aa2005-11-18 20:39:12 +000015# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16# Lesser General Public License for more details.
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000017#
Lennart Poettering70df7aa2005-11-18 20:39:12 +000018# You should have received a copy of the GNU Lesser General Public
19# License along with libdaemon; if not, write to the Free Software
20# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
21# USA
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000022
Lennart Poettering74229092004-01-11 00:43:42 +000023AC_PREREQ(2.59)
Lennart Poettering02912332005-11-24 13:38:53 +000024AC_INIT([libdaemon],[0.10],[mzqnrzba (at) 0pointer (dot) de])
Lennart Poettering91511db2004-12-18 23:29:50 +000025AC_CONFIG_SRCDIR([libdaemon/dfork.c])
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000026AC_CONFIG_HEADERS([config.h])
Lennart Poettering453fa802005-08-24 22:48:39 +000027AM_INIT_AUTOMAKE([foreign 1.9 -Wall])
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000028
Lennart Poetteringce36dd02003-10-20 21:53:46 +000029AC_SUBST(PACKAGE_URL, [http://0pointer.de/lennart/projects/libdaemon/])
30
Lennart Poetteringce36dd02003-10-20 21:53:46 +000031if type -p stow > /dev/null && test -d /usr/local/stow ; then
Lennart Poetteringf4aa9a82003-12-11 18:56:42 +000032 AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
33 ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
Lennart Poetteringce36dd02003-10-20 21:53:46 +000034fi
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000035
Lennart Poettering8f34edf2004-01-10 18:45:49 +000036# Checks for programs.
Lennart Poettering70df7aa2005-11-18 20:39:12 +000037AC_GNU_SOURCE
Lennart Poettering8f34edf2004-01-10 18:45:49 +000038AC_PROG_CC
39AC_PROG_CXX
40AC_PROG_MAKE_SET
Lennart Poettering70df7aa2005-11-18 20:39:12 +000041AC_PROG_LIBTOOL
Lennart Poettering8f34edf2004-01-10 18:45:49 +000042
Lennart Poetteringc73f5e42004-12-18 22:22:54 +000043# If using GCC specify some additional parameters
Lennart Poettering8f34edf2004-01-10 18:45:49 +000044if test "x$GCC" = "xyes" ; then
Lennart Poetteringc73f5e42004-12-18 22:22:54 +000045 CFLAGS="$CFLAGS -pipe -W -Wall -pedantic"
46
Sebastien Estienne114621c2005-10-28 23:55:00 +000047 # Test whether sys/signal.h can be included when compiled with -std=c99
48 AC_MSG_CHECKING([checking whether sys/signal.h can be included with -std=c99])
49 OLDCFLAGS="$CFLAGS"
50 CFLAGS="-std=c99"
51 AC_TRY_COMPILE([#include <sys/signal.h>],
52 [int main(void) {
53 struct sigaction sa;
54 sa.sa_handler = 0;
55 return 0;
56 };], use_stdc99=yes, use_stdc99=no)
57
58 if test x"$use_stdc99" = xyes; then
59 CFLAGS="-std=c99 $OLDCFLAGS"
60 AC_MSG_RESULT([yes])
61 else
62 AC_MSG_RESULT([no])
63 CFLAGS="$OLDCFLAGS"
64 fi
65
Lennart Poetteringc73f5e42004-12-18 22:22:54 +000066 AC_LANG_CONFTEST([int main() {}])
Sebastien Estienne114621c2005-10-28 23:55:00 +000067 $CC -c conftest.c -Wno-unused-parameter $CFLAGS > /dev/null 2> /dev/null && CFLAGS="$CFLAGS -Wno-unused-parameter"
Lennart Poetteringc73f5e42004-12-18 22:22:54 +000068 rm -f conftest.o
Lennart Poettering8f34edf2004-01-10 18:45:49 +000069fi
70
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000071# Checks for header files.
72AC_HEADER_STDC
Lennart Poetteringc73f5e42004-12-18 22:22:54 +000073AC_CHECK_HEADERS([fcntl.h limits.h stdlib.h string.h syslog.h unistd.h sys/ioctl.h sys/time.h])
Lennart Poettering8f34edf2004-01-10 18:45:49 +000074AC_HEADER_SYS_WAIT
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000075
76# Checks for typedefs, structures, and compiler characteristics.
77AC_C_CONST
78AC_TYPE_PID_T
79AC_HEADER_TIME
80AC_C_VOLATILE
81
82# Checks for library functions.
83AC_FUNC_FORK
84AC_FUNC_SELECT_ARGTYPES
85AC_FUNC_VPRINTF
86AC_CHECK_FUNCS([select strerror dup2 memset strrchr])
87AC_TYPE_MODE_T
Lennart Poetteringc73f5e42004-12-18 22:22:54 +000088AC_FUNC_SETPGRP
89AC_TYPE_SIGNAL
90AC_TYPE_SIZE_T
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000091
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000092# LYNX documentation generation
93AC_ARG_ENABLE(lynx,
Lennart Poettering22aea4c2004-01-10 20:26:36 +000094 AS_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation),
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000095[case "${enableval}" in
96 yes) lynx=yes ;;
97 no) lynx=no ;;
98 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lynx) ;;
99esac],[lynx=yes])
100
101if test x$lynx = xyes ; then
102 AC_CHECK_PROG(have_lynx, lynx, yes, no)
103
104 if test x$have_lynx = xno ; then
105 AC_MSG_ERROR([*** Sorry, you have to install lynx or use --disable-lynx ***])
106 fi
107fi
108
109AM_CONDITIONAL([USE_LYNX], [test "x$lynx" = xyes])
110
Lennart Poettering91511db2004-12-18 23:29:50 +0000111AC_CONFIG_FILES([libdaemon/Makefile Makefile doc/Makefile doc/README.html doc/doxygen.conf examples/Makefile libdaemon.spec libdaemon.pc])
Lennart Poetteringe774e8e2003-07-31 14:18:41 +0000112AC_OUTPUT