]> code.delx.au - pulseaudio/blob - configure.ac
125413450f0d7058334f8fc641438e5c9dd1f1ad
[pulseaudio] / 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 Lesser 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 Lesser 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.8],[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, 8)
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
41 # libtool stuff
42 AC_LIBLTDL_INSTALLABLE
43 AC_SUBST(LTDLINCL)
44 AC_SUBST(LIBLTDL)
45 AC_LIBTOOL_DLOPEN
46 AC_PROG_LIBTOOL
47 AC_CONFIG_SUBDIRS(libltdl)
48
49 if test "x$ac_cv_lib_ltdl_lt_dlinit" = "xno" ; then
50 AC_MSG_ERROR([[
51
52 *** Cannot find the libltdl development files.
53 *** Maybe you need to install the libltdl-dev package.
54 ]])
55 fi
56
57 # Checks for header files.
58 AC_HEADER_STDC
59 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])
60
61 ACX_PTHREAD
62 AC_PATH_XTRA
63
64 HAVE_X11=0
65 test "x$no_x" != "xyes" && HAVE_X11=1
66 AC_SUBST(HAVE_X11)
67 AM_CONDITIONAL(HAVE_X11, test "x$no_x" != "xyes")
68 if test "x$no_x" != "xyes" ; then
69 AC_DEFINE([HAVE_X11], 1, [Have X11])
70 fi
71
72 # Checks for typedefs, structures, and compiler characteristics.
73 AC_C_CONST
74 AC_TYPE_PID_T
75 AC_TYPE_SIZE_T
76 AC_TYPE_OFF_T
77 AC_HEADER_TIME
78
79 # Checks for library functions.
80 AC_FUNC_FORK
81 AC_PROG_GCC_TRADITIONAL
82 AC_FUNC_LSTAT
83 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
84 AC_FUNC_MALLOC
85 AC_FUNC_MEMCMP
86 AC_FUNC_MMAP
87 AC_FUNC_REALLOC
88 AC_FUNC_SETPGRP
89 AC_FUNC_VPRINTF
90 AC_FUNC_CLOSEDIR_VOID
91 AC_FUNC_SELECT_ARGTYPES
92 AC_TYPE_SIGNAL
93 AC_TYPE_UID_T
94 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 ftruncate select])
95 AC_CHECK_LIB(m, pow)
96 AC_CHECK_FUNCS(pow)
97 AC_FUNC_STAT
98 AC_HEADER_SYS_WAIT
99 AC_HEADER_DIRENT
100
101 AC_C_BIGENDIAN
102 AC_FUNC_GETGROUPS
103
104 AC_CHECK_LIB(cap, cap_init, [CAP_LIBS='-lcap'], [CAP_LIBS=''])
105 AC_SUBST(CAP_LIBS)
106
107 AC_CHECK_HEADERS(sys/capability.h)
108
109 AC_CHECK_FUNCS(setresuid)
110 AC_CHECK_FUNCS(setreuid)
111
112 PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ])
113 AC_SUBST(LIBSAMPLERATE_CFLAGS)
114 AC_SUBST(LIBSAMPLERATE_LIBS)
115
116 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.10 ])
117 AC_SUBST(LIBSNDFILE_CFLAGS)
118 AC_SUBST(LIBSNDFILE_LIBS)
119
120 PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.0 ], [HAVE_ALSA=1], [HAVE_ALSA=0])
121 AC_SUBST(ASOUNDLIB_CFLAGS)
122 AC_SUBST(ASOUNDLIB_LIBS)
123 AC_SUBST(HAVE_ALSA)
124 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
125
126 PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)
127 AC_SUBST(GLIB20_CFLAGS)
128 AC_SUBST(GLIB20_LIBS)
129 AC_SUBST(HAVE_GLIB20)
130 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
131
132 PKG_CHECK_MODULES(GLIB12, [ glib >= 1.2.0 ], HAVE_GLIB12=1, HAVE_GLIB12=0)
133 AC_SUBST(GLIB12_CFLAGS)
134 AC_SUBST(GLIB12_LIBS)
135 AC_SUBST(HAVE_GLIB12)
136 AM_CONDITIONAL([HAVE_GLIB12], [test "x$HAVE_GLIB12" = x1])
137
138 PKG_CHECK_MODULES(HOWL, [ howl >= 0.9.8 ], HAVE_HOWL=1, HAVE_HOWL=0)
139 AC_SUBST(HOWL_CFLAGS)
140 AC_SUBST(HOWL_LIBS)
141 AC_SUBST(HAVE_HOWL)
142 AM_CONDITIONAL([HAVE_HOWL], [test "x$HAVE_HOWL" = x1])
143
144 PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)
145 AC_SUBST(LIBASYNCNS_CFLAGS)
146 AC_SUBST(LIBASYNCNS_LIBS)
147 AC_SUBST(HAVE_LIBASYNCNS)
148 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
149
150 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
151 AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
152 fi
153
154 AC_PATH_PROG([M4], [m4 gm4], [no])
155 if test "x$M4" = xno ; then
156 AC_MSG_ERROR([m4 missing])
157 fi
158
159 AC_MSG_CHECKING([for tcpwrap library and headers])
160 LIBWRAP_LIBS=
161 saved_LIBS="$LIBS"
162 LIBS="$LIBS -lwrap"
163 AC_LINK_IFELSE(
164 AC_LANG_PROGRAM(
165 [#include <tcpd.h>
166 #include <syslog.h>
167 int allow_severity = LOG_INFO;
168 int deny_severity = LOG_WARNING;],
169 [struct request_info *req;
170 return hosts_access (req);]),
171 [AC_DEFINE(HAVE_LIBWRAP, [], [Have tcpwrap?])
172 LIBWRAP_LIBS="-lwrap"
173 AC_MSG_RESULT(yes)],
174 [AC_MSG_RESULT(no)])
175 AC_SUBST(LIBWRAP_LIBS)
176 LIBS="$saved_LIBS"
177
178 LIRC_CFLAGS=
179 LIRC_LIBS=
180 AC_CHECK_HEADER(lirc/lirc_client.h,[AC_CHECK_LIB(lirc_client,lirc_init,[HAVE_LIRC=1
181 LIRC_LIBS=-llirc_client],HAVE_LIRC=0)],HAVE_LIRC=0)
182 AC_SUBST(LIRC_CFLAGS)
183 AC_SUBST(LIRC_LIBS)
184 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
185
186 AC_CHECK_HEADER(linux/input.h,HAVE_EVDEV=1,HAVE_EVDEV=0)
187 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = x1])
188
189 # If using GCC specify some additional parameters
190 if test "x$GCC" = "xyes" ; then
191 CFLAGS="$CFLAGS -pipe -W -Wall -pedantic"
192
193 AC_LANG_CONFTEST([int main() {}])
194 $CC -c conftest.c -std=c99 -Wno-unused-parameter $CFLAGS > /dev/null 2> /dev/null && CFLAGS="$CFLAGS -std=c99 -Wno-unused-parameter"
195 rm -f conftest.o
196 fi
197
198 # LYNX documentation generation
199 AC_ARG_ENABLE(lynx,
200 AC_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation),
201 [case "${enableval}" in
202 yes) lynx=yes ;;
203 no) lynx=no ;;
204 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lynx) ;;
205 esac],[lynx=yes])
206
207 if test x$lynx = xyes ; then
208 AC_CHECK_PROG(have_lynx, lynx, yes, no)
209
210 if test x$have_lynx = xno ; then
211 AC_MSG_WARN([*** lynx not found, plain text README will not be built ***])
212 fi
213 fi
214
215 AM_CONDITIONAL([USE_LYNX], [test "x$lynx" = xyes])
216
217 AM_CONDITIONAL(BUILD_LIBPOLYPCORE, false)
218
219 AC_CONFIG_FILES([Makefile polyp/Makefile polyplib.pc polyplib-simple.pc polyplib-mainloop.pc polyplib-browse.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])
220 AC_OUTPUT