blob: b7ff6152bfa39aa24eccf9d988d3c213d242a1a5 [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
9# under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2 of the License, or
11# (at your option) any later version.
12#
13# libdaemon is distributed in the hope that it will be useful, but
14# WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16# General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with libdaemon; if not, write to the Free Software Foundation,
20# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
21
Lennart Poettering74229092004-01-11 00:43:42 +000022AC_PREREQ(2.59)
Lennart Poettering453fa802005-08-24 22:48:39 +000023AC_INIT([libdaemon],[0.9],[mzqnrzba (at) 0pointer (dot) de])
Lennart Poettering91511db2004-12-18 23:29:50 +000024AC_CONFIG_SRCDIR([libdaemon/dfork.c])
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000025AC_CONFIG_HEADERS([config.h])
Lennart Poettering453fa802005-08-24 22:48:39 +000026AM_INIT_AUTOMAKE([foreign 1.9 -Wall])
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000027
Lennart Poetteringce36dd02003-10-20 21:53:46 +000028AC_SUBST(PACKAGE_URL, [http://0pointer.de/lennart/projects/libdaemon/])
29
Lennart Poetteringce36dd02003-10-20 21:53:46 +000030if type -p stow > /dev/null && test -d /usr/local/stow ; then
Lennart Poetteringf4aa9a82003-12-11 18:56:42 +000031 AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
32 ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
Lennart Poetteringce36dd02003-10-20 21:53:46 +000033fi
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000034
Lennart Poettering8f34edf2004-01-10 18:45:49 +000035# Checks for programs.
36AC_PROG_CC
37AC_PROG_CXX
38AC_PROG_MAKE_SET
Lennart Poettering74229092004-01-11 00:43:42 +000039AC_PROG_LIBTOOL()
Lennart Poettering8f34edf2004-01-10 18:45:49 +000040
Lennart Poetteringc73f5e42004-12-18 22:22:54 +000041# If using GCC specify some additional parameters
Lennart Poettering8f34edf2004-01-10 18:45:49 +000042if test "x$GCC" = "xyes" ; then
Lennart Poetteringc73f5e42004-12-18 22:22:54 +000043 CFLAGS="$CFLAGS -pipe -W -Wall -pedantic"
44
Sebastien Estienne114621c2005-10-28 23:55:00 +000045 # Test whether sys/signal.h can be included when compiled with -std=c99
46 AC_MSG_CHECKING([checking whether sys/signal.h can be included with -std=c99])
47 OLDCFLAGS="$CFLAGS"
48 CFLAGS="-std=c99"
49 AC_TRY_COMPILE([#include <sys/signal.h>],
50 [int main(void) {
51 struct sigaction sa;
52 sa.sa_handler = 0;
53 return 0;
54 };], use_stdc99=yes, use_stdc99=no)
55
56 if test x"$use_stdc99" = xyes; then
57 CFLAGS="-std=c99 $OLDCFLAGS"
58 AC_MSG_RESULT([yes])
59 else
60 AC_MSG_RESULT([no])
61 CFLAGS="$OLDCFLAGS"
62 fi
63
Lennart Poetteringc73f5e42004-12-18 22:22:54 +000064 AC_LANG_CONFTEST([int main() {}])
Sebastien Estienne114621c2005-10-28 23:55:00 +000065 $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 +000066 rm -f conftest.o
Lennart Poettering8f34edf2004-01-10 18:45:49 +000067fi
68
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000069# Checks for header files.
70AC_HEADER_STDC
Lennart Poetteringc73f5e42004-12-18 22:22:54 +000071AC_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 +000072AC_HEADER_SYS_WAIT
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000073
74# Checks for typedefs, structures, and compiler characteristics.
75AC_C_CONST
76AC_TYPE_PID_T
77AC_HEADER_TIME
78AC_C_VOLATILE
79
80# Checks for library functions.
81AC_FUNC_FORK
82AC_FUNC_SELECT_ARGTYPES
83AC_FUNC_VPRINTF
84AC_CHECK_FUNCS([select strerror dup2 memset strrchr])
85AC_TYPE_MODE_T
Lennart Poetteringc73f5e42004-12-18 22:22:54 +000086AC_FUNC_SETPGRP
87AC_TYPE_SIGNAL
88AC_TYPE_SIZE_T
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000089
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000090# LYNX documentation generation
91AC_ARG_ENABLE(lynx,
Lennart Poettering22aea4c2004-01-10 20:26:36 +000092 AS_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation),
Lennart Poetteringe774e8e2003-07-31 14:18:41 +000093[case "${enableval}" in
94 yes) lynx=yes ;;
95 no) lynx=no ;;
96 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lynx) ;;
97esac],[lynx=yes])
98
99if test x$lynx = xyes ; then
100 AC_CHECK_PROG(have_lynx, lynx, yes, no)
101
102 if test x$have_lynx = xno ; then
103 AC_MSG_ERROR([*** Sorry, you have to install lynx or use --disable-lynx ***])
104 fi
105fi
106
107AM_CONDITIONAL([USE_LYNX], [test "x$lynx" = xyes])
108
Lennart Poettering91511db2004-12-18 23:29:50 +0000109AC_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 +0000110AC_OUTPUT