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([make_errlist_defines], \
14 printf "DEFINE_ERRLIST($(echo $i | tr 'a-z' 'A-Z'));"; \
17 AC_DEFUN([make_para_errlists], \
19 printf "PARA_ERRLIST($(echo $i | tr 'a-z' 'A-Z')), "; \
22 AC_DEFUN([objlist_to_errlist],[ \
23 make_errlist_defines($@) \
24 [const char **para_errlist[[]]] = {make_para_errlists($@)} \
27 AC_PATH_PROG(UNAMEPATH, uname, no)
28 if test "$UNAMEPATH" = "no"; then
29 AC_MSG_ERROR(unable to determine system type)
31 AC_MSG_CHECKING(os type)
32 OSTYPE="`$UNAMEPATH -s`"
33 AC_MSG_RESULT("$OSTYPE")
35 if test "$OSTYPE" = "SunOS"; then
36 # needed on SunOS for socket magic
37 arch_cppflags="-D_XOPEN_SOURCE=500 -D__EXTENSIONS__"
38 AC_SUBST(arch_cppflags)
43 AC_PATH_PROG([gengetopt], [gengetopt])
44 test -z "$gengetopt" && AC_MSG_ERROR(
45 [gengetopt is required to build this package])
47 AC_PATH_PROG([help2man], [help2man])
48 test -z "$help2man" && AC_MSG_ERROR(
49 [help2man is required to build this package])
51 AC_PATH_PROG([install], [install])
52 test -z "$install" && AC_MSG_ERROR(
53 [The install program is required to build this package])
62 AC_CHECK_HEADERS([arpa/inet.h ctype.h fcntl.h limits.h netdb.h netinet/in.h \
63 stdlib.h string.h sys/socket.h sys/time.h sys/timeb.h sys/un.h \
64 sys/ipc.h unistd.h utime.h stddef.h],
65 [], [AC_MSG_ERROR([$ac_header not found])])
67 # Checks for typedefs, structures, and compiler characteristics.
87 # Checks for library functions.
89 AC_PROG_GCC_TRADITIONAL
93 AC_FUNC_SELECT_ARGTYPES
100 AC_CHECK_FUNCS([atexit dup2 memchr memmove memset \
101 regcomp select strchr strdup strerror strstr strtol uname \
102 fchdir gettimeofday localtime_r munmap strcasecmp strcspn \
103 strncasecmp strrchr strspn alarm mkdir inet_ntoa socket], [],
104 [AC_MSG_ERROR([function not found, cannot live without it])])
106 executables="recv filter audioc write afh play"
107 ################################################################## clock_gettime
109 AC_CHECK_LIB([c], [clock_gettime], [clock_gettime_lib=c], [
110 AC_CHECK_LIB([rt], [clock_gettime], [clock_gettime_lib=rt], [], [])
112 if test -n "$clock_gettime_lib"; then
113 AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [
114 define to 1 if clock_gettime() is supported])
116 if test "$clock_gettime_lib" = "rt"; then
117 AC_SUBST(clock_gettime_ldflags, -lrt)
119 ########################################################################### osl
121 OLD_CPPFLAGS="$CPPFLAGS"
122 OLD_LDFLAGS="$LDFLAGS"
124 AC_ARG_WITH(osl_headers, [AS_HELP_STRING(--with-osl-headers=dir,
125 [look for osl.h also in dir])])
126 if test -n "$with_osl_headers"; then
127 osl_cppflags="-I$with_osl_headers"
128 CPPFLAGS="$CPPFLAGS $osl_cppflags"
130 AC_ARG_WITH(osl_libs, [AS_HELP_STRING(--with-osl-libs=dir,
131 [look for libosl also in dir])])
132 if test -n "$with_osl_libs"; then
133 osl_libs="-L$with_osl_libs"
134 LDFLAGS="$LDFLAGS $osl_libs"
137 AC_CHECK_HEADER(osl.h, [], have_osl=no)
138 AC_CHECK_LIB([osl], [osl_open_table], [], have_osl=no)
139 if test "$have_osl" = "yes"; then
140 AC_SUBST(osl_cppflags)
141 osl_ldflags="$osl_libs -losl"
142 AC_SUBST(osl_ldflags)
144 AC_MSG_WARN([libosl not found, can not build para_server.
146 http://systemlinux.org/~maan/osl
148 git clone git://git.tuebingen.mpg.de/osl
151 CPPFLAGS="$OLD_CPPFLAGS"
152 LDFLAGS="$OLD_LDFLAGS"
154 ########################################################################### crypto
155 AC_ARG_ENABLE(cryptolib, [AS_HELP_STRING(--enable-cryptolib=lib, [
156 Force using crypto library "lib". This package requires either
157 openssl or libgcrypt being installed. Possible values for "lib"
158 are thus "openssl" and "gcrypt". If this option is not given,
159 openssl is tried first. If openssl was not found, gcrypt is
162 case "$enable_cryptolib" in
163 "openssl") check_openssl="yes"; check_gcrypt="no";;
164 "gcrypt") check_openssl="no"; check_gcrypt="yes";;
165 "") check_openssl="yes"; check_gcrypt="yes";;
166 *) AC_MSG_ERROR([invalid value "$enable_cryptolib" for --enable-cryptolib]);;
168 ###################################################################### openssl
169 if test "$check_openssl" = "yes"; then
170 OLD_CPPFLAGS="$CPPFLAGS"
171 OLD_LDFLAGS="$LDFLAGS"
174 AC_ARG_WITH(openssl_headers, [AS_HELP_STRING(--with-openssl-headers=dir,
175 [look for openssl headers also in dir])])
176 if test -n "$with_openssl_headers"; then
177 openssl_cppflags="-I$with_openssl_headers"
178 CPPFLAGS="$CPPFLAGS $openssl_cppflags"
180 AC_ARG_WITH(openssl_libs, [AS_HELP_STRING(--with-openssl-libs=dir,
181 [look for openssl libraries also in dir])])
182 if test -n "$with_openssl_libs"; then
183 openssl_libs="-L$with_openssl_libs"
184 LDFLAGS="$LDFLAGS $openssl_libs"
186 AC_CHECK_HEADER(openssl/ssl.h, [], [have_openssl="no"])
187 AC_CHECK_LIB([crypto], [RAND_bytes], [], [have_openssl="no"])
188 if test "$have_openssl" = "no" -a -z "$with_openssl_headers$with_openssl_libs"; then
189 # try harder: openssl is sometimes installed in /usr/local/ssl
190 openssl_cppflags="-I/usr/local/ssl/include"
191 CPPFLAGS="$CPPFLAGS $openssl_cppflags"
192 openssl_libs="-L/usr/local/ssl/lib"
193 LDFLAGS="$LDFLAGS $openssl_libs"
195 unset ac_cv_header_openssl_ssl_h 2> /dev/null
196 unset ac_cv_lib_crypto_RAND_bytes 2> /dev/null
197 AC_CHECK_HEADER(openssl/ssl.h, [have_openssl="yes"], [])
198 if test "$have_openssl" = "yes"; then
199 AC_CHECK_LIB([crypto], [RAND_bytes], [], [have_openssl="no"])
202 if test "$have_openssl" = "yes"; then
203 AC_DEFINE(HAVE_OPENSSL, 1, [define to 1 to turn on openssl support])
204 AC_SUBST(openssl_cppflags)
205 openssl_ldflags="$openssl_libs -lssl -lcrypto"
206 AC_SUBST(openssl_ldflags)
210 AC_MSG_WARN([openssl libraries not found])
212 CPPFLAGS="$OLD_CPPFLAGS"
213 LDFLAGS="$OLD_LDFLAGS"
218 ########################################################################### gcrypt
219 if test "$check_gcrypt" = "yes"; then
220 OLD_CPPFLAGS="$CPPFLAGS"
221 OLD_LDFLAGS="$LDFLAGS"
224 AC_ARG_WITH(gcrypt_headers, [AS_HELP_STRING(--with-gcrypt-headers=dir,
225 [look for gcrypt headers also in dir])])
226 if test -n "$with_gcrypt_headers"; then
227 gcrypt_cppflags="-I$with_gcrypt_headers"
228 CPPFLAGS="$CPPFLAGS $gcrypt_cppflags"
230 AC_ARG_WITH(gcrypt_libs, [AS_HELP_STRING(--with-gcrypt-libs=dir,
231 [look for libgcrypt also in dir])])
232 if test -n "$with_gcrypt_libs"; then
233 gcrypt_libs="-L$with_gcrypt_libs"
234 LDFLAGS="$LDFLAGS $gcrypt_libs"
236 AC_CHECK_HEADER(gcrypt.h, [], [have_gcrypt="no"])
237 AC_CHECK_LIB([gcrypt], [gcry_randomize], [], [have_gcrypt="no"])
238 if test "$have_gcrypt" = "yes"; then
239 AC_DEFINE(HAVE_GCRYPT, 1, [define to 1 to turn on gcrypt support])
240 AC_SUBST(gcrypt_cppflags)
241 gcrypt_ldflags="$gcrypt_libs -lgcrypt"
242 AC_SUBST(gcrypt_ldflags)
244 AC_MSG_WARN([gcrypt library not found])
246 CPPFLAGS="$OLD_CPPFLAGS"
247 LDFLAGS="$OLD_LDFLAGS"
252 ########################################################################### libsocket
253 AC_CHECK_LIB([c], [socket],
255 [socket_ldflags="-lsocket"]
257 AC_SUBST(socket_ldflags)
258 ########################################################################### libnsl
259 AC_CHECK_LIB([c], [gethostbyname],
261 [nsl_ldflags="-lnsl"]
263 AC_SUBST(nsl_ldflags)
264 ########################################################################### ucred
265 AC_MSG_CHECKING(for struct ucred)
266 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
268 #include <sys/types.h>
269 #include <sys/socket.h>
271 struct ucred sucred; sucred.pid=0;
272 ]])],[have_ucred=yes],[have_ucred=no])
273 AC_MSG_RESULT($have_ucred)
274 if test ${have_ucred} = yes; then
275 AC_DEFINE(HAVE_UCRED, 1, define to 1 you have struct ucred)
277 ########################################################################### gengetopt
278 echo 'option "z" z "" flag off' | $gengetopt --file-name conftest-ggo &&
280 [gengetopt_args_info_description],
281 [ggo_descriptions_declared=yes],
282 [ggo_descriptions_declared=no],
283 [#include "conftest-ggo.h"]
285 AC_SUBST(ggo_descriptions_declared)
286 ########################################################################### curses
288 OLD_CPPFLAGS="$CPPFLAGS"
289 OLD_LDFLAGS="$LDFLAGS"
291 AC_ARG_WITH(curses_headers, [AS_HELP_STRING(--with-curses-headers=dir,
292 [look for curses.h also in dir])])
293 if test -n "$with_curses_headers"; then
294 curses_cppflags="-I$with_curses_headers"
295 CPPFLAGS="$CPPFLAGS $curses_cppflags"
297 AC_ARG_WITH(curses_libs, [AS_HELP_STRING(--with-curses-libs=dir,
298 [look for libcurses also in dir])])
299 if test -n "$with_curses_libs"; then
300 curses_libs="-L$with_curses_libs"
301 LDFLAGS="$LDFLAGS $curses_libs"
303 AC_CHECK_HEADER(curses.h, [], [
306 curses_ldflags="$curses_libs"
307 AC_CHECK_LIB([ncursesw], [initscr],
308 [curses_ldflags="$curses_libs -lncursesw"], [
309 AC_CHECK_LIB([curses], [initscr],
310 [curses_ldflags="$curses_libs -lcurses"],
315 AC_SUBST(curses_cppflags)
316 AC_SUBST(curses_ldflags)
317 CPPFLAGS="$OLD_CPPFLAGS"
318 LDFLAGS="$OLD_LDFLAGS"
320 ########################################################################### ip_mreqn
321 AC_MSG_CHECKING(for struct ip_mreqn (UDPv4 multicast))
322 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
328 ]])],[have_ip_mreqn=yes],[have_ip_mreqn=no])
329 AC_MSG_RESULT($have_ip_mreqn)
330 if test ${have_ip_mreqn} = yes; then
331 AC_DEFINE(HAVE_IP_MREQN, 1, define to 1 you have struct ip_mreqn)
333 ########################################################################### osx
335 AC_MSG_CHECKING(for CoreAudio (MacOs))
336 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
337 #include <CoreAudio/CoreAudio.h>
340 ]])],[have_core_audio=yes],[have_core_audio=no])
341 AC_MSG_RESULT($have_core_audio)
342 if test ${have_core_audio} = yes; then
343 f1="-framework CoreAudio"
344 f2="-framework AudioToolbox"
345 f3="-framework AudioUnit"
346 f4="-framework CoreServices"
347 core_audio_ldflags="$f1 $f2 $f3 $f4"
348 AC_SUBST(core_audio_ldflags)
349 AC_DEFINE(HAVE_CORE_AUDIO, 1, define to 1 on Mac Os X)
351 ####################################################### ogg/vorbis/speex/opus
353 OLD_CPPFLAGS="$CPPFLAGS"
354 OLD_LDFLAGS="$LDFLAGS"
356 AC_ARG_WITH(ogg_headers, [AS_HELP_STRING(--with-ogg-headers=dir,
357 [look for ogg headers also in dir])])
358 AC_ARG_WITH(ogg_libs, [AS_HELP_STRING(--with-ogg-libs=dir,
359 [look for ogg libs also in dir])])
360 AC_ARG_WITH(vorbis_headers, [AS_HELP_STRING(--with-vorbis-headers=dir,
361 [look for vorbis headers also in dir])])
362 AC_ARG_WITH(vorbis_libs, [AS_HELP_STRING(--with-vorbis-libs=dir,
363 [look for vorbis libs also in dir])])
364 AC_ARG_WITH(speex_headers, [AS_HELP_STRING(--with-speex-headers=dir,
365 [look for speex headers also in dir])])
366 AC_ARG_WITH(speex_libs, [AS_HELP_STRING(--with-speex-libs=dir,
367 [look for speex libs also in dir])])
368 AC_ARG_WITH(opus_headers, [AS_HELP_STRING(--with-opus-headers=dir,
369 [look for opus headers also in dir])])
370 AC_ARG_WITH(opus_libs, [AS_HELP_STRING(--with-opus-libs=dir,
371 [look for opus libs also in dir])])
373 if test -n "$with_ogg_headers"; then
374 ogg_cppflags="-I$with_ogg_headers"
375 CPPFLAGS="$CPPFLAGS $ogg_cppflags"
377 if test -n "$with_ogg_libs"; then
378 ogg_libs="-L$with_ogg_libs"
379 LDFLAGS="$LDFLAGS $ogg_libs"
381 AC_CHECK_HEADERS([ogg/ogg.h], [], [ have_ogg="no"; ])
382 AC_CHECK_LIB([ogg], [ogg_stream_init], [], [ have_ogg="no" ])
387 if test "$have_ogg" = "yes"; then
389 if test -n "$with_vorbis_headers"; then
390 vorbis_cppflags="-I$with_vorbis_headers"
391 CPPFLAGS="$CPPFLAGS $vorbis_cppflags"
393 if test -n "$with_vorbis_libs"; then
394 vorbis_libs="-L$with_vorbis_libs"
395 LDFLAGS="$LDFLAGS $vorbis_libs"
397 AC_CHECK_HEADERS([vorbis/codec.h], [], [ have_vorbis="no" ])
398 AC_CHECK_LIB([vorbis], [vorbis_info_init], [], [ have_vorbis="no" ])
401 if test -n "$with_speex_headers"; then
402 speex_cppflags="-I$with_speex_headers"
403 CPPFLAGS="$CPPFLAGS $speex_cppflags"
405 if test -n "$with_speex_libs"; then
406 speex_libs="-L$with_speex_libs"
407 LDFLAGS="$LDFLAGS $speex_libs"
409 AC_CHECK_LIB([speex], [speex_decoder_init], [], [ have_speex="no" ])
410 AC_CHECK_HEADERS([speex/speex.h], [], [ have_speex="no" ])
413 if test -n "$with_opus_headers"; then
414 opus_cppflags="-I$with_opus_headers"
415 CPPFLAGS="$CPPFLAGS $opus_cppflags"
417 if test -n "$with_opus_libs"; then
418 opus_libs="-L$with_opus_libs"
419 LDFLAGS="$LDFLAGS $opus_libs"
421 AC_CHECK_LIB([opus], [opus_multistream_decode], [], [ have_opus="no" ])
422 AC_CHECK_HEADERS([opus/opus.h], [], [ have_opus="no" ])
424 AC_MSG_WARN([vorbis/speex/opus depend on libogg, which was not detected])
430 msg="support in para_server/para_filter/para_afh"
431 if test "$have_vorbis" = "yes" || \
432 test "$have_speex" = "yes" || \
433 test "$have_opus" = "yes"; then
434 AC_SUBST(ogg_cppflags)
435 ogg_ldflags="$ogg_libs -logg"
436 if test "$OSTYPE" = "Darwin"; then
437 ogg_ldflags="-Wl,-bind_at_load $ogg_ldflags"
439 AC_SUBST(ogg_ldflags)
441 if test "$have_vorbis" = "yes"; then
442 AC_DEFINE(HAVE_OGGVORBIS, 1, define to 1 to turn on ogg/vorbis support)
443 AC_SUBST(vorbis_cppflags)
444 vorbis_ldflags="$vorbis_libs -lvorbis -lvorbisfile"
445 AC_SUBST(vorbis_ldflags)
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)
453 AC_MSG_WARN([no ogg/speex $msg])
455 if test "$have_opus" = "yes"; then
456 AC_DEFINE(HAVE_OPUS, 1, define to 1 to turn on ogg/opus support)
457 AC_SUBST(opus_cppflags)
458 opus_ldflags="$opus_libs -lopus"
459 AC_SUBST(opus_ldflags)
460 audio_format_handlers="$audio_format_handlers opus"
462 AC_MSG_WARN([no ogg/opus $msg])
464 CPPFLAGS="$OLD_CPPFLAGS"
465 LDFLAGS="$OLD_LDFLAGS"
467 ########################################################################### faad
469 OLD_CPPFLAGS="$CPPFLAGS"
470 OLD_LDFLAGS="$LDFLAGS"
472 AC_ARG_WITH(faad_headers, [AS_HELP_STRING(--with-faad-headers=dir,
473 [look for neaacdec.h also in dir])])
474 if test -n "$with_faad_headers"; then
475 faad_cppflags="-I$with_faad_headers"
476 CPPFLAGS="$CPPFLAGS $faad_cppflags"
478 AC_ARG_WITH(faad_libs, [AS_HELP_STRING(--with-faad-libs=dir,
479 [look for libfaad also in dir])])
480 if test -n "$with_faad_libs"; then
481 faad_libs="-L$with_faad_libs"
482 LDFLAGS="$LDFLAGS $faad_libs"
484 AC_CHECK_HEADER(neaacdec.h, [], have_faad=no)
485 AC_CHECK_LIB([faad], [NeAACDecOpen], [], have_faad=no)
486 if test "$have_faad" = "yes"; then
487 AC_DEFINE(HAVE_FAAD, 1, define to 1 if you want to build the aacdec filter)
488 AC_SUBST(faad_cppflags)
489 faad_ldflags="$faad_libs -lfaad"
490 AC_SUBST(faad_ldflags)
492 CPPFLAGS="$OLD_CPPFLAGS"
493 LDFLAGS="$OLD_LDFLAGS"
495 ########################################################################### mad
497 OLD_CPPFLAGS="$CPPFLAGS"
498 OLD_LDFLAGS="$LDFLAGS"
501 AC_ARG_WITH(mad_headers, [AS_HELP_STRING(--with-mad-headers=dir,
502 [look for mad.h also in dir])])
503 if test -n "$with_mad_headers"; then
504 mad_cppflags="-I$with_mad_headers"
505 CPPFLAGS="$CPPFLAGS $mad_cppflags"
507 AC_ARG_WITH(mad_libs, [AS_HELP_STRING(--with-mad-libs=dir,
508 [look for libmad also in dir])])
509 if test -n "$with_mad_libs"; then
510 mad_libs="-L$with_mad_libs"
511 LDFLAGS="$LDFLAGS $mad_libs"
513 AC_CHECK_HEADERS([mad.h], [], [
516 AC_CHECK_LIB([mad], [mad_stream_init], [], [
519 if test "$have_mad" = "yes"; then
520 AC_DEFINE(HAVE_MAD, 1, define to 1 if you want to build the mp3dec filter)
521 AC_SUBST(mad_cppflags)
522 mad_ldflags="$mad_libs -lmad"
523 AC_SUBST(mad_ldflags)
525 AC_MSG_WARN([no mp3dec support in para_audiod/para_filter])
527 CPPFLAGS="$OLD_CPPFLAGS"
528 LDFLAGS="$OLD_LDFLAGS"
530 ###################################################################### libid3tag
531 OLD_CPPFLAGS="$CPPFLAGS"
532 OLD_LDFLAGS="$LDFLAGS"
536 AC_ARG_WITH(id3tag_headers, [AS_HELP_STRING(--with-id3tag-headers=dir,
537 [look for id3tag header files also in dir])])
538 if test -n "$with_id3tag_headers"; then
539 id3tag_cppflags="-I$with_id3tag_headers"
540 CPPFLAGS="$CPPFLAGS $id3tag_cppflags"
542 AC_ARG_WITH(id3tag_libs, [AS_HELP_STRING(--with-id3tag-libs=dir,
543 [look for id3tag libs also in dir])])
544 if test -n "$with_id3tag_libs"; then
545 id3tag_libs="-L$with_id3tag_libs"
546 LDFLAGS="$LDFLAGS $id3tag_libs"
549 AC_MSG_CHECKING(for libid3tag)
550 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
553 struct id3_tag t = {.flags = 0};
554 ]])],[],[have_libid3tag=no])
555 AC_MSG_RESULT($have_libid3tag)
557 if test ${have_libid3tag} = yes; then
558 AC_DEFINE(HAVE_LIBID3TAG, 1, define to 1 you have libid3tag)
559 AC_SUBST(id3tag_cppflags)
560 AC_SUBST(id3tag_ldflags, "$id3tag_libs -lid3tag -lz")
562 CPPFLAGS="$OLD_CPPFLAGS"
563 LDFLAGS="$OLD_LDFLAGS"
565 ########################################################################### flac
566 OLD_CPPFLAGS="$CPPFLAGS"
567 OLD_LDFLAGS="$LDFLAGS"
571 AC_ARG_WITH(flac_headers, [AS_HELP_STRING(--with-flac-headers=dir,
572 [look for flac headers also in dir])])
573 if test -n "$with_flac_headers"; then
574 flac_cppflags="-I$with_flac_headers"
575 CPPFLAGS="$CPPFLAGS $flac_cppflags"
577 AC_ARG_WITH(flac_libs, [AS_HELP_STRING(--with-flac-libs=dir,
578 [look for flac libs also in dir])])
579 if test -n "$with_flac_libs"; then
580 flac_libs="-L$with_flac_libs"
581 LDFLAGS="$LDFLAGS $flac_libs"
583 AC_CHECK_HEADER(FLAC/stream_decoder.h, [], have_flac=no)
584 AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], [
585 # nope, try again with -logg
586 AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [],
587 have_flac=no, -lm -logg)
589 if test "$have_flac" = "yes"; then
590 AC_DEFINE(HAVE_FLAC, 1, define to 1 if you want to build the flacdec filter)
591 AC_SUBST(flac_cppflags)
592 flac_ldflags="$flac_libs -lFLAC"
593 AC_SUBST(flac_ldflags)
595 AC_MSG_WARN([no flac support in para_audiod/para_filter/para_afh/para_server])
597 CPPFLAGS="$OLD_CPPFLAGS"
598 LDFLAGS="$OLD_LDFLAGS"
600 ########################################################################### oss
601 OLD_CPPFLAGS="$CPPFLAGS"
602 OLD_LDFLAGS="$LDFLAGS"
606 msg="=> will not build oss writer"
608 AC_CHECK_HEADER(sys/soundcard.h, [
609 AC_CHECK_LIB(ossaudio, _oss_ioctl, [
610 oss_ldflags="-lossaudio"
611 AC_SUBST(oss_ldflags)
617 AC_MSG_WARN([no sys/soundcard.h $msg])
620 CPPFLAGS="$OLD_CPPFLAGS"
621 LDFLAGS="$OLD_LDFLAGS"
624 ########################################################################### alsa
625 OLD_CPPFLAGS="$CPPFLAGS"
626 OLD_LDFLAGS="$LDFLAGS"
629 msg="=> no alsa support for para_audiod/para_write"
630 if test "$OSTYPE" != "Linux"; then
635 if test "$have_alsa" = "yes"; then
636 AC_CHECK_HEADERS([alsa/asoundlib.h], [], [
638 AC_MSG_WARN([no alsa/asoundlib $msg])
642 if test "$have_alsa" = "yes"; then
643 AC_CHECK_LIB([asound], [snd_pcm_open], [], [
645 AC_MSG_WARN([no libasound $msg])
649 if test "$have_alsa" = "yes"; then
650 alsa_ldflags="-lasound"
651 AC_SUBST(alsa_ldflags)
654 CPPFLAGS="$OLD_CPPFLAGS"
655 LDFLAGS="$OLD_LDFLAGS"
657 ########################################################################### libao
658 OLD_CPPFLAGS="$CPPFLAGS"
659 OLD_LDFLAGS="$LDFLAGS"
663 AC_ARG_WITH(ao_headers, [AS_HELP_STRING(--with-ao-headers=dir,
664 [look for ao/ao.h also in dir])])
665 if test -n "$with_ao_headers"; then
666 ao_cppflags="-I$with_ao_headers"
667 CPPFLAGS="$CPPFLAGS $ao_cppflags"
669 AC_ARG_WITH(ao_libs, [AS_HELP_STRING(--with-ao-libs=dir,
670 [look for libao also in dir])])
671 if test -n "$with_ao_libs"; then
672 ao_libs="-L$with_ao_libs"
673 LDFLAGS="$LDFLAGS $ao_libs"
675 msg="no libao support for para_audiod/para_write"
676 AC_CHECK_HEADERS([ao/ao.h], [
679 AC_MSG_WARN([ao.h not found, $msg])
681 if test "$have_ao" = "yes"; then
682 AC_CHECK_LIB([ao], [ao_initialize], [], [
684 AC_MSG_WARN([ao lib not found or not working, $msg])
687 if test "$have_ao" = "yes"; then
688 AC_CHECK_HEADERS([pthread.h], [
691 AC_MSG_WARN([pthread.h not found, $msg])
694 if test "$have_ao" = "yes"; then
695 AC_CHECK_LIB([pthread], [pthread_create], [], [
697 AC_MSG_WARN([pthread lib not found or not working, $msg])
700 if test "$have_ao" = "yes"; then
701 AC_SUBST(ao_cppflags)
702 ao_ldflags="$ao_libs -lao -lpthread"
706 CPPFLAGS="$OLD_CPPFLAGS"
707 LDFLAGS="$OLD_LDFLAGS"
709 ############################################################# readline
710 OLD_CPPFLAGS="$CPPFLAGS"
711 OLD_LDFLAGS="$LDFLAGS"
715 AC_ARG_WITH(readline_headers, [AS_HELP_STRING(--with-readline-headers=dir,
716 [look for libreadline header files also in dir])])
717 if test -n "$with_readline_headers"; then
718 readline_cppflags="-I$with_readline_headers"
719 CPPFLAGS="$CPPFLAGS $readline_cppflags"
722 AC_ARG_WITH(readline_libs, [AS_HELP_STRING(--with-readline-libs=dir,
723 [look for readline library also in dir])])
724 if test -n "$with_readline_libs"; then
725 readline_libs="-L$with_readline_libs"
726 LDFLAGS="$LDFLAGS $readline_libs"
728 msg="no interactive cli support"
729 AC_CHECK_HEADERS([readline/readline.h], [
732 AC_MSG_WARN([readline/readline.h not found, $msg])
735 if test "$have_readline" = "yes"; then
736 readline_ldflags="$readline_libs"
737 AC_SEARCH_LIBS([rl_free_keymap], [readline], [
738 readline_ldflags="$readline_ldflags -lreadline"
739 ], [have_readline="no"])
740 if test "$have_readline" = "no"; then # try with -lcurses
742 AC_MSG_NOTICE([trying again with -lcurses])
743 unset ac_cv_search_rl_free_keymap 2> /dev/null
744 AC_SEARCH_LIBS([rl_free_keymap], [readline], [
746 readline_ldflags="$readline_ldflags -lreadline -lcurses"
749 if test "$have_readline" = "no"; then # try with -ltermcap
751 AC_MSG_NOTICE([trying again with -ltermcap])
752 unset ac_cv_search_rl_free_keymap 2> /dev/null
753 AC_SEARCH_LIBS([rl_free_keymap], [readline], [
755 readline_ldflags="$readline_ldflags -lreadline -ltermcap"
760 if test "$have_readline" = "yes"; then
763 [AC_DEFINE(RL_FREE_KEYMAP_DECLARED, 1, readline >= 6.3)],
767 #include <readline/readline.h>
770 AC_SUBST(readline_cppflags)
771 AC_SUBST(readline_ldflags)
772 AC_DEFINE(HAVE_READLINE, 1, define to 1 to turn on readline support)
774 AC_MSG_WARN([libreadline not found or unusable])
776 CPPFLAGS="$OLD_CPPFLAGS"
777 LDFLAGS="$OLD_LDFLAGS"
779 ############################################################# libsamplerate
780 OLD_CPPFLAGS="$CPPFLAGS"
781 OLD_LDFLAGS="$LDFLAGS"
784 have_samplerate="yes"
785 AC_ARG_WITH(samplerate_headers, [AS_HELP_STRING(--with-samplerate-headers=dir,
786 [look for samplerate headers also in dir])])
787 if test -n "$with_samplerate_headers"; then
788 samplerate_cppflags="-I$with_samplerate_headers"
789 CPPFLAGS="$CPPFLAGS $samplerate_cppflags"
791 AC_ARG_WITH(samplerate_libs, [AS_HELP_STRING(--with-samplerate-libs=dir,
792 [look for samplerate libs also in dir])])
793 if test -n "$with_samplerate_libs"; then
794 samplerate_libs="-L$with_samplerate_libs"
795 LDFLAGS="$LDFLAGS $samplerate_libs"
798 AC_CHECK_HEADER(samplerate.h, [], have_samplerate=no)
799 AC_CHECK_LIB([samplerate], [src_process], [], have_samplerate=no, [])
801 if test "$have_samplerate" = "yes"; then
802 AC_SUBST(samplerate_cppflags)
803 samplerate_ldflags="$samplerate_libs -lsamplerate"
804 AC_SUBST(samplerate_ldflags)
806 AC_MSG_WARN([no resample support in para_audiod/para_filter])
808 CPPFLAGS="$OLD_CPPFLAGS"
809 LDFLAGS="$OLD_LDFLAGS"
811 ######################################################################### server
812 if test \( "$have_openssl" = "yes" -o "$have_gcrypt" = "yes" \) \
813 -a "$have_osl" = "yes" ; then
816 executables="$executables server"
817 server_cmdline_objs="server"
818 server_errlist_objs="
857 if test "$have_openssl" = "yes"; then
858 server_errlist_objs="$server_errlist_objs crypt"
860 if test "$have_gcrypt" = "yes"; then
861 server_errlist_objs="$server_errlist_objs gcrypt"
863 if test "$have_vorbis" = "yes" || \
864 test "$have_speex" = "yes" || \
865 test "$have_opus" = "yes"; then
866 server_errlist_objs="$server_errlist_objs ogg_afh_common"
868 if test "$have_vorbis" = "yes"; then
869 server_errlist_objs="$server_errlist_objs ogg_afh"
871 if test "$have_speex" = "yes"; then
872 server_errlist_objs="$server_errlist_objs spx_afh spx_common"
874 if test "$have_opus" = "yes"; then
875 server_errlist_objs="$server_errlist_objs opus_afh opus_common"
877 if test "$have_faad" = "yes"; then
878 server_errlist_objs="$server_errlist_objs aac_afh aac_common"
880 if test "$have_flac" = "yes"; then
881 server_errlist_objs="$server_errlist_objs flac_afh"
883 server_objs="add_cmdline($server_cmdline_objs) $server_errlist_objs"
884 AC_SUBST(server_objs, add_dot_o($server_objs))
885 AC_DEFINE_UNQUOTED(INIT_SERVER_ERRLISTS,
886 objlist_to_errlist($server_errlist_objs), errors used by para_server)
890 ############################################################# client
891 if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then
893 executables="$executables client"
894 client_cmdline_objs="client"
895 client_errlist_objs="
911 if test "$have_openssl" = "yes"; then
912 client_errlist_objs="$client_errlist_objs crypt"
914 if test "$have_gcrypt" = "yes"; then
915 client_errlist_objs="$client_errlist_objs gcrypt"
917 if test "$have_readline" = "yes"; then
918 client_errlist_objs="$client_errlist_objs interactive"
920 client_objs="add_cmdline($client_cmdline_objs) $client_errlist_objs"
921 AC_SUBST(client_objs, add_dot_o($client_objs))
922 AC_DEFINE_UNQUOTED(INIT_CLIENT_ERRLISTS,
923 objlist_to_errlist($client_errlist_objs), errors used by para_client)
927 ############################################################# audiod
928 if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then
930 executables="$executables audiod"
931 audiod_audio_formats="wma"
932 audiod_cmdline_objs="$audiod_cmdline_objs
944 audiod_errlist_objs="$audiod_errlist_objs
982 if test "$have_openssl" = "yes"; then
983 audiod_errlist_objs="$audiod_errlist_objs crypt"
985 if test "$have_gcrypt" = "yes"; then
986 audiod_errlist_objs="$audiod_errlist_objs gcrypt"
988 if test "$have_core_audio" = "yes"; then
989 audiod_errlist_objs="$audiod_errlist_objs osx_write ipc"
990 audiod_cmdline_objs="$audiod_cmdline_objs osx_write"
992 if test "$have_vorbis" = "yes"; then
993 audiod_errlist_objs="$audiod_errlist_objs oggdec_filter"
994 audiod_audio_formats="$audiod_audio_formats ogg"
996 if test "$have_speex" = "yes"; then
997 audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common"
998 audiod_audio_formats="$audiod_audio_formats spx"
1000 if test "$have_opus" = "yes"; then
1001 audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common"
1002 audiod_audio_formats="$audiod_audio_formats opus"
1004 if test "$have_faad" = "yes"; then
1005 audiod_errlist_objs="$audiod_errlist_objs aacdec_filter aac_common"
1006 audiod_audio_formats="$audiod_audio_formats aac"
1008 if test "$have_mad" = "yes"; then
1009 audiod_audio_formats="$audiod_audio_formats mp3"
1010 audiod_cmdline_objs="$audiod_cmdline_objs mp3dec_filter"
1011 audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter"
1013 if test "$have_flac" = "yes"; then
1014 audiod_errlist_objs="$audiod_errlist_objs flacdec_filter"
1015 audiod_audio_formats="$audiod_audio_formats flac"
1017 if test "$have_oss" = "yes"; then
1018 audiod_errlist_objs="$audiod_errlist_objs oss_write"
1019 audiod_cmdline_objs="$audiod_cmdline_objs oss_write"
1021 if test "$have_alsa" = "yes"; then
1022 audiod_errlist_objs="$audiod_errlist_objs alsa_write"
1023 audiod_cmdline_objs="$audiod_cmdline_objs alsa_write"
1025 if test "$have_ao" = "yes"; then
1026 audiod_errlist_objs="$audiod_errlist_objs ao_write"
1027 audiod_cmdline_objs="$audiod_cmdline_objs ao_write"
1029 if test "$have_samplerate" = "yes"; then
1030 audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav"
1031 audiod_cmdline_objs="$audiod_cmdline_objs resample_filter"
1033 audiod_objs="add_cmdline($audiod_cmdline_objs) $audiod_errlist_objs"
1034 AC_SUBST(audiod_objs, add_dot_o($audiod_objs))
1035 AC_DEFINE_UNQUOTED(INIT_AUDIOD_ERRLISTS, objlist_to_errlist($audiod_errlist_objs),
1036 errors used by para_audiod)
1038 enum="$(for i in $audiod_audio_formats; do printf "AUDIO_FORMAT_${i}, " | tr '[a-z]' '[A-Z]'; done)"
1039 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMATS_ENUM, $enum NUM_AUDIO_FORMATS,
1040 enum of audio formats supported by audiod)
1041 names="$(for i in $audiod_audio_formats; do printf \"$i\",' ' ; done)"
1042 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMAT_ARRAY, $names, array of audio formats supported by audiod)
1046 ########################################################################### fade
1047 if test "$have_oss" = "yes" -o "$have_alsa" = "yes"; then
1049 executables="$executables fade"
1050 fade_cmdline_objs="fade"
1051 fade_errlist_objs="fade exec string fd version ggo"
1052 if test "$have_oss" = "yes"; then
1053 fade_errlist_objs="$fade_errlist_objs oss_mix"
1054 mixers="${mixers}oss "
1055 default_mixer="OSS_MIX"
1057 if test "$have_alsa" = "yes"; then
1058 fade_errlist_objs="$fade_errlist_objs alsa_mix"
1059 mixers="${mixers}alsa "
1060 default_mixer="ALSA_MIX"
1062 fade_objs="add_cmdline($fade_cmdline_objs) $fade_errlist_objs"
1063 AC_SUBST(fade_objs, add_dot_o($fade_objs))
1064 AC_DEFINE_UNQUOTED(INIT_FADE_ERRLISTS,
1065 objlist_to_errlist($fade_errlist_objs),
1066 errors used by para_fade)
1068 for i in $mixers; do
1069 printf "${i}_MIX, " | tr '[a-z]' '[A-Z]'
1072 AC_DEFINE_UNQUOTED(MIXER_ENUM, $enum NUM_SUPPORTED_MIXERS,
1073 enum of supported mixers)
1074 AC_DEFINE_UNQUOTED(DEFAULT_MIXER, $default_mixer,
1075 use this mixer if none was specified)
1076 names="$(for i in $mixers; do printf \"$i\",' ' ; done)"
1077 AC_DEFINE_UNQUOTED(MIXER_NAMES, $names, supported mixer names)
1079 for i in $mixers; do
1080 printf 'extern void '$i'_mix_init(struct mixer *); '
1083 AC_DEFINE_UNQUOTED(DECLARE_MIXER_INITS, $inits,
1084 init functions of the supported mixers)
1085 array="$(for i in $mixers; do printf '{.init = '$i'_mix_init},'; done)"
1086 AC_DEFINE_UNQUOTED(MIXER_ARRAY, $array, array of supported mixers)
1089 AC_MSG_WARN([no mixer support])
1091 ########################################################################### gui
1092 if test "$have_curses" = "yes"; then
1094 executables="$executables gui"
1095 gui_cmdline_objs="gui"
1110 gui_objs="add_cmdline($gui_cmdline_objs) $gui_errlist_objs"
1111 AC_SUBST(gui_objs, add_dot_o($gui_objs))
1112 AC_DEFINE_UNQUOTED(INIT_GUI_ERRLISTS,
1113 objlist_to_errlist($gui_errlist_objs), errors used by para_gui)
1116 AC_MSG_WARN([no curses lib, cannot build para_gui])
1118 ######################################################################## filter
1128 filter_errlist_objs="
1153 filter_cmdline_objs="
1161 if test "$have_vorbis" = "yes"; then
1162 filters="$filters oggdec"
1163 filter_errlist_objs="$filter_errlist_objs oggdec_filter"
1165 if test "$have_speex" = "yes"; then
1166 filters="$filters spxdec"
1167 filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common"
1169 if test "$have_opus" = "yes"; then
1170 filters="$filters opusdec"
1171 filter_errlist_objs="$filter_errlist_objs opusdec_filter opus_common"
1173 if test "$have_faad" = "yes"; then
1174 filter_errlist_objs="$filter_errlist_objs aacdec_filter aac_common"
1175 filters="$filters aacdec"
1177 if test "$have_mad" = "yes"; then
1178 filter_cmdline_objs="$filter_cmdline_objs mp3dec_filter"
1179 filter_errlist_objs="$filter_errlist_objs mp3dec_filter"
1180 filters="$filters mp3dec"
1182 if test "$have_flac" = "yes"; then
1183 filter_errlist_objs="$filter_errlist_objs flacdec_filter"
1184 filters="$filters flacdec"
1186 if test "$have_samplerate" = "yes"; then
1187 filter_errlist_objs="$filter_errlist_objs resample_filter check_wav"
1188 filter_cmdline_objs="$filter_cmdline_objs resample_filter"
1189 filters="$filters resample"
1191 filters="$(echo $filters)"
1193 filter_objs="add_cmdline($filter_cmdline_objs) $filter_errlist_objs"
1195 AC_SUBST(filter_objs, add_dot_o($filter_objs))
1196 AC_DEFINE_UNQUOTED(INIT_FILTER_ERRLISTS,
1197 objlist_to_errlist($filter_errlist_objs), errors used by para_filter)
1199 enum="$(for i in $filters; do printf "${i}_FILTER, " | tr '[a-z]' '[A-Z]'; done)"
1200 AC_DEFINE_UNQUOTED(FILTER_ENUM, $enum NUM_SUPPORTED_FILTERS,
1201 enum of supported filters)
1202 inits="$(for i in $filters; do printf 'extern void '$i'_filter_init(struct filter *f); '; done)"
1203 AC_DEFINE_UNQUOTED(DECLARE_FILTER_INITS, $inits, init functions of the supported filters)
1204 array="$(for i in $filters; do printf '{.name = "'$i'", .init = '$i'_filter_init},'; done)"
1205 AC_DEFINE_UNQUOTED(FILTER_ARRAY, $array, array of supported filters)
1206 ########################################################################## recv
1236 if test "$have_vorbis" = "yes" || \
1237 test "$have_speex" = "yes" || \
1238 test "$have_opus" = "yes"; then
1239 recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
1241 if test "$have_vorbis" = "yes"; then
1242 recv_errlist_objs="$recv_errlist_objs ogg_afh"
1244 if test "$have_speex" = "yes"; then
1245 recv_errlist_objs="$recv_errlist_objs spx_afh spx_common"
1247 if test "$have_opus" = "yes"; then
1248 recv_errlist_objs="$recv_errlist_objs opus_afh opus_common"
1250 if test "$have_faad" = "yes"; then
1251 recv_errlist_objs="$recv_errlist_objs aac_afh aac_common"
1253 if test "$have_flac" = "yes"; then
1254 recv_errlist_objs="$recv_errlist_objs flac_afh"
1256 recv_objs="add_cmdline($recv_cmdline_objs) $recv_errlist_objs"
1257 AC_SUBST(receivers, "http dccp udp afh")
1258 AC_SUBST(recv_objs, add_dot_o($recv_objs))
1259 AC_DEFINE_UNQUOTED(INIT_RECV_ERRLISTS, objlist_to_errlist($recv_errlist_objs),
1260 errors used by para_recv)
1261 ########################################################################### afh
1262 audio_format_handlers="mp3 wma"
1263 afh_cmdline_objs="afh"
1276 if test "$have_vorbis" = "yes" || \
1277 test "$have_speex" = "yes" || \
1278 test "$have_opus" = "yes"; then
1279 afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
1281 if test "$have_vorbis" = "yes"; then
1282 afh_errlist_objs="$afh_errlist_objs ogg_afh"
1283 audio_format_handlers="$audio_format_handlers ogg"
1285 if test "$have_speex" = "yes"; then
1286 afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
1287 audio_format_handlers="$audio_format_handlers spx"
1289 if test "$have_opus" = "yes"; then
1290 afh_errlist_objs="$afh_errlist_objs opus_afh opus_common"
1291 audio_format_handlers="$audio_format_handlers opus"
1293 if test "$have_faad" = "yes"; then
1294 afh_errlist_objs="$afh_errlist_objs aac_common aac_afh"
1295 audio_format_handlers="$audio_format_handlers aac"
1297 if test "$have_flac" = "yes"; then
1298 afh_errlist_objs="$afh_errlist_objs flac_afh"
1299 audio_format_handlers="$audio_format_handlers flac"
1302 afh_objs="add_cmdline($afh_cmdline_objs) $afh_errlist_objs"
1304 AC_SUBST(afh_objs, add_dot_o($afh_objs))
1305 AC_DEFINE_UNQUOTED(INIT_AFH_ERRLISTS,
1306 objlist_to_errlist($afh_errlist_objs), errors used by para_afh)
1307 ########################################################################## play
1353 if test "$have_core_audio" = "yes"; then
1354 play_errlist_objs="$play_errlist_objs osx_write ipc"
1355 play_cmdline_objs="$play_cmdline_objs osx_write"
1357 if test "$have_vorbis" = "yes" || \
1358 test "$have_speex" = "yes" || \
1359 test "$have_opus" = "yes"; then
1360 play_errlist_objs="$play_errlist_objs ogg_afh_common"
1362 if test "$have_vorbis" = "yes"; then
1363 play_errlist_objs="$play_errlist_objs oggdec_filter ogg_afh"
1365 if test "$have_speex" = "yes"; then
1366 play_errlist_objs="$play_errlist_objs spxdec_filter spx_afh spx_common"
1368 if test "$have_opus" = "yes"; then
1369 play_errlist_objs="$play_errlist_objs opusdec_filter opus_afh opus_common"
1371 if test "$have_faad" = "yes"; then
1372 play_errlist_objs="$play_errlist_objs aacdec_filter aac_afh aac_common"
1374 if test "$have_mad" = "yes"; then
1375 play_cmdline_objs="$play_cmdline_objs mp3dec_filter"
1376 play_errlist_objs="$play_errlist_objs mp3dec_filter"
1378 if test "$have_flac" = "yes"; then
1379 play_errlist_objs="$play_errlist_objs flacdec_filter flac_afh"
1381 if test "$have_oss" = "yes"; then
1382 play_errlist_objs="$play_errlist_objs oss_write"
1383 play_cmdline_objs="$play_cmdline_objs oss_write"
1385 if test "$have_alsa" = "yes"; then
1386 play_errlist_objs="$play_errlist_objs alsa_write"
1387 play_cmdline_objs="$play_cmdline_objs alsa_write"
1389 if test "$have_ao" = "yes"; then
1390 play_errlist_objs="$play_errlist_objs ao_write"
1391 play_cmdline_objs="$play_cmdline_objs ao_write"
1393 if test "$have_readline" = "yes"; then
1394 play_errlist_objs="$play_errlist_objs interactive"
1396 if test "$have_samplerate" = "yes"; then
1397 play_errlist_objs="$play_errlist_objs resample_filter check_wav"
1398 play_cmdline_objs="$play_cmdline_objs resample_filter"
1401 play_objs="add_cmdline($play_cmdline_objs) $play_errlist_objs"
1402 AC_SUBST(play_objs, add_dot_o($play_objs))
1403 AC_DEFINE_UNQUOTED(INIT_PLAY_ERRLISTS,
1404 objlist_to_errlist($play_errlist_objs), errors used by para_play)
1405 ######################################################################### write
1406 write_cmdline_objs="
1410 write_errlist_objs="
1425 default_writer="FILE_WRITE"
1427 if test "$have_core_audio" = "yes"; then
1428 write_errlist_objs="$write_errlist_objs osx_write ipc"
1429 write_cmdline_objs="$write_cmdline_objs osx_write"
1430 writers="$writers osx"
1431 default_writer="OSX_WRITE"
1433 if test "$have_ao" = "yes"; then
1434 write_errlist_objs="$write_errlist_objs ao_write"
1435 write_cmdline_objs="$write_cmdline_objs ao_write"
1436 writers="$writers ao"
1437 default_writer="AO_WRITE"
1439 if test "$have_oss" = "yes"; then
1440 write_errlist_objs="$write_errlist_objs oss_write"
1441 write_cmdline_objs="$write_cmdline_objs oss_write"
1442 writers="$writers oss"
1443 default_writer="OSS_WRITE"
1445 if test "$have_alsa" = "yes"; then
1446 write_errlist_objs="$write_errlist_objs alsa_write"
1447 write_cmdline_objs="$write_cmdline_objs alsa_write"
1448 writers="$writers alsa"
1449 default_writer="ALSA_WRITE"
1452 write_objs="add_cmdline($write_cmdline_objs) $write_errlist_objs"
1453 AC_SUBST(write_objs, add_dot_o($write_objs))
1454 AC_DEFINE_UNQUOTED(INIT_WRITE_ERRLISTS,
1455 objlist_to_errlist($write_errlist_objs), errors used by para_write)
1456 enum="$(for i in $writers; do printf "${i}_WRITE, " | tr '[a-z]' '[A-Z]'; done)"
1457 AC_DEFINE_UNQUOTED(WRITER_ENUM, $enum NUM_SUPPORTED_WRITERS,
1458 enum of supported writers)
1459 AC_DEFINE_UNQUOTED(DEFAULT_WRITER, $default_writer, use this writer if none was specified)
1460 names="$(for i in $writers; do printf \"$i\",' ' ; done)"
1461 AC_DEFINE_UNQUOTED(WRITER_NAMES, $names, supported writer names)
1462 inits="$(for i in $writers; do printf 'extern void '$i'_write_init(struct writer *); '; done)"
1463 AC_DEFINE_UNQUOTED(DECLARE_WRITER_INITS, $inits, init functions of the supported writers)
1464 array="$(for i in $writers; do printf '{.init = '$i'_write_init},'; done)"
1465 AC_DEFINE_UNQUOTED(WRITER_ARRAY, $array, array of supported writers)
1466 ######################################################################## audioc
1467 audioc_cmdline_objs="audioc"
1468 audioc_errlist_objs="
1476 if test "$have_readline" = "yes"; then
1477 audioc_errlist_objs="$audioc_errlist_objs
1484 audioc_objs="add_cmdline($audioc_cmdline_objs) $audioc_errlist_objs"
1485 AC_SUBST(audioc_objs, add_dot_o($audioc_objs))
1486 AC_DEFINE_UNQUOTED(INIT_AUDIOC_ERRLISTS,
1487 objlist_to_errlist($audioc_errlist_objs), errors used by para_audioc)
1488 ############################################################# error2.h
1489 # these are always built
1492 $filter_errlist_objs
1493 $audioc_errlist_objs
1499 # optional executables
1500 if test "$build_server" = "yes"; then
1501 all_errlist_objs="$all_errlist_objs $server_errlist_objs"
1503 if test "$build_gui" = "yes"; then
1504 all_errlist_objs="$all_errlist_objs $gui_errlist_objs"
1506 if test "$build_fade" = "yes"; then
1507 all_errlist_objs="$all_errlist_objs $fade_errlist_objs"
1509 if test "$build_client" = "yes"; then
1510 all_errlist_objs="$all_errlist_objs $client_errlist_objs"
1512 if test "$build_audiod" = "yes"; then
1513 all_errlist_objs="$all_errlist_objs $audiod_errlist_objs"
1516 all_errlist_objs="$(echo $all_errlist_objs | tr ' ' '\n' | sort | uniq)"
1518 object_executable_matrix=
1519 for i in $executables; do
1520 eval objs=\$${i}_errlist_objs
1521 object_executable_matrix="$object_executable_matrix $i: $objs"
1523 # use echo to replace newlines by space
1524 AC_SUBST(object_executable_matrix, $(echo $object_executable_matrix))
1526 for obj in $all_errlist_objs; do
1527 SS="$SS SS_$(echo $obj | tr 'a-z' 'A-Z'),"
1529 AC_DEFINE_UNQUOTED(DEFINE_ERRLIST_OBJECT_ENUM,
1530 [enum {$SS NUM_SS}],
1531 [list of all objects that use the paraslash error facility]
1533 ################################################################## status items
1535 status_items="basename status num_played mtime bitrate frequency file_size
1536 status_flags format score techinfo afs_mode
1537 attributes_txt decoder_flags audiod_status play_time attributes_bitmap
1538 offset seconds_total stream_start current_time audiod_uptime image_id
1539 lyrics_id duration directory lyrics_name image_name path hash channels
1540 last_played num_chunks chunk_time amplification artist title year album
1544 for i in $status_items; do
1545 result="$result SI_$(echo $i | tr 'a-z' 'A-Z'), "
1547 AC_DEFINE_UNQUOTED(STATUS_ITEM_ENUM, [$result],
1548 [enum of all status items])
1551 for i in $status_items; do
1552 result="$result \"$i\", "
1554 AC_DEFINE_UNQUOTED(STATUS_ITEM_ARRAY, [$result],
1555 [char * array of all status items])
1557 AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers",
1558 [formats supported by para_server and para_afh])
1560 AC_SUBST(executables)
1564 paraslash configuration:
1565 ~~~~~~~~~~~~~~~~~~~~~~~~
1566 unix socket credentials: $have_ucred
1567 readline (interactive CLIs): $have_readline
1568 audio formats handlers: $audio_format_handlers
1569 id3 version2 support: $have_libid3tag
1573 para_fade: $build_fade
1574 para_server: $build_server
1575 para_gui: $build_gui
1576 para_fade: $build_fade
1577 para_client: $build_client
1578 para_audiod: $build_audiod