configure.ac revision 3ff2f54d8ecaa1cacfbfddc61daeda1bcee8dfec
1e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering# -*- Autoconf -*-
2e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering# Process this file with autoconf to produce a configure script.
3e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering
4e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering# $Id$
5e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering
6e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering# This file is part of libdaemon.
7e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering#
8e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering# libdaemon is free software; you can redistribute it and/or modify it
970df7aaa8a9571fa70f0f4f8aa0a363be0ac3cdcLennart Poettering# under the terms of the GNU Lesser General Public License as
1070df7aaa8a9571fa70f0f4f8aa0a363be0ac3cdcLennart Poettering# published by the Free Software Foundation; either version 2.1 of the
1170df7aaa8a9571fa70f0f4f8aa0a363be0ac3cdcLennart Poettering# License, or (at your option) any later version.
12e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering#
13e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering# libdaemon is distributed in the hope that it will be useful, but
14e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering# WITHOUT ANY WARRANTY; without even the implied warranty of
1570df7aaa8a9571fa70f0f4f8aa0a363be0ac3cdcLennart Poettering# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1670df7aaa8a9571fa70f0f4f8aa0a363be0ac3cdcLennart Poettering# Lesser General Public License for more details.
17e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering#
1870df7aaa8a9571fa70f0f4f8aa0a363be0ac3cdcLennart Poettering# You should have received a copy of the GNU Lesser General Public
1970df7aaa8a9571fa70f0f4f8aa0a363be0ac3cdcLennart Poettering# License along with libdaemon; if not, write to the Free Software
2070df7aaa8a9571fa70f0f4f8aa0a363be0ac3cdcLennart Poettering# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
2170df7aaa8a9571fa70f0f4f8aa0a363be0ac3cdcLennart Poettering# USA
22e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering
2374229094319e534c8c3ccef9ec842ae71b75b4b8Lennart PoetteringAC_PREREQ(2.59)
24d1ce801907f1f81e621ea8a3675ff39bd7172286Lennart PoetteringAC_INIT([libdaemon],[0.12],[mzqnrzba (at) 0pointer (dot) de])
2591511db7500439088b8b3bb08ce6ee6f8f8e6499Lennart PoetteringAC_CONFIG_SRCDIR([libdaemon/dfork.c])
26e774e8ef3467e81ed502e19b1719b4ab384d008Lennart PoetteringAC_CONFIG_HEADERS([config.h])
27453fa807d7ffd3f0ce2e419a7ea919329f3149c1Lennart PoetteringAM_INIT_AUTOMAKE([foreign 1.9 -Wall])
28e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering
298f34edf681b6a5d80af6cde9bd0cb72197e88b33Lennart PoetteringAC_SUBST(PACKAGE_URL, [http://0pointer.de/lennart/projects/libdaemon/])
308f34edf681b6a5d80af6cde9bd0cb72197e88b33Lennart Poettering
318f34edf681b6a5d80af6cde9bd0cb72197e88b33Lennart Poetteringif type -p stow > /dev/null && test -d /usr/local/stow ; then
328f34edf681b6a5d80af6cde9bd0cb72197e88b33Lennart Poettering   AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
338f34edf681b6a5d80af6cde9bd0cb72197e88b33Lennart Poettering   ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
348f34edf681b6a5d80af6cde9bd0cb72197e88b33Lennart Poetteringfi
358f34edf681b6a5d80af6cde9bd0cb72197e88b33Lennart Poettering
36e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering# Checks for programs.
37e774e8ef3467e81ed502e19b1719b4ab384d008Lennart PoetteringAC_PROG_CC
38cfcb13954cdcaed4d9650b47ce480675f7378562Lennart PoetteringAC_GNU_SOURCE
39e774e8ef3467e81ed502e19b1719b4ab384d008Lennart PoetteringAC_PROG_CXX
408f34edf681b6a5d80af6cde9bd0cb72197e88b33Lennart PoetteringAC_PROG_MAKE_SET
4170df7aaa8a9571fa70f0f4f8aa0a363be0ac3cdcLennart PoetteringAC_PROG_LIBTOOL
42e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering
43c73f5e4e6922363cc7cbf4f39f236e310845f9b9Lennart Poettering# If using GCC specify some additional parameters
44e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poetteringif test "x$GCC" = "xyes" ; then
45c73f5e4e6922363cc7cbf4f39f236e310845f9b9Lennart Poettering   CFLAGS="$CFLAGS -pipe -W -Wall -pedantic"
46c73f5e4e6922363cc7cbf4f39f236e310845f9b9Lennart Poettering
47114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne   # Test whether sys/signal.h can be included when compiled with -std=c99
48114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne   AC_MSG_CHECKING([checking whether sys/signal.h can be included with -std=c99])
49114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne   OLDCFLAGS="$CFLAGS"
50114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne   CFLAGS="-std=c99"
51114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne   AC_TRY_COMPILE([#include <sys/signal.h>],
52114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne                   [int main(void) {
53114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne                   struct sigaction sa; 
54114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne                   sa.sa_handler = 0;
55114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne		   return 0;
56114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne		   };], use_stdc99=yes, use_stdc99=no)
57114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne
58114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne   if test x"$use_stdc99" = xyes; then
59114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne      CFLAGS="-std=c99 $OLDCFLAGS"
60114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne      AC_MSG_RESULT([yes])
61114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne   else
62114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne      AC_MSG_RESULT([no])
63114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne      CFLAGS="$OLDCFLAGS"
64114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne   fi
65114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne
66c73f5e4e6922363cc7cbf4f39f236e310845f9b9Lennart Poettering   AC_LANG_CONFTEST([int main() {}])
67114621ca1b0a02f6cb12cf29c5f700da79c57a8dSebastien Estienne   $CC -c conftest.c -Wno-unused-parameter $CFLAGS > /dev/null 2> /dev/null && CFLAGS="$CFLAGS -Wno-unused-parameter"
68c73f5e4e6922363cc7cbf4f39f236e310845f9b9Lennart Poettering   rm -f conftest.o
69e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poetteringfi
70e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering
71e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering# Checks for header files.
72e774e8ef3467e81ed502e19b1719b4ab384d008Lennart PoetteringAC_HEADER_STDC
73c73f5e4e6922363cc7cbf4f39f236e310845f9b9Lennart PoetteringAC_CHECK_HEADERS([fcntl.h limits.h stdlib.h string.h syslog.h unistd.h sys/ioctl.h sys/time.h])
748f34edf681b6a5d80af6cde9bd0cb72197e88b33Lennart PoetteringAC_HEADER_SYS_WAIT
75e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering
76e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering# Checks for typedefs, structures, and compiler characteristics.
77e774e8ef3467e81ed502e19b1719b4ab384d008Lennart PoetteringAC_C_CONST
78e774e8ef3467e81ed502e19b1719b4ab384d008Lennart PoetteringAC_TYPE_PID_T
79e774e8ef3467e81ed502e19b1719b4ab384d008Lennart PoetteringAC_HEADER_TIME
80e774e8ef3467e81ed502e19b1719b4ab384d008Lennart PoetteringAC_C_VOLATILE
81e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering
82e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering# Checks for library functions.
83e774e8ef3467e81ed502e19b1719b4ab384d008Lennart PoetteringAC_FUNC_FORK
84e774e8ef3467e81ed502e19b1719b4ab384d008Lennart PoetteringAC_FUNC_SELECT_ARGTYPES
85e774e8ef3467e81ed502e19b1719b4ab384d008Lennart PoetteringAC_FUNC_VPRINTF
863ff2f54d8ecaa1cacfbfddc61daeda1bcee8dfecLennart PoetteringAC_CHECK_FUNCS([select strerror dup2 memset strrchr asprintf])
87e774e8ef3467e81ed502e19b1719b4ab384d008Lennart PoetteringAC_TYPE_MODE_T
88c73f5e4e6922363cc7cbf4f39f236e310845f9b9Lennart PoetteringAC_FUNC_SETPGRP
89c73f5e4e6922363cc7cbf4f39f236e310845f9b9Lennart PoetteringAC_TYPE_SIGNAL
90c73f5e4e6922363cc7cbf4f39f236e310845f9b9Lennart PoetteringAC_TYPE_SIZE_T
91e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering
92e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering# LYNX documentation generation
93e774e8ef3467e81ed502e19b1719b4ab384d008Lennart PoetteringAC_ARG_ENABLE(lynx,
9424fb7e886251e5e836f1a54463ba9e5bab792be7Lennart Poettering        AC_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation),
95e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering[case "${enableval}" in
96e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering  yes) lynx=yes ;;
97e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering  no)  lynx=no ;;
98e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering  *) AC_MSG_ERROR(bad value ${enableval} for --disable-lynx) ;;
99e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poetteringesac],[lynx=yes])
100e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering
10124fb7e886251e5e836f1a54463ba9e5bab792be7Lennart Poetteringif test x$lynx = xyes ; then
102e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering   AC_CHECK_PROG(have_lynx, lynx, yes, no)
103e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering
10424fb7e886251e5e836f1a54463ba9e5bab792be7Lennart Poettering   if test x$have_lynx = xno ; then
10524fb7e886251e5e836f1a54463ba9e5bab792be7Lennart Poettering     AC_MSG_WARN([*** lynx not found, plain text README will not be built ***])
106e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering   fi
107e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poetteringfi
108e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering
10924fb7e886251e5e836f1a54463ba9e5bab792be7Lennart PoetteringAM_CONDITIONAL([USE_LYNX], [test "x$lynx" = xyes])
110e774e8ef3467e81ed502e19b1719b4ab384d008Lennart Poettering
11191511db7500439088b8b3bb08ce6ee6f8f8e6499Lennart PoetteringAC_CONFIG_FILES([libdaemon/Makefile Makefile doc/Makefile doc/README.html doc/doxygen.conf examples/Makefile libdaemon.spec libdaemon.pc])
112e774e8ef3467e81ed502e19b1719b4ab384d008Lennart PoetteringAC_OUTPUT
113