Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 1 | # -*- Autoconf -*- |
| 2 | # Process this file with autoconf to produce a configure script. |
| 3 | |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 4 | # This file is part of libdaemon. |
| 5 | # |
Lennart Poettering | 7892e9b | 2008-07-28 20:50:57 +0200 | [diff] [blame] | 6 | # Copyright 2003-2008 Lennart Poettering |
| 7 | # |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 8 | # libdaemon is free software; you can redistribute it and/or modify it |
Lennart Poettering | 70df7aa | 2005-11-18 20:39:12 +0000 | [diff] [blame] | 9 | # under the terms of the GNU Lesser General Public License as |
Lennart Poettering | 7892e9b | 2008-07-28 20:50:57 +0200 | [diff] [blame] | 10 | # published by the Free Software Foundation, either version 2.1 of the |
Lennart Poettering | 70df7aa | 2005-11-18 20:39:12 +0000 | [diff] [blame] | 11 | # License, or (at your option) any later version. |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 12 | # |
| 13 | # libdaemon is distributed in the hope that it will be useful, but |
| 14 | # WITHOUT ANY WARRANTY; without even the implied warranty of |
Lennart Poettering | 7892e9b | 2008-07-28 20:50:57 +0200 | [diff] [blame] | 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
Lennart Poettering | 70df7aa | 2005-11-18 20:39:12 +0000 | [diff] [blame] | 16 | # Lesser General Public License for more details. |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 17 | # |
Lennart Poettering | 70df7aa | 2005-11-18 20:39:12 +0000 | [diff] [blame] | 18 | # You should have received a copy of the GNU Lesser General Public |
Lennart Poettering | 7892e9b | 2008-07-28 20:50:57 +0200 | [diff] [blame] | 19 | # License along with libdaemon. If not, see |
| 20 | # <http://www.gnu.org/licenses/>. |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 21 | |
Lennart Poettering | 7422909 | 2004-01-11 00:43:42 +0000 | [diff] [blame] | 22 | AC_PREREQ(2.59) |
Lennart Poettering | ebe00d6 | 2008-07-28 20:35:53 +0200 | [diff] [blame] | 23 | |
Lennart Poettering | 4aafaf3 | 2008-07-29 00:35:08 +0200 | [diff] [blame] | 24 | AC_INIT([libdaemon],[0.13],[mzqnrzba (at) 0pointer (dot) de]) |
Lennart Poettering | 91511db | 2004-12-18 23:29:50 +0000 | [diff] [blame] | 25 | AC_CONFIG_SRCDIR([libdaemon/dfork.c]) |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 26 | AC_CONFIG_HEADERS([config.h]) |
Lennart Poettering | ebe00d6 | 2008-07-28 20:35:53 +0200 | [diff] [blame] | 27 | |
Lennart Poettering | 453fa80 | 2005-08-24 22:48:39 +0000 | [diff] [blame] | 28 | AM_INIT_AUTOMAKE([foreign 1.9 -Wall]) |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 29 | |
Lennart Poettering | ce36dd0 | 2003-10-20 21:53:46 +0000 | [diff] [blame] | 30 | AC_SUBST(PACKAGE_URL, [http://0pointer.de/lennart/projects/libdaemon/]) |
| 31 | |
Lennart Poettering | 4aafaf3 | 2008-07-29 00:35:08 +0200 | [diff] [blame] | 32 | AC_SUBST(LIBDAEMON_VERSION_INFO, [4:0:4]) |
Lennart Poettering | ebe00d6 | 2008-07-28 20:35:53 +0200 | [diff] [blame] | 33 | |
Lennart Poettering | ce36dd0 | 2003-10-20 21:53:46 +0000 | [diff] [blame] | 34 | if type -p stow > /dev/null && test -d /usr/local/stow ; then |
Lennart Poettering | f4aa9a8 | 2003-12-11 18:56:42 +0000 | [diff] [blame] | 35 | AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***]) |
| 36 | ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}" |
Lennart Poettering | ce36dd0 | 2003-10-20 21:53:46 +0000 | [diff] [blame] | 37 | fi |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 38 | |
Lennart Poettering | 8f34edf | 2004-01-10 18:45:49 +0000 | [diff] [blame] | 39 | # Checks for programs. |
| 40 | AC_PROG_CC |
Lennart Poettering | cfcb139 | 2007-05-23 01:22:36 +0000 | [diff] [blame] | 41 | AC_GNU_SOURCE |
Lennart Poettering | 8f34edf | 2004-01-10 18:45:49 +0000 | [diff] [blame] | 42 | AC_PROG_CXX |
| 43 | AC_PROG_MAKE_SET |
Lennart Poettering | 70df7aa | 2005-11-18 20:39:12 +0000 | [diff] [blame] | 44 | AC_PROG_LIBTOOL |
Lennart Poettering | 8f34edf | 2004-01-10 18:45:49 +0000 | [diff] [blame] | 45 | |
Lennart Poettering | ebe00d6 | 2008-07-28 20:35:53 +0200 | [diff] [blame] | 46 | test_gcc_flag() { |
| 47 | AC_LANG_CONFTEST([int main(int argc, char*argv[]) {}]) |
| 48 | $CC -c conftest.c $CFLAGS "$1" -o conftest.o > /dev/null 2> /dev/null |
| 49 | ret=$? |
| 50 | rm -f conftest.o |
| 51 | return $ret |
| 52 | } |
| 53 | |
Lennart Poettering | c73f5e4 | 2004-12-18 22:22:54 +0000 | [diff] [blame] | 54 | # If using GCC specify some additional parameters |
Lennart Poettering | 8f34edf | 2004-01-10 18:45:49 +0000 | [diff] [blame] | 55 | if test "x$GCC" = "xyes" ; then |
Lennart Poettering | ebe00d6 | 2008-07-28 20:35:53 +0200 | [diff] [blame] | 56 | # We use gnu99 instead of c99 because many have interpreted the standard |
| 57 | # in a way that int64_t isn't defined on non-64 bit platforms. |
| 58 | DESIRED_FLAGS="-std=gnu99 -Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wno-unused-parameter -ffast-math" |
Lennart Poettering | c73f5e4 | 2004-12-18 22:22:54 +0000 | [diff] [blame] | 59 | |
Lennart Poettering | ebe00d6 | 2008-07-28 20:35:53 +0200 | [diff] [blame] | 60 | for flag in $DESIRED_FLAGS ; do |
| 61 | AC_MSG_CHECKING([whether $CC accepts $flag]) |
| 62 | if test_gcc_flag $flag ; then |
| 63 | CFLAGS="$CFLAGS $flag" |
| 64 | CXXFLAGS="$CXXFLAGS $flag" |
| 65 | AC_MSG_RESULT([yes]) |
| 66 | else |
| 67 | AC_MSG_RESULT([no]) |
| 68 | fi |
| 69 | done |
Lennart Poettering | 8f34edf | 2004-01-10 18:45:49 +0000 | [diff] [blame] | 70 | fi |
| 71 | |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 72 | # Checks for header files. |
| 73 | AC_HEADER_STDC |
Lennart Poettering | c73f5e4 | 2004-12-18 22:22:54 +0000 | [diff] [blame] | 74 | AC_CHECK_HEADERS([fcntl.h limits.h stdlib.h string.h syslog.h unistd.h sys/ioctl.h sys/time.h]) |
Lennart Poettering | 8f34edf | 2004-01-10 18:45:49 +0000 | [diff] [blame] | 75 | AC_HEADER_SYS_WAIT |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 76 | |
| 77 | # Checks for typedefs, structures, and compiler characteristics. |
| 78 | AC_C_CONST |
| 79 | AC_TYPE_PID_T |
| 80 | AC_HEADER_TIME |
| 81 | AC_C_VOLATILE |
| 82 | |
| 83 | # Checks for library functions. |
| 84 | AC_FUNC_FORK |
| 85 | AC_FUNC_SELECT_ARGTYPES |
| 86 | AC_FUNC_VPRINTF |
Lennart Poettering | 3ff2f54 | 2008-03-26 22:27:20 +0000 | [diff] [blame] | 87 | AC_CHECK_FUNCS([select strerror dup2 memset strrchr asprintf]) |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 88 | AC_TYPE_MODE_T |
Lennart Poettering | c73f5e4 | 2004-12-18 22:22:54 +0000 | [diff] [blame] | 89 | AC_FUNC_SETPGRP |
| 90 | AC_TYPE_SIGNAL |
| 91 | AC_TYPE_SIZE_T |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 92 | |
Lennart Poettering | ebe00d6 | 2008-07-28 20:35:53 +0200 | [diff] [blame] | 93 | AC_SYS_LARGEFILE |
| 94 | |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 95 | # LYNX documentation generation |
| 96 | AC_ARG_ENABLE(lynx, |
Lennart Poettering | 24fb7e8 | 2008-03-26 22:23:57 +0000 | [diff] [blame] | 97 | AC_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation), |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 98 | [case "${enableval}" in |
| 99 | yes) lynx=yes ;; |
| 100 | no) lynx=no ;; |
| 101 | *) AC_MSG_ERROR(bad value ${enableval} for --disable-lynx) ;; |
| 102 | esac],[lynx=yes]) |
| 103 | |
Lennart Poettering | 24fb7e8 | 2008-03-26 22:23:57 +0000 | [diff] [blame] | 104 | if test x$lynx = xyes ; then |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 105 | AC_CHECK_PROG(have_lynx, lynx, yes, no) |
| 106 | |
Lennart Poettering | 24fb7e8 | 2008-03-26 22:23:57 +0000 | [diff] [blame] | 107 | if test x$have_lynx = xno ; then |
| 108 | AC_MSG_WARN([*** lynx not found, plain text README will not be built ***]) |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 109 | fi |
| 110 | fi |
| 111 | |
Lennart Poettering | 24fb7e8 | 2008-03-26 22:23:57 +0000 | [diff] [blame] | 112 | AM_CONDITIONAL([USE_LYNX], [test "x$lynx" = xyes]) |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 113 | |
Lennart Poettering | fbfaf95 | 2008-07-28 20:49:35 +0200 | [diff] [blame] | 114 | AC_CONFIG_FILES([libdaemon/Makefile Makefile doc/Makefile doc/README.html doc/doxygen.conf examples/Makefile libdaemon.pc]) |
Lennart Poettering | e774e8e | 2003-07-31 14:18:41 +0000 | [diff] [blame] | 115 | AC_OUTPUT |