2 # Process this file with autoconf to produce a configure script.
6 AC_INIT([paraslash],[git],[maan@systemlinux.org])
7 AC_CONFIG_HEADER([config.h])
9 AC_CONFIG_FILES([Makefile])
10 AC_DEFUN([add_dot_o],[$(for i in $@; do printf "$i.o "; done)])
11 AC_DEFUN([add_cmdline],[$(for i in $@; do printf "${i}.cmdline "; done)])
12 AC_DEFUN([objlist_to_errlist],[$(for i in $@; do printf "DEFINE_ERRLIST($(echo $i| tr 'a-z' 'A-Z'));"; done) [const char **para_errlist[[]]] = {$(for i in $@; do printf "PARA_ERRLIST($(echo $i | tr 'a-z' 'A-Z')), "; done) }])
13 AC_PATH_PROG(UNAMEPATH, uname, no)
14 if test "$UNAMEPATH" = "no"; then
15 AC_MSG_ERROR(unable to determine system type)
17 AC_MSG_CHECKING(os type)
18 OSTYPE="`$UNAMEPATH -s`"
19 AC_MSG_RESULT("$OSTYPE")
21 if test "$OSTYPE" = "SunOS"; then
22 # needed on SunOS for socket magic
23 arch_cppflags="-D_XOPEN_SOURCE=500 -D__EXTENSIONS__"
24 AC_SUBST(arch_cppflags)
29 AC_PATH_PROG([gengetopt], [gengetopt])
30 test -z "$gengetopt" && AC_MSG_ERROR(
31 [gengetopt is required to build this package])
33 AC_PATH_PROG([help2man], [help2man])
34 test -z "$help2man" && AC_MSG_ERROR(
35 [help2man is required to build this package])
37 AC_PATH_PROG([install], [install])
38 test -z "$install" && AC_MSG_ERROR(
39 [The install program is required to build this package])
48 AC_CHECK_HEADERS([arpa/inet.h ctype.h fcntl.h limits.h netdb.h netinet/in.h \
49 stdlib.h string.h sys/socket.h sys/time.h sys/timeb.h sys/un.h \
50 sys/ipc.h unistd.h utime.h stddef.h],
51 [], [AC_MSG_ERROR([$ac_header not found])])
53 # Checks for typedefs, structures, and compiler characteristics.
73 # Checks for library functions.
75 AC_PROG_GCC_TRADITIONAL
79 AC_FUNC_SELECT_ARGTYPES
86 AC_CHECK_FUNCS([atexit dup2 memchr memmove memset \
87 regcomp select strchr strdup strerror strstr strtol uname \
88 fchdir gettimeofday localtime_r munmap strcasecmp strcspn \
89 strncasecmp strrchr strspn alarm mkdir inet_ntoa socket], [],
90 [AC_MSG_ERROR([function not found, cannot live without it])])
92 executables="recv filter audioc write afh play"
93 audio_format_handlers="mp3 wma"
95 ################################################################## clock_gettime
97 AC_CHECK_LIB([c], [clock_gettime], [clock_gettime_lib=c], [
98 AC_CHECK_LIB([rt], [clock_gettime], [clock_gettime_lib=rt], [], [])
100 if test -n "$clock_gettime_lib"; then
101 AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [
102 define to 1 if clock_gettime() is supported])
104 if test "$clock_gettime_lib" = "rt"; then
105 AC_SUBST(clock_gettime_ldflags, -lrt)
107 ########################################################################### osl
109 OLD_CPPFLAGS="$CPPFLAGS"
110 OLD_LDFLAGS="$LDFLAGS"
112 AC_ARG_WITH(osl_headers, [AS_HELP_STRING(--with-osl-headers=dir,
113 [look for osl.h also in dir])])
114 if test -n "$with_osl_headers"; then
115 osl_cppflags="-I$with_osl_headers"
116 CPPFLAGS="$CPPFLAGS $osl_cppflags"
118 AC_ARG_WITH(osl_libs, [AS_HELP_STRING(--with-osl-libs=dir,
119 [look for libosl also in dir])])
120 if test -n "$with_osl_libs"; then
121 osl_libs="-L$with_osl_libs"
122 LDFLAGS="$LDFLAGS $osl_libs"
125 AC_CHECK_HEADER(osl.h, [], have_osl=no)
126 AC_CHECK_LIB([osl], [osl_open_table], [], have_osl=no)
127 if test "$have_osl" = "yes"; then
128 AC_SUBST(osl_cppflags)
129 osl_ldflags="$osl_libs -losl"
130 AC_SUBST(osl_ldflags)
132 AC_MSG_WARN([libosl not found, can not build para_server.
134 http://systemlinux.org/~maan/osl
136 git clone git://git.tuebingen.mpg.de/osl
139 CPPFLAGS="$OLD_CPPFLAGS"
140 LDFLAGS="$OLD_LDFLAGS"
142 ########################################################################### crypto
143 AC_ARG_ENABLE(cryptolib, [AS_HELP_STRING(--enable-cryptolib=lib, [
144 Force using crypto library "lib". This package requires either
145 openssl or libgcrypt being installed. Possible values for "lib"
146 are thus "openssl" and "gcrypt". If this option is not given,
147 openssl is tried first. If openssl was not found, gcrypt is
150 case "$enable_cryptolib" in
151 "openssl") check_openssl="yes"; check_gcrypt="no";;
152 "gcrypt") check_openssl="no"; check_gcrypt="yes";;
153 "") check_openssl="yes"; check_gcrypt="yes";;
154 *) AC_MSG_ERROR([invalid value "$enable_cryptolib" for --enable-cryptolib]);;
156 ###################################################################### openssl
157 if test "$check_openssl" = "yes"; then
158 OLD_CPPFLAGS="$CPPFLAGS"
159 OLD_LDFLAGS="$LDFLAGS"
162 AC_ARG_WITH(openssl_headers, [AS_HELP_STRING(--with-openssl-headers=dir,
163 [look for openssl headers also in dir])])
164 if test -n "$with_openssl_headers"; then
165 openssl_cppflags="-I$with_openssl_headers"
166 CPPFLAGS="$CPPFLAGS $openssl_cppflags"
168 AC_ARG_WITH(openssl_libs, [AS_HELP_STRING(--with-openssl-libs=dir,
169 [look for openssl libraries also in dir])])
170 if test -n "$with_openssl_libs"; then
171 openssl_libs="-L$with_openssl_libs"
172 LDFLAGS="$LDFLAGS $openssl_libs"
174 AC_CHECK_HEADER(openssl/ssl.h, [], [have_openssl="no"])
175 AC_CHECK_LIB([crypto], [RAND_bytes], [], [have_openssl="no"])
176 if test "$have_openssl" = "no" -a -z "$with_openssl_headers$with_openssl_libs"; then
177 # try harder: openssl is sometimes installed in /usr/local/ssl
178 openssl_cppflags="-I/usr/local/ssl/include"
179 CPPFLAGS="$CPPFLAGS $openssl_cppflags"
180 openssl_libs="-L/usr/local/ssl/lib"
181 LDFLAGS="$LDFLAGS $openssl_libs"
183 unset ac_cv_header_openssl_ssl_h 2> /dev/null
184 unset ac_cv_lib_crypto_RAND_bytes 2> /dev/null
185 AC_CHECK_HEADER(openssl/ssl.h, [have_openssl="yes"], [])
186 if test "$have_openssl" = "yes"; then
187 AC_CHECK_LIB([crypto], [RAND_bytes], [], [have_openssl="no"])
190 if test "$have_openssl" = "yes"; then
191 AC_DEFINE(HAVE_OPENSSL, 1, [define to 1 to turn on openssl support])
192 AC_SUBST(openssl_cppflags)
193 openssl_ldflags="$openssl_libs -lssl -lcrypto"
194 AC_SUBST(openssl_ldflags)
196 audiod_errlist_objs="$audiod_errlist_objs crypt"
200 AC_MSG_WARN([openssl libraries not found])
202 CPPFLAGS="$OLD_CPPFLAGS"
203 LDFLAGS="$OLD_LDFLAGS"
208 ########################################################################### gcrypt
209 if test "$check_gcrypt" = "yes"; then
210 OLD_CPPFLAGS="$CPPFLAGS"
211 OLD_LDFLAGS="$LDFLAGS"
214 AC_ARG_WITH(gcrypt_headers, [AS_HELP_STRING(--with-gcrypt-headers=dir,
215 [look for gcrypt headers also in dir])])
216 if test -n "$with_gcrypt_headers"; then
217 gcrypt_cppflags="-I$with_gcrypt_headers"
218 CPPFLAGS="$CPPFLAGS $gcrypt_cppflags"
220 AC_ARG_WITH(gcrypt_libs, [AS_HELP_STRING(--with-gcrypt-libs=dir,
221 [look for libgcrypt also in dir])])
222 if test -n "$with_gcrypt_libs"; then
223 gcrypt_libs="-L$with_gcrypt_libs"
224 LDFLAGS="$LDFLAGS $gcrypt_libs"
226 AC_CHECK_HEADER(gcrypt.h, [], [have_gcrypt="no"])
227 AC_CHECK_LIB([gcrypt], [gcry_randomize], [], [have_gcrypt="no"])
228 if test "$have_gcrypt" = "yes"; then
229 AC_DEFINE(HAVE_GCRYPT, 1, [define to 1 to turn on gcrypt support])
230 AC_SUBST(gcrypt_cppflags)
231 gcrypt_ldflags="$gcrypt_libs -lgcrypt"
232 AC_SUBST(gcrypt_ldflags)
234 audiod_errlist_objs="$audiod_errlist_objs gcrypt"
236 AC_MSG_WARN([gcrypt library not found])
238 CPPFLAGS="$OLD_CPPFLAGS"
239 LDFLAGS="$OLD_LDFLAGS"
244 ########################################################################### libsocket
245 AC_CHECK_LIB([c], [socket],
247 [socket_ldflags="-lsocket"]
249 AC_SUBST(socket_ldflags)
250 ########################################################################### libnsl
251 AC_CHECK_LIB([c], [gethostbyname],
253 [nsl_ldflags="-lnsl"]
255 AC_SUBST(nsl_ldflags)
256 ########################################################################### ucred
257 AC_MSG_CHECKING(for struct ucred)
258 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
260 #include <sys/types.h>
261 #include <sys/socket.h>
263 struct ucred sucred; sucred.pid=0;
264 ]])],[have_ucred=yes],[have_ucred=no])
265 AC_MSG_RESULT($have_ucred)
266 if test ${have_ucred} = yes; then
267 AC_DEFINE(HAVE_UCRED, 1, define to 1 you have struct ucred)
269 ########################################################################### gengetopt
270 echo 'option "z" z "" flag off' | $gengetopt --file-name conftest-ggo &&
272 [gengetopt_args_info_description],
273 [ggo_descriptions_declared=yes],
274 [ggo_descriptions_declared=no],
275 [#include "conftest-ggo.h"]
277 AC_SUBST(ggo_descriptions_declared)
278 ########################################################################### curses
280 OLD_CPPFLAGS="$CPPFLAGS"
281 OLD_LDFLAGS="$LDFLAGS"
283 AC_ARG_WITH(curses_headers, [AS_HELP_STRING(--with-curses-headers=dir,
284 [look for curses.h also in dir])])
285 if test -n "$with_curses_headers"; then
286 curses_cppflags="-I$with_curses_headers"
287 CPPFLAGS="$CPPFLAGS $curses_cppflags"
289 AC_ARG_WITH(curses_libs, [AS_HELP_STRING(--with-curses-libs=dir,
290 [look for libcurses also in dir])])
291 if test -n "$with_curses_libs"; then
292 curses_libs="-L$with_curses_libs"
293 LDFLAGS="$LDFLAGS $curses_libs"
295 AC_CHECK_HEADER(curses.h, [], [
298 curses_ldflags="$curses_libs"
299 AC_CHECK_LIB([ncursesw], [initscr],
300 [curses_ldflags="$curses_libs -lncursesw"], [
301 AC_CHECK_LIB([curses], [initscr],
302 [curses_ldflags="$curses_libs -lcurses"],
307 AC_SUBST(curses_cppflags)
308 AC_SUBST(curses_ldflags)
309 CPPFLAGS="$OLD_CPPFLAGS"
310 LDFLAGS="$OLD_LDFLAGS"
312 ########################################################################### ip_mreqn
313 AC_MSG_CHECKING(for struct ip_mreqn (UDPv4 multicast))
314 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
320 ]])],[have_ip_mreqn=yes],[have_ip_mreqn=no])
321 AC_MSG_RESULT($have_ip_mreqn)
322 if test ${have_ip_mreqn} = yes; then
323 AC_DEFINE(HAVE_IP_MREQN, 1, define to 1 you have struct ip_mreqn)
325 ########################################################################### osx
327 AC_MSG_CHECKING(for CoreAudio (MacOs))
328 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
329 #include <CoreAudio/CoreAudio.h>
332 ]])],[have_core_audio=yes],[have_core_audio=no])
333 AC_MSG_RESULT($have_core_audio)
334 if test ${have_core_audio} = yes; then
335 f1="-framework CoreAudio"
336 f2="-framework AudioToolbox"
337 f3="-framework AudioUnit"
338 f4="-framework CoreServices"
339 core_audio_ldflags="$f1 $f2 $f3 $f4"
340 AC_SUBST(core_audio_ldflags)
342 audiod_errlist_objs="$audiod_errlist_objs osx_write ipc"
343 audiod_cmdline_objs="$audiod_cmdline_objs osx_write.cmdline"
345 AC_DEFINE(HAVE_CORE_AUDIO, 1, define to 1 on Mac Os X)
347 ####################################################### ogg/vorbis/speex/opus
349 OLD_CPPFLAGS="$CPPFLAGS"
350 OLD_LDFLAGS="$LDFLAGS"
352 AC_ARG_WITH(ogg_headers, [AS_HELP_STRING(--with-ogg-headers=dir,
353 [look for ogg headers also in dir])])
354 AC_ARG_WITH(ogg_libs, [AS_HELP_STRING(--with-ogg-libs=dir,
355 [look for ogg libs also in dir])])
356 AC_ARG_WITH(vorbis_headers, [AS_HELP_STRING(--with-vorbis-headers=dir,
357 [look for vorbis headers also in dir])])
358 AC_ARG_WITH(vorbis_libs, [AS_HELP_STRING(--with-vorbis-libs=dir,
359 [look for vorbis libs also in dir])])
360 AC_ARG_WITH(speex_headers, [AS_HELP_STRING(--with-speex-headers=dir,
361 [look for speex headers also in dir])])
362 AC_ARG_WITH(speex_libs, [AS_HELP_STRING(--with-speex-libs=dir,
363 [look for speex libs also in dir])])
364 AC_ARG_WITH(opus_headers, [AS_HELP_STRING(--with-opus-headers=dir,
365 [look for opus headers also in dir])])
366 AC_ARG_WITH(opus_libs, [AS_HELP_STRING(--with-opus-libs=dir,
367 [look for opus libs also in dir])])
369 if test -n "$with_ogg_headers"; then
370 ogg_cppflags="-I$with_ogg_headers"
371 CPPFLAGS="$CPPFLAGS $ogg_cppflags"
373 if test -n "$with_ogg_libs"; then
374 ogg_libs="-L$with_ogg_libs"
375 LDFLAGS="$LDFLAGS $ogg_libs"
377 AC_CHECK_HEADERS([ogg/ogg.h], [], [ have_ogg="no"; ])
378 AC_CHECK_LIB([ogg], [ogg_stream_init], [], [ have_ogg="no" ])
383 if test "$have_ogg" = "yes"; then
385 if test -n "$with_vorbis_headers"; then
386 vorbis_cppflags="-I$with_vorbis_headers"
387 CPPFLAGS="$CPPFLAGS $vorbis_cppflags"
389 if test -n "$with_vorbis_libs"; then
390 vorbis_libs="-L$with_vorbis_libs"
391 LDFLAGS="$LDFLAGS $vorbis_libs"
393 AC_CHECK_HEADERS([vorbis/codec.h], [], [ have_vorbis="no" ])
394 AC_CHECK_LIB([vorbis], [vorbis_info_init], [], [ have_vorbis="no" ])
397 if test -n "$with_speex_headers"; then
398 speex_cppflags="-I$with_speex_headers"
399 CPPFLAGS="$CPPFLAGS $speex_cppflags"
401 if test -n "$with_speex_libs"; then
402 speex_libs="-L$with_speex_libs"
403 LDFLAGS="$LDFLAGS $speex_libs"
405 AC_CHECK_LIB([speex], [speex_decoder_init], [], [ have_speex="no" ])
406 AC_CHECK_HEADERS([speex/speex.h], [], [ have_speex="no" ])
409 if test -n "$with_opus_headers"; then
410 opus_cppflags="-I$with_opus_headers"
411 CPPFLAGS="$CPPFLAGS $opus_cppflags"
413 if test -n "$with_opus_libs"; then
414 opus_libs="-L$with_opus_libs"
415 LDFLAGS="$LDFLAGS $opus_libs"
417 AC_CHECK_LIB([opus], [opus_multistream_decode], [], [ have_opus="no" ])
418 AC_CHECK_HEADERS([opus/opus.h], [], [ have_opus="no" ])
420 AC_MSG_WARN([vorbis/speex/opus depend on libogg, which was not detected])
426 msg="support in para_server/para_filter/para_afh"
427 if test "$have_vorbis" = "yes" || \
428 test "$have_speex" = "yes" || \
429 test "$have_opus" = "yes"; then
430 AC_SUBST(ogg_cppflags)
431 ogg_ldflags="$ogg_libs -logg"
432 if test "$OSTYPE" = "Darwin"; then
433 ogg_ldflags="-Wl,-bind_at_load $ogg_ldflags"
435 AC_SUBST(ogg_ldflags)
437 if test "$have_vorbis" = "yes"; then
438 AC_DEFINE(HAVE_OGGVORBIS, 1, define to 1 to turn on ogg/vorbis support)
439 vorbis_ldflags="$vorbis_libs -lvorbis -lvorbisfile"
440 AC_SUBST(vorbis_ldflags)
442 audiod_errlist_objs="$audiod_errlist_objs oggdec_filter"
444 audiod_audio_formats="$audiod_audio_formats ogg"
445 audio_format_handlers="$audio_format_handlers ogg"
447 if test "$have_speex" = "yes"; then
448 AC_DEFINE(HAVE_SPEEX, 1, define to 1 to turn on ogg/speex support)
449 AC_SUBST(speex_cppflags)
450 speex_ldflags="$speex_libs -lspeex"
451 AC_SUBST(speex_ldflags)
454 audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common"
456 audiod_audio_formats="$audiod_audio_formats spx"
457 audio_format_handlers="$audio_format_handlers spx"
459 AC_MSG_WARN([no ogg/speex $msg])
461 if test "$have_opus" = "yes"; then
462 AC_DEFINE(HAVE_OPUS, 1, define to 1 to turn on ogg/opus support)
463 AC_SUBST(opus_cppflags)
464 opus_ldflags="$opus_libs -lopus"
465 AC_SUBST(opus_ldflags)
468 audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common"
470 audiod_audio_formats="$audiod_audio_formats opus"
471 audio_format_handlers="$audio_format_handlers opus"
473 AC_MSG_WARN([no ogg/opus $msg])
475 CPPFLAGS="$OLD_CPPFLAGS"
476 LDFLAGS="$OLD_LDFLAGS"
478 ########################################################################### faad
480 OLD_CPPFLAGS="$CPPFLAGS"
481 OLD_LDFLAGS="$LDFLAGS"
483 AC_ARG_WITH(faad_headers, [AS_HELP_STRING(--with-faad-headers=dir,
484 [look for neaacdec.h also in dir])])
485 if test -n "$with_faad_headers"; then
486 faad_cppflags="-I$with_faad_headers"
487 CPPFLAGS="$CPPFLAGS $faad_cppflags"
489 AC_ARG_WITH(faad_libs, [AS_HELP_STRING(--with-faad-libs=dir,
490 [look for libfaad also in dir])])
491 if test -n "$with_faad_libs"; then
492 faad_libs="-L$with_faad_libs"
493 LDFLAGS="$LDFLAGS $faad_libs"
495 AC_CHECK_HEADER(neaacdec.h, [], have_faad=no)
496 AC_CHECK_LIB([faad], [NeAACDecOpen], [], have_faad=no)
497 if test "$have_faad" = "yes"; then
498 AC_DEFINE(HAVE_FAAD, 1, define to 1 if you want to build the aacdec filter)
499 AC_SUBST(faad_cppflags)
500 faad_ldflags="$faad_libs -lfaad"
501 AC_SUBST(faad_ldflags)
503 audiod_errlist_objs="$audiod_errlist_objs aacdec_filter aac_common"
505 audiod_audio_formats="$audiod_audio_formats aac"
506 audio_format_handlers="$audio_format_handlers aac"
508 CPPFLAGS="$OLD_CPPFLAGS"
509 LDFLAGS="$OLD_LDFLAGS"
511 ########################################################################### mad
513 OLD_CPPFLAGS="$CPPFLAGS"
514 OLD_LDFLAGS="$LDFLAGS"
517 AC_ARG_WITH(mad_headers, [AS_HELP_STRING(--with-mad-headers=dir,
518 [look for mad.h also in dir])])
519 if test -n "$with_mad_headers"; then
520 mad_cppflags="-I$with_mad_headers"
521 CPPFLAGS="$CPPFLAGS $mad_cppflags"
523 AC_ARG_WITH(mad_libs, [AS_HELP_STRING(--with-mad-libs=dir,
524 [look for libmad also in dir])])
525 if test -n "$with_mad_libs"; then
526 mad_libs="-L$with_mad_libs"
527 LDFLAGS="$LDFLAGS $mad_libs"
529 AC_CHECK_HEADERS([mad.h], [], [
532 AC_CHECK_LIB([mad], [mad_stream_init], [], [
535 if test "$have_mad" = "yes"; then
536 AC_DEFINE(HAVE_MAD, 1, define to 1 if you want to build the mp3dec filter)
537 AC_SUBST(mad_cppflags)
538 mad_ldflags="$mad_libs -lmad"
539 AC_SUBST(mad_ldflags)
540 audiod_cmdline_objs="$audiod_cmdline_objs mp3dec_filter"
541 audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter"
542 audiod_audio_formats="$audiod_audio_formats mp3"
544 AC_MSG_WARN([no mp3dec support in para_audiod/para_filter])
546 CPPFLAGS="$OLD_CPPFLAGS"
547 LDFLAGS="$OLD_LDFLAGS"
549 ###################################################################### libid3tag
550 OLD_CPPFLAGS="$CPPFLAGS"
551 OLD_LDFLAGS="$LDFLAGS"
555 AC_ARG_WITH(id3tag_headers, [AS_HELP_STRING(--with-id3tag-headers=dir,
556 [look for id3tag header files also in dir])])
557 if test -n "$with_id3tag_headers"; then
558 id3tag_cppflags="-I$with_id3tag_headers"
559 CPPFLAGS="$CPPFLAGS $id3tag_cppflags"
561 AC_ARG_WITH(id3tag_libs, [AS_HELP_STRING(--with-id3tag-libs=dir,
562 [look for id3tag libs also in dir])])
563 if test -n "$with_id3tag_libs"; then
564 id3tag_libs="-L$with_id3tag_libs"
565 LDFLAGS="$LDFLAGS $id3tag_libs"
568 AC_MSG_CHECKING(for libid3tag)
569 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
572 struct id3_tag t = {.flags = 0};
573 ]])],[],[have_libid3tag=no])
574 AC_MSG_RESULT($have_libid3tag)
576 if test ${have_libid3tag} = yes; then
577 AC_DEFINE(HAVE_LIBID3TAG, 1, define to 1 you have libid3tag)
578 AC_SUBST(id3tag_cppflags)
579 AC_SUBST(id3tag_ldflags, "$id3tag_libs -lid3tag -lz")
581 CPPFLAGS="$OLD_CPPFLAGS"
582 LDFLAGS="$OLD_LDFLAGS"
584 ########################################################################### flac
585 OLD_CPPFLAGS="$CPPFLAGS"
586 OLD_LDFLAGS="$LDFLAGS"
590 AC_ARG_WITH(flac_headers, [AS_HELP_STRING(--with-flac-headers=dir,
591 [look for flac headers also in dir])])
592 if test -n "$with_flac_headers"; then
593 flac_cppflags="-I$with_flac_headers"
594 CPPFLAGS="$CPPFLAGS $flac_cppflags"
596 AC_ARG_WITH(flac_libs, [AS_HELP_STRING(--with-flac-libs=dir,
597 [look for flac libs also in dir])])
598 if test -n "$with_flac_libs"; then
599 flac_libs="-L$with_flac_libs"
600 LDFLAGS="$LDFLAGS $flac_libs"
602 AC_CHECK_HEADER(FLAC/stream_decoder.h, [], have_flac=no)
603 AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], have_flac=no, -logg -lm)
604 if test "$have_flac" = "yes"; then
605 AC_DEFINE(HAVE_FLAC, 1, define to 1 if you want to build the flacdec filter)
606 AC_SUBST(flac_cppflags)
607 flac_ldflags="$flac_libs -lFLAC"
608 AC_SUBST(flac_ldflags)
610 audiod_errlist_objs="$audiod_errlist_objs flacdec_filter"
611 audio_format_handlers="$audio_format_handlers flac"
612 audiod_audio_formats="$audiod_audio_formats flac"
614 AC_MSG_WARN([no flac support in para_audiod/para_filter/para_afh/para_server])
616 CPPFLAGS="$OLD_CPPFLAGS"
617 LDFLAGS="$OLD_LDFLAGS"
619 ########################################################################### oss
620 OLD_CPPFLAGS="$CPPFLAGS"
621 OLD_LDFLAGS="$LDFLAGS"
625 msg="=> will not build oss writer"
627 AC_CHECK_HEADER(sys/soundcard.h, [
628 audiod_errlist_objs="$audiod_errlist_objs oss_write"
629 audiod_cmdline_objs="$audiod_cmdline_objs oss_write"
631 fade_errlist_objs="$fade_errlist_objs oss_mix"
633 mixers="${mixers}oss "
634 default_mixer="OSS_MIX"
636 AC_CHECK_LIB(ossaudio, _oss_ioctl, [
637 oss_ldflags="-lossaudio"
638 AC_SUBST(oss_ldflags)
644 AC_MSG_WARN([no sys/soundcard.h $msg])
647 CPPFLAGS="$OLD_CPPFLAGS"
648 LDFLAGS="$OLD_LDFLAGS"
651 ########################################################################### alsa
652 OLD_CPPFLAGS="$CPPFLAGS"
653 OLD_LDFLAGS="$LDFLAGS"
656 msg="=> no alsa support for para_audiod/para_write"
657 if test "$OSTYPE" != "Linux"; then
662 if test "$have_alsa" = "yes"; then
663 AC_CHECK_HEADERS([alsa/asoundlib.h], [], [
665 AC_MSG_WARN([no alsa/asoundlib $msg])
669 if test "$have_alsa" = "yes"; then
670 AC_CHECK_LIB([asound], [snd_pcm_open], [], [
672 AC_MSG_WARN([no libasound $msg])
676 if test "$have_alsa" = "yes"; then
677 alsa_ldflags="-lasound"
678 AC_SUBST(alsa_ldflags)
679 audiod_errlist_objs="$audiod_errlist_objs alsa_write"
680 audiod_cmdline_objs="$audiod_cmdline_objs alsa_write"
682 fade_errlist_objs="$fade_errlist_objs alsa_mix"
684 mixers="${mixers}alsa "
685 default_mixer="ALSA_MIX"
688 CPPFLAGS="$OLD_CPPFLAGS"
689 LDFLAGS="$OLD_LDFLAGS"
691 ########################################################################### libao
692 OLD_CPPFLAGS="$CPPFLAGS"
693 OLD_LDFLAGS="$LDFLAGS"
697 AC_ARG_WITH(ao_headers, [AS_HELP_STRING(--with-ao-headers=dir,
698 [look for ao/ao.h also in dir])])
699 if test -n "$with_ao_headers"; then
700 ao_cppflags="-I$with_ao_headers"
701 CPPFLAGS="$CPPFLAGS $ao_cppflags"
703 AC_ARG_WITH(ao_libs, [AS_HELP_STRING(--with-ao-libs=dir,
704 [look for libao also in dir])])
705 if test -n "$with_ao_libs"; then
706 ao_libs="-L$with_ao_libs"
707 LDFLAGS="$LDFLAGS $ao_libs"
709 msg="no libao support for para_audiod/para_write"
710 AC_CHECK_HEADERS([ao/ao.h], [
713 AC_MSG_WARN([ao.h not found, $msg])
715 if test "$have_ao" = "yes"; then
716 AC_CHECK_LIB([ao], [ao_initialize], [], [
718 AC_MSG_WARN([ao lib not found or not working, $msg])
721 if test "$have_ao" = "yes"; then
722 AC_CHECK_HEADERS([pthread.h], [
725 AC_MSG_WARN([pthread.h not found, $msg])
728 if test "$have_ao" = "yes"; then
729 AC_CHECK_LIB([pthread], [pthread_create], [], [
731 AC_MSG_WARN([pthread lib not found or not working, $msg])
734 if test "$have_ao" = "yes"; then
735 AC_SUBST(ao_cppflags)
736 ao_ldflags="$ao_libs -lao -lpthread"
739 audiod_errlist_objs="$audiod_errlist_objs ao_write"
740 audiod_cmdline_objs="$audiod_cmdline_objs ao_write"
744 CPPFLAGS="$OLD_CPPFLAGS"
745 LDFLAGS="$OLD_LDFLAGS"
747 ############################################################# readline
748 OLD_CPPFLAGS="$CPPFLAGS"
749 OLD_LDFLAGS="$LDFLAGS"
753 AC_ARG_WITH(readline_headers, [AS_HELP_STRING(--with-readline-headers=dir,
754 [look for libreadline header files also in dir])])
755 if test -n "$with_readline_headers"; then
756 readline_cppflags="-I$with_readline_headers"
757 CPPFLAGS="$CPPFLAGS $readline_cppflags"
760 AC_ARG_WITH(readline_libs, [AS_HELP_STRING(--with-readline-libs=dir,
761 [look for readline library also in dir])])
762 if test -n "$with_readline_libs"; then
763 readline_libs="-L$with_readline_libs"
764 LDFLAGS="$LDFLAGS $readline_libs"
766 msg="no interactive cli support"
767 AC_CHECK_HEADERS([readline/readline.h], [
770 AC_MSG_WARN([readline/readline.h not found, $msg])
773 if test "$have_curses" != "yes"; then
775 AC_MSG_WARN([interactive cli support depends on curses,])
776 AC_MSG_WARN([but no curses lib was detected, $msg])
779 if test "$have_readline" = "yes"; then
780 readline_ldflags="$readline_libs -lreadline"
781 AC_SEARCH_LIBS([rl_free_keymap], [readline], [], [have_readline="no"])
782 if test "$have_readline" = "no"; then # try with -lcurses
784 AC_MSG_NOTICE([trying again with -lcurses])
785 unset ac_cv_search_rl_free_keymap 2> /dev/null
786 AC_SEARCH_LIBS([rl_free_keymap], [readline], [
788 readline_ldflags="$readline_ldflags -lcurses"
791 if test "$have_readline" = "no"; then # try with -ltermcap
793 AC_MSG_NOTICE([trying again with -ltermcap])
794 unset ac_cv_search_rl_free_keymap 2> /dev/null
795 AC_SEARCH_LIBS([rl_free_keymap], [readline], [
797 readline_ldflags="$readline_ldflags -ltermcap"
802 if test "$have_readline" = "yes"; then
804 AC_SUBST(readline_cppflags)
805 AC_SUBST(readline_ldflags)
806 AC_DEFINE(HAVE_READLINE, 1, define to 1 to turn on readline support)
808 AC_MSG_WARN([libreadline not found or unusable])
810 CPPFLAGS="$OLD_CPPFLAGS"
811 LDFLAGS="$OLD_LDFLAGS"
813 ############################################################# libsamplerate
814 OLD_CPPFLAGS="$CPPFLAGS"
815 OLD_LDFLAGS="$LDFLAGS"
818 have_samplerate="yes"
819 AC_ARG_WITH(samplerate_headers, [AS_HELP_STRING(--with-samplerate-headers=dir,
820 [look for samplerate headers also in dir])])
821 if test -n "$with_samplerate_headers"; then
822 samplerate_cppflags="-I$with_samplerate_headers"
823 CPPFLAGS="$CPPFLAGS $samplerate_cppflags"
825 AC_ARG_WITH(samplerate_libs, [AS_HELP_STRING(--with-samplerate-libs=dir,
826 [look for samplerate libs also in dir])])
827 if test -n "$with_samplerate_libs"; then
828 samplerate_libs="-L$with_samplerate_libs"
829 LDFLAGS="$LDFLAGS $samplerate_libs"
832 AC_CHECK_HEADER(samplerate.h, [], have_samplerate=no)
833 AC_CHECK_LIB([samplerate], [src_process], [], have_samplerate=no, [])
835 if test "$have_samplerate" = "yes"; then
836 AC_SUBST(samplerate_cppflags)
837 samplerate_ldflags="$samplerate_libs -lsamplerate"
838 AC_SUBST(samplerate_ldflags)
840 audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav"
841 audiod_cmdline_objs="$audiod_cmdline_objs resample_filter"
843 AC_MSG_WARN([no resample support in para_audiod/para_filter])
845 CPPFLAGS="$OLD_CPPFLAGS"
846 LDFLAGS="$OLD_LDFLAGS"
848 ######################################################################### server
849 if test \( "$have_openssl" = "yes" -o "$have_gcrypt" = "yes" \) \
850 -a "$have_osl" = "yes" ; then
853 executables="$executables server"
854 server_cmdline_objs="server"
855 server_errlist_objs="
894 if test "$have_openssl" = "yes"; then
895 server_errlist_objs="$server_errlist_objs crypt"
897 if test "$have_gcrypt" = "yes"; then
898 server_errlist_objs="$server_errlist_objs gcrypt"
900 if test "$have_vorbis" = "yes" || \
901 test "$have_speex" = "yes" || \
902 test "$have_opus" = "yes"; then
903 server_errlist_objs="$server_errlist_objs ogg_afh_common"
905 if test "$have_vorbis" = "yes"; then
906 server_errlist_objs="$server_errlist_objs ogg_afh"
908 if test "$have_speex" = "yes"; then
909 server_errlist_objs="$server_errlist_objs spx_afh spx_common"
911 if test "$have_opus" = "yes"; then
912 server_errlist_objs="$server_errlist_objs opus_afh opus_common"
914 if test "$have_faad" = "yes"; then
915 server_errlist_objs="$server_errlist_objs aac_afh aac_common"
917 if test "$have_flac" = "yes"; then
918 server_errlist_objs="$server_errlist_objs flac_afh"
920 server_objs="add_cmdline($server_cmdline_objs) $server_errlist_objs"
921 AC_SUBST(server_objs, add_dot_o($server_objs))
922 AC_DEFINE_UNQUOTED(INIT_SERVER_ERRLISTS,
923 objlist_to_errlist($server_errlist_objs), errors used by para_server)
927 ############################################################# client
928 if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then
930 executables="$executables client"
931 client_cmdline_objs="client"
932 client_errlist_objs="
948 if test "$have_openssl" = "yes"; then
949 client_errlist_objs="$client_errlist_objs crypt"
951 if test "$have_gcrypt" = "yes"; then
952 client_errlist_objs="$client_errlist_objs gcrypt"
954 if test "$have_readline" = "yes"; then
955 client_errlist_objs="$client_errlist_objs interactive"
957 client_objs="add_cmdline($client_cmdline_objs) $client_errlist_objs"
958 AC_SUBST(client_objs, add_dot_o($client_objs))
959 AC_DEFINE_UNQUOTED(INIT_CLIENT_ERRLISTS,
960 objlist_to_errlist($client_errlist_objs), errors used by para_client)
964 ############################################################# audiod
965 if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then
967 executables="$executables audiod"
968 audiod_cmdline_objs="$audiod_cmdline_objs
979 audiod_errlist_objs="$audiod_errlist_objs
1016 audiod_ldflags="$audiod_ldflags -lm"
1017 audiod_audio_formats="$audiod_audio_formats wma"
1021 ########################################################################### fade
1022 if test -n "$mixers"; then
1024 executables="$executables fade"
1025 fade_errlist_objs="$fade_errlist_objs fade exec string fd version ggo"
1026 fade_cmdline_objs="fade"
1027 fade_objs="add_cmdline($fade_cmdline_objs) $fade_errlist_objs"
1028 AC_SUBST(fade_objs, add_dot_o($fade_objs))
1029 AC_SUBST(fade_ldflags, $fade_ldflags)
1030 AC_DEFINE_UNQUOTED(INIT_FADE_ERRLISTS,
1031 objlist_to_errlist($fade_errlist_objs),
1032 errors used by para_fade)
1034 for i in $mixers; do
1035 printf "${i}_MIX, " | tr '[a-z]' '[A-Z]'
1038 AC_DEFINE_UNQUOTED(MIXER_ENUM, $enum NUM_SUPPORTED_MIXERS,
1039 enum of supported mixers)
1040 AC_DEFINE_UNQUOTED(DEFAULT_MIXER, $default_mixer,
1041 use this mixer if none was specified)
1042 names="$(for i in $mixers; do printf \"$i\",' ' ; done)"
1043 AC_DEFINE_UNQUOTED(MIXER_NAMES, $names, supported mixer names)
1045 for i in $mixers; do
1046 printf 'extern void '$i'_mix_init(struct mixer *); '
1049 AC_DEFINE_UNQUOTED(DECLARE_MIXER_INITS, $inits,
1050 init functions of the supported mixers)
1051 array="$(for i in $mixers; do printf '{.init = '$i'_mix_init},'; done)"
1052 AC_DEFINE_UNQUOTED(MIXER_ARRAY, $array, array of supported mixers)
1053 mixer_summary="supported mixers:: $mixers, default: $default_mixer"
1056 AC_MSG_WARN([no mixer support])
1057 mixer_summary="para_fade: no"
1059 ########################################################################### gui
1060 if test "$have_curses" = "yes"; then
1062 executables="$executables gui"
1063 gui_cmdline_objs="gui"
1077 gui_objs="add_cmdline($gui_cmdline_objs) $gui_errlist_objs"
1080 AC_MSG_WARN([no curses lib, cannot build para_gui])
1082 ######################################################################## filter
1091 filter_errlist_objs="
1115 filter_cmdline_objs="
1122 if test "$have_vorbis" = "yes"; then
1123 filters="$filters oggdec"
1124 filter_errlist_objs="$filter_errlist_objs oggdec_filter"
1126 if test "$have_speex" = "yes"; then
1127 filters="$filters spxdec"
1128 filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common"
1130 if test "$have_opus" = "yes"; then
1131 filters="$filters opusdec"
1132 filter_errlist_objs="$filter_errlist_objs opusdec_filter opus_common"
1134 if test "$have_faad" = "yes"; then
1135 filter_errlist_objs="$filter_errlist_objs aacdec_filter aac_common"
1136 filters="$filters aacdec"
1138 if test "$have_mad" = "yes"; then
1139 filter_cmdline_objs="$filter_cmdline_objs mp3dec_filter"
1140 filter_errlist_objs="$filter_errlist_objs mp3dec_filter"
1141 filters="$filters mp3dec"
1143 if test "$have_flac" = "yes"; then
1144 filter_errlist_objs="$filter_errlist_objs flacdec_filter"
1145 filters="$filters flacdec"
1147 if test "$have_samplerate" = "yes"; then
1148 filter_errlist_objs="$filter_errlist_objs resample_filter check_wav"
1149 filter_cmdline_objs="$filter_cmdline_objs resample_filter"
1150 filters="$filters resample"
1152 ########################################################################## recv
1182 if test "$have_vorbis" = "yes" || \
1183 test "$have_speex" = "yes" || \
1184 test "$have_opus" = "yes"; then
1185 recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
1187 if test "$have_vorbis" = "yes"; then
1188 recv_errlist_objs="$recv_errlist_objs ogg_afh"
1190 if test "$have_speex" = "yes"; then
1191 recv_errlist_objs="$recv_errlist_objs spx_afh spx_common"
1193 if test "$have_opus" = "yes"; then
1194 recv_errlist_objs="$recv_errlist_objs opus_afh opus_common"
1196 if test "$have_faad" = "yes"; then
1197 recv_errlist_objs="$recv_errlist_objs aac_afh aac_common"
1199 if test "$have_flac" = "yes"; then
1200 recv_errlist_objs="$recv_errlist_objs flac_afh"
1202 recv_objs="add_cmdline($recv_cmdline_objs) $recv_errlist_objs"
1203 AC_SUBST(recv_objs, add_dot_o($recv_objs))
1204 AC_DEFINE_UNQUOTED(INIT_RECV_ERRLISTS, objlist_to_errlist($recv_errlist_objs),
1205 errors used by para_recv)
1206 ########################################################################### afh
1207 afh_cmdline_objs="afh"
1220 if test "$have_vorbis" = "yes" || \
1221 test "$have_speex" = "yes" || \
1222 test "$have_opus" = "yes"; then
1223 afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
1225 if test "$have_vorbis" = "yes"; then
1226 afh_errlist_objs="$afh_errlist_objs ogg_afh"
1228 if test "$have_speex" = "yes"; then
1229 afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
1231 if test "$have_opus" = "yes"; then
1232 afh_errlist_objs="$afh_errlist_objs opus_afh opus_common"
1234 if test "$have_faad" = "yes"; then
1235 afh_errlist_objs="$afh_errlist_objs aac_common aac_afh"
1237 if test "$have_flac" = "yes"; then
1238 afh_errlist_objs="$afh_errlist_objs flac_afh"
1241 afh_objs="add_cmdline($afh_cmdline_objs) $afh_errlist_objs"
1243 AC_SUBST(afh_objs, add_dot_o($afh_objs))
1244 AC_DEFINE_UNQUOTED(INIT_AFH_ERRLISTS,
1245 objlist_to_errlist($afh_errlist_objs), errors used by para_afh)
1246 ########################################################################## play
1290 if test "$have_core_audio" = "yes"; then
1291 play_errlist_objs="$play_errlist_objs osx_write ipc"
1292 play_cmdline_objs="$play_cmdline_objs osx_write.cmdline"
1294 if test "$have_vorbis" = "yes" || \
1295 test "$have_speex" = "yes" || \
1296 test "$have_opus" = "yes"; then
1297 play_errlist_objs="$play_errlist_objs ogg_afh_common"
1299 if test "$have_vorbis" = "yes"; then
1300 play_errlist_objs="$play_errlist_objs oggdec_filter ogg_afh"
1302 if test "$have_speex" = "yes"; then
1303 play_errlist_objs="$play_errlist_objs spxdec_filter spx_afh spx_common"
1305 if test "$have_opus" = "yes"; then
1306 play_errlist_objs="$play_errlist_objs opusdec_filter opus_afh opus_common"
1308 if test "$have_faad" = "yes"; then
1309 play_errlist_objs="$play_errlist_objs aacdec_filter aac_afh aac_common"
1311 if test "$have_mad" = "yes"; then
1312 play_cmdline_objs="$play_cmdline_objs mp3dec_filter"
1313 play_errlist_objs="$play_errlist_objs mp3dec_filter"
1315 if test "$have_flac" = "yes"; then
1316 play_errlist_objs="$play_errlist_objs flacdec_filter flac_afh"
1318 if test "$have_oss" = "yes"; then
1319 play_errlist_objs="$play_errlist_objs oss_write"
1320 play_cmdline_objs="$play_cmdline_objs oss_write"
1322 if test "$have_alsa" = "yes"; then
1323 play_errlist_objs="$play_errlist_objs alsa_write"
1324 play_cmdline_objs="$play_cmdline_objs alsa_write"
1326 if test "$have_ao" = "yes"; then
1327 play_errlist_objs="$play_errlist_objs ao_write"
1328 play_cmdline_objs="$play_cmdline_objs ao_write"
1330 if test "$have_readline" = "yes"; then
1331 play_errlist_objs="$play_errlist_objs interactive"
1333 if test "$have_samplerate" = "yes"; then
1334 play_errlist_objs="$play_errlist_objs resample_filter check_wav"
1335 play_cmdline_objs="$play_cmdline_objs resample_filter"
1338 play_objs="add_cmdline($play_cmdline_objs) $play_errlist_objs"
1339 AC_SUBST(play_objs, add_dot_o($play_objs))
1340 AC_DEFINE_UNQUOTED(INIT_PLAY_ERRLISTS,
1341 objlist_to_errlist($play_errlist_objs), errors used by para_play)
1342 ######################################################################### write
1343 write_cmdline_objs="
1347 write_errlist_objs="
1362 default_writer="FILE_WRITE"
1364 if test "$have_core_audio" = "yes"; then
1365 write_errlist_objs="$write_errlist_objs osx_write ipc"
1366 write_cmdline_objs="$write_cmdline_objs osx_write.cmdline"
1367 writers="$writers osx"
1368 default_writer="OSX_WRITE"
1370 if test "$have_ao" = "yes"; then
1371 write_errlist_objs="$write_errlist_objs ao_write"
1372 write_cmdline_objs="$write_cmdline_objs ao_write"
1373 writers="$writers ao"
1374 default_writer="AO_WRITE"
1376 if test "$have_oss" = "yes"; then
1377 write_errlist_objs="$write_errlist_objs oss_write"
1378 write_cmdline_objs="$write_cmdline_objs oss_write"
1379 writers="$writers oss"
1380 default_writer="OSS_WRITE"
1382 if test "$have_alsa" = "yes"; then
1383 write_errlist_objs="$write_errlist_objs alsa_write"
1384 write_cmdline_objs="$write_cmdline_objs alsa_write"
1385 writers="$writers alsa"
1386 default_writer="ALSA_WRITE"
1388 write_objs="add_cmdline($write_cmdline_objs) $write_errlist_objs"
1389 AC_SUBST(write_objs, add_dot_o($write_objs))
1390 AC_DEFINE_UNQUOTED(INIT_WRITE_ERRLISTS,
1391 objlist_to_errlist($write_errlist_objs), errors used by para_write)
1392 enum="$(for i in $writers; do printf "${i}_WRITE, " | tr '[a-z]' '[A-Z]'; done)"
1393 AC_DEFINE_UNQUOTED(WRITER_ENUM, $enum NUM_SUPPORTED_WRITERS,
1394 enum of supported writers)
1395 AC_DEFINE_UNQUOTED(DEFAULT_WRITER, $default_writer, use this writer if none was specified)
1396 names="$(for i in $writers; do printf \"$i\",' ' ; done)"
1397 AC_DEFINE_UNQUOTED(WRITER_NAMES, $names, supported writer names)
1398 inits="$(for i in $writers; do printf 'extern void '$i'_write_init(struct writer *); '; done)"
1399 AC_DEFINE_UNQUOTED(DECLARE_WRITER_INITS, $inits, init functions of the supported writers)
1400 array="$(for i in $writers; do printf '{.init = '$i'_write_init},'; done)"
1401 AC_DEFINE_UNQUOTED(WRITER_ARRAY, $array, array of supported writers)
1402 ######################################################################## audioc
1403 audioc_cmdline_objs="audioc"
1404 audioc_errlist_objs="
1412 if test "$have_readline" = "yes"; then
1413 audioc_errlist_objs="$audioc_errlist_objs
1420 audioc_objs="add_cmdline($audioc_cmdline_objs) $audioc_errlist_objs"
1421 AC_SUBST(audioc_objs, add_dot_o($audioc_objs))
1422 AC_DEFINE_UNQUOTED(INIT_AUDIOC_ERRLISTS,
1423 objlist_to_errlist($audioc_errlist_objs), errors used by para_audioc)
1424 ############################################################# error2.h
1425 # these are always built
1428 $filter_errlist_objs
1429 $audioc_errlist_objs
1435 # optional executables
1436 if test "$build_server" = "yes"; then
1437 all_errlist_objs="$all_errlist_objs $server_errlist_objs"
1439 if test "$build_gui" = "yes"; then
1440 all_errlist_objs="$all_errlist_objs $gui_errlist_objs"
1442 if test "$build_fade" = "yes"; then
1443 all_errlist_objs="$all_errlist_objs $fade_errlist_objs"
1445 if test "$build_client" = "yes"; then
1446 all_errlist_objs="$all_errlist_objs $client_errlist_objs"
1448 if test "$build_audiod" = "yes"; then
1449 all_errlist_objs="$all_errlist_objs $audiod_errlist_objs"
1452 all_errlist_objs="$(echo $all_errlist_objs | tr ' ' '\n' | sort | uniq)"
1454 object_executable_matrix=
1455 for i in $executables; do
1456 eval objs=\$${i}_errlist_objs
1457 object_executable_matrix="$object_executable_matrix $i: $objs"
1459 # use echo to replace newlines by space
1460 AC_SUBST(object_executable_matrix, $(echo $object_executable_matrix))
1462 for obj in $all_errlist_objs; do
1463 SS="$SS SS_$(echo $obj | tr 'a-z' 'A-Z'),"
1465 AC_DEFINE_UNQUOTED(DEFINE_ERRLIST_OBJECT_ENUM,
1466 [enum {$SS NUM_SS}],
1467 [list of all objects that use the paraslash error facility]
1469 ################################################################## status items
1471 status_items="basename status num_played mtime bitrate frequency file_size
1472 status_flags format score techinfo afs_mode
1473 attributes_txt decoder_flags audiod_status play_time attributes_bitmap
1474 offset seconds_total stream_start current_time audiod_uptime image_id
1475 lyrics_id duration directory lyrics_name image_name path hash channels
1476 last_played num_chunks chunk_time amplification artist title year album
1480 for i in $status_items; do
1481 result="$result SI_$(echo $i | tr 'a-z' 'A-Z'), "
1483 AC_DEFINE_UNQUOTED(STATUS_ITEM_ENUM, [$result],
1484 [enum of all status items])
1487 for i in $status_items; do
1488 result="$result \"$i\", "
1490 AC_DEFINE_UNQUOTED(STATUS_ITEM_ARRAY, [$result],
1491 [char * array of all status items])
1493 AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers",
1494 [formats supported by para_server and para_afh])
1496 AC_SUBST(executables)
1498 filter_objs="add_cmdline($filter_cmdline_objs) $filter_errlist_objs"
1499 audiod_objs="add_cmdline($audiod_cmdline_objs) $audiod_errlist_objs"
1501 AC_SUBST(filter_objs, add_dot_o($filter_objs))
1502 AC_DEFINE_UNQUOTED(INIT_FILTER_ERRLISTS,
1503 objlist_to_errlist($filter_errlist_objs), errors used by para_filter)
1505 AC_SUBST(audiod_objs, add_dot_o($audiod_objs))
1506 AC_SUBST(audiod_ldflags, $audiod_ldflags)
1507 AC_DEFINE_UNQUOTED(INIT_AUDIOD_ERRLISTS, objlist_to_errlist($audiod_errlist_objs),
1508 errors used by para_audiod)
1510 AC_SUBST(gui_objs, add_dot_o($gui_objs))
1511 AC_DEFINE_UNQUOTED(INIT_GUI_ERRLISTS,
1512 objlist_to_errlist($gui_errlist_objs), errors used by para_gui)
1514 enum="$(for i in $filters; do printf "${i}_FILTER, " | tr '[a-z]' '[A-Z]'; done)"
1515 AC_DEFINE_UNQUOTED(FILTER_ENUM, $enum NUM_SUPPORTED_FILTERS,
1516 enum of supported filters)
1517 inits="$(for i in $filters; do printf 'extern void '$i'_filter_init(struct filter *f); '; done)"
1518 AC_DEFINE_UNQUOTED(DECLARE_FILTER_INITS, $inits, init functions of the supported filters)
1519 array="$(for i in $filters; do printf '{.name = "'$i'", .init = '$i'_filter_init},'; done)"
1520 AC_DEFINE_UNQUOTED(FILTER_ARRAY, $array, array of supported filters)
1522 enum="$(for i in $audiod_audio_formats; do printf "AUDIO_FORMAT_${i}, " | tr '[a-z]' '[A-Z]'; done)"
1523 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMATS_ENUM, $enum NUM_AUDIO_FORMATS,
1524 enum of audio formats supported by audiod)
1525 names="$(for i in $audiod_audio_formats; do printf \"$i\",' ' ; done)"
1526 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMAT_ARRAY, $names, array of audio formats supported by audiod)
1530 paraslash configuration:
1531 ~~~~~~~~~~~~~~~~~~~~~~~~
1532 unix socket credentials: $have_ucred
1533 readline (interactive CLIs): $have_readline
1534 audio formats handlers: $audio_format_handlers
1535 id3 version2 support: $have_libid3tag
1536 filters: $(echo $filters)
1540 para_server: $build_server
1541 para_gui: $build_gui
1542 para_fade: $build_fade
1543 para_client: $build_client
1544 para_audiod: $build_audiod