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