Apply Joe Marcus Clarke's FreeBSD patches
[platform/upstream/pulseaudio.git] / configure.ac
1 # -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 # $Id$
5
6 # This file is part of polypaudio.
7 #
8 # polypaudio 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 # polypaudio 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 polypaudio; if not, write to the Free Software Foundation,
20 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
21
22 AC_PREREQ(2.57)
23 AC_INIT([polypaudio],[0.6],[mzcbylcnhqvb (at) 0pointer (dot) de])
24 AC_CONFIG_SRCDIR([polyp/main.c])
25 AC_CONFIG_HEADERS([config.h])
26 AM_INIT_AUTOMAKE([foreign -Wall])
27
28 AC_SUBST(PA_MAJORMINOR, "$PACKAGE_VERSION")
29 AC_SUBST(PACKAGE_URL, [http://0pointer.de/lennart/projects/polypaudio/])
30
31 AC_SUBST(PA_API_VERSION, 6)
32
33 if type -p stow > /dev/null && test -d /usr/local/stow ; then
34    AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
35    ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
36 fi
37
38 # Checks for programs.
39 AC_PROG_CC
40 AC_LIBLTDL_INSTALLABLE
41 AC_SUBST(INCLTDL)
42 AC_SUBST(LIBLTDL)
43 AC_LIBTOOL_DLOPEN
44 AC_PROG_LIBTOOL
45
46 # Checks for header files.
47 AC_HEADER_STDC
48 AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h limits.h malloc.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h unistd.h syslog.h])
49
50 ACX_PTHREAD
51 AC_PATH_XTRA
52
53 HAVE_X11=0
54 test "x$no_x" != "xyes" && HAVE_X11=1
55 AC_SUBST(HAVE_X11)
56 AM_CONDITIONAL(HAVE_X11, test "x$no_x" != "xyes")
57
58 # Checks for typedefs, structures, and compiler characteristics.
59 AC_C_CONST
60 AC_TYPE_PID_T
61 AC_TYPE_SIZE_T
62 AC_TYPE_OFF_T
63 AC_HEADER_TIME
64
65 # Checks for library functions.
66 AC_FUNC_FORK
67 AC_PROG_GCC_TRADITIONAL
68 AC_FUNC_LSTAT
69 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
70 AC_FUNC_MALLOC
71 AC_FUNC_MEMCMP
72 AC_FUNC_MMAP
73 AC_FUNC_REALLOC
74 AC_FUNC_SETPGRP
75 AC_FUNC_VPRINTF
76 AC_TYPE_SIGNAL
77 AC_TYPE_UID_T
78 AC_CHECK_FUNCS([gethostname gettimeofday memchr memmove memset mkdir mkfifo munmap rmdir socket strcspn strerror strrchr strspn strstr strtol strtoul strcasecmp putenv strchr strpbrk strdup getgrgid_r getpwuid_r regcomp])
79 AC_CHECK_LIB(m, pow)
80 AC_CHECK_FUNCS(pow)
81 AC_FUNC_STAT
82 AC_HEADER_SYS_WAIT
83
84 AC_C_BIGENDIAN
85 AC_FUNC_GETGROUPS
86
87 AC_CHECK_LIB(cap, cap_init, [CAP_LIBS='-lcap'], [CAP_LIBS=''])
88 AC_SUBST(CAP_LIBS)
89
90 AC_CHECK_HEADERS(sys/capability.h)
91
92 PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ])
93 AC_SUBST(LIBSAMPLERATE_CFLAGS)
94 AC_SUBST(LIBSAMPLERATE_LIBS)
95
96 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.10 ])
97 AC_SUBST(LIBSNDFILE_CFLAGS)
98 AC_SUBST(LIBSNDFILE_LIBS)
99
100 PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.0 ], [HAVE_ALSA=1], [HAVE_ALSA=0])
101 AC_SUBST(ASOUNDLIB_CFLAGS)
102 AC_SUBST(ASOUNDLIB_LIBS) 
103 AC_SUBST(HAVE_ALSA)
104 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
105
106 PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)
107 AC_SUBST(GLIB20_CFLAGS)
108 AC_SUBST(GLIB20_LIBS)
109 AC_SUBST(HAVE_GLIB20)
110 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
111
112 PKG_CHECK_MODULES(GLIB12, [ glib >= 1.2.0 ], HAVE_GLIB12=1, HAVE_GLIB12=0)
113 AC_SUBST(GLIB12_CFLAGS)
114 AC_SUBST(GLIB12_LIBS)
115 AC_SUBST(HAVE_GLIB12)
116 AM_CONDITIONAL([HAVE_GLIB12], [test "x$HAVE_GLIB12" = x1])
117
118 AC_MSG_CHECKING([for tcpwrap library and headers])
119 LIBWRAP_LIBS=
120 saved_LIBS="$LIBS"
121 LIBS="$LIBS -lwrap"
122 AC_LINK_IFELSE(
123 AC_LANG_PROGRAM(
124 [#include <tcpd.h>
125 #include <syslog.h>
126 int allow_severity = LOG_INFO;
127 int deny_severity = LOG_WARNING;],
128 [struct request_info *req; 
129 return hosts_access (req);]),
130 [AC_DEFINE(HAVE_LIBWRAP, [], [Have tcpwrap?])
131 LIBWRAP_LIBS="-lwrap"
132 AC_MSG_RESULT(yes)],
133 [AC_MSG_RESULT(no)])
134 AC_SUBST(LIBWRAP_LIBS)
135 LIBS="$saved_LIBS"
136
137 # If using GCC specify some additional parameters
138 if test "x$GCC" = "xyes" ; then
139    CFLAGS="$CFLAGS -pipe -W -Wall -pedantic"
140
141    AC_LANG_CONFTEST([int main() {}])
142    $CC -c conftest.c -std=c99 -Wno-unused-parameter $CFLAGS > /dev/null 2> /dev/null && CFLAGS="$CFLAGS -std=c99 -Wno-unused-parameter"
143    rm -f conftest.o
144 fi
145
146 # LYNX documentation generation
147 AC_ARG_ENABLE(lynx,
148         AS_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation),
149 [case "${enableval}" in
150   yes) lynx=yes ;;
151   no)  lynx=no ;;
152   *) AC_MSG_ERROR(bad value ${enableval} for --disable-lynx) ;;
153 esac],[lynx=yes])
154
155 if test x$lynx = xyes ; then
156    AC_CHECK_PROG(have_lynx, lynx, yes, no)
157
158    if test x$have_lynx = xno ; then
159      AC_MSG_ERROR([*** Sorry, you have to install lynx or use --disable-lynx ***])
160    fi
161 fi
162
163 AM_CONDITIONAL([USE_LYNX], [test "x$lynx" = xyes])
164
165 AM_CONDITIONAL(BUILD_LIBPOLYPCORE, false)
166
167 AC_CONFIG_FILES([Makefile polyp/Makefile polyplib.pc polyplib-simple.pc polyplib-mainloop.pc polyplib-error.pc polyplib-glib-mainloop.pc polyplib-glib12-mainloop.pc doc/Makefile doc/README.html doc/cli.html doc/daemon.html doc/modules.html doxygen/Makefile doxygen/doxygen.conf polyp/polyplib-version.h doc/FAQ.html])
168 AC_OUTPUT