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)
198 AC_MSG_WARN([openssl libraries not found])
200 CPPFLAGS="$OLD_CPPFLAGS"
201 LDFLAGS="$OLD_LDFLAGS"
206 ########################################################################### gcrypt
207 if test "$check_gcrypt" = "yes"; then
208 OLD_CPPFLAGS="$CPPFLAGS"
209 OLD_LDFLAGS="$LDFLAGS"
212 AC_ARG_WITH(gcrypt_headers, [AS_HELP_STRING(--with-gcrypt-headers=dir,
213 [look for gcrypt headers also in dir])])
214 if test -n "$with_gcrypt_headers"; then
215 gcrypt_cppflags="-I$with_gcrypt_headers"
216 CPPFLAGS="$CPPFLAGS $gcrypt_cppflags"
218 AC_ARG_WITH(gcrypt_libs, [AS_HELP_STRING(--with-gcrypt-libs=dir,
219 [look for libgcrypt also in dir])])
220 if test -n "$with_gcrypt_libs"; then
221 gcrypt_libs="-L$with_gcrypt_libs"
222 LDFLAGS="$LDFLAGS $gcrypt_libs"
224 AC_CHECK_HEADER(gcrypt.h, [], [have_gcrypt="no"])
225 AC_CHECK_LIB([gcrypt], [gcry_randomize], [], [have_gcrypt="no"])
226 if test "$have_gcrypt" = "yes"; then
227 AC_DEFINE(HAVE_GCRYPT, 1, [define to 1 to turn on gcrypt support])
228 AC_SUBST(gcrypt_cppflags)
229 gcrypt_ldflags="$gcrypt_libs -lgcrypt"
230 AC_SUBST(gcrypt_ldflags)
232 AC_MSG_WARN([gcrypt library not found])
234 CPPFLAGS="$OLD_CPPFLAGS"
235 LDFLAGS="$OLD_LDFLAGS"
240 ########################################################################### libsocket
241 AC_CHECK_LIB([c], [socket],
243 [socket_ldflags="-lsocket"]
245 AC_SUBST(socket_ldflags)
246 ########################################################################### libnsl
247 AC_CHECK_LIB([c], [gethostbyname],
249 [nsl_ldflags="-lnsl"]
251 AC_SUBST(nsl_ldflags)
252 ########################################################################### ucred
253 AC_MSG_CHECKING(for struct ucred)
254 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
256 #include <sys/types.h>
257 #include <sys/socket.h>
259 struct ucred sucred; sucred.pid=0;
260 ]])],[have_ucred=yes],[have_ucred=no])
261 AC_MSG_RESULT($have_ucred)
262 if test ${have_ucred} = yes; then
263 AC_DEFINE(HAVE_UCRED, 1, define to 1 you have struct ucred)
265 ########################################################################### gengetopt
266 echo 'option "z" z "" flag off' | $gengetopt --file-name conftest-ggo &&
268 [gengetopt_args_info_description],
269 [ggo_descriptions_declared=yes],
270 [ggo_descriptions_declared=no],
271 [#include "conftest-ggo.h"]
273 AC_SUBST(ggo_descriptions_declared)
274 ########################################################################### curses
276 OLD_CPPFLAGS="$CPPFLAGS"
277 OLD_LDFLAGS="$LDFLAGS"
279 AC_ARG_WITH(curses_headers, [AS_HELP_STRING(--with-curses-headers=dir,
280 [look for curses.h also in dir])])
281 if test -n "$with_curses_headers"; then
282 curses_cppflags="-I$with_curses_headers"
283 CPPFLAGS="$CPPFLAGS $curses_cppflags"
285 AC_ARG_WITH(curses_libs, [AS_HELP_STRING(--with-curses-libs=dir,
286 [look for libcurses also in dir])])
287 if test -n "$with_curses_libs"; then
288 curses_libs="-L$with_curses_libs"
289 LDFLAGS="$LDFLAGS $curses_libs"
291 AC_CHECK_HEADER(curses.h, [], [
294 curses_ldflags="$curses_libs"
295 AC_CHECK_LIB([ncursesw], [initscr],
296 [curses_ldflags="$curses_libs -lncursesw"], [
297 AC_CHECK_LIB([curses], [initscr],
298 [curses_ldflags="$curses_libs -lcurses"],
303 AC_SUBST(curses_cppflags)
304 AC_SUBST(curses_ldflags)
305 CPPFLAGS="$OLD_CPPFLAGS"
306 LDFLAGS="$OLD_LDFLAGS"
308 ########################################################################### ip_mreqn
309 AC_MSG_CHECKING(for struct ip_mreqn (UDPv4 multicast))
310 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
316 ]])],[have_ip_mreqn=yes],[have_ip_mreqn=no])
317 AC_MSG_RESULT($have_ip_mreqn)
318 if test ${have_ip_mreqn} = yes; then
319 AC_DEFINE(HAVE_IP_MREQN, 1, define to 1 you have struct ip_mreqn)
321 ########################################################################### osx
323 AC_MSG_CHECKING(for CoreAudio (MacOs))
324 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
325 #include <CoreAudio/CoreAudio.h>
328 ]])],[have_core_audio=yes],[have_core_audio=no])
329 AC_MSG_RESULT($have_core_audio)
330 if test ${have_core_audio} = yes; then
331 f1="-framework CoreAudio"
332 f2="-framework AudioToolbox"
333 f3="-framework AudioUnit"
334 f4="-framework CoreServices"
335 core_audio_ldflags="$f1 $f2 $f3 $f4"
336 AC_SUBST(core_audio_ldflags)
337 AC_DEFINE(HAVE_CORE_AUDIO, 1, define to 1 on Mac Os X)
339 ####################################################### ogg/vorbis/speex/opus
341 OLD_CPPFLAGS="$CPPFLAGS"
342 OLD_LDFLAGS="$LDFLAGS"
344 AC_ARG_WITH(ogg_headers, [AS_HELP_STRING(--with-ogg-headers=dir,
345 [look for ogg headers also in dir])])
346 AC_ARG_WITH(ogg_libs, [AS_HELP_STRING(--with-ogg-libs=dir,
347 [look for ogg libs also in dir])])
348 AC_ARG_WITH(vorbis_headers, [AS_HELP_STRING(--with-vorbis-headers=dir,
349 [look for vorbis headers also in dir])])
350 AC_ARG_WITH(vorbis_libs, [AS_HELP_STRING(--with-vorbis-libs=dir,
351 [look for vorbis libs also in dir])])
352 AC_ARG_WITH(speex_headers, [AS_HELP_STRING(--with-speex-headers=dir,
353 [look for speex headers also in dir])])
354 AC_ARG_WITH(speex_libs, [AS_HELP_STRING(--with-speex-libs=dir,
355 [look for speex libs also in dir])])
356 AC_ARG_WITH(opus_headers, [AS_HELP_STRING(--with-opus-headers=dir,
357 [look for opus headers also in dir])])
358 AC_ARG_WITH(opus_libs, [AS_HELP_STRING(--with-opus-libs=dir,
359 [look for opus libs also in dir])])
361 if test -n "$with_ogg_headers"; then
362 ogg_cppflags="-I$with_ogg_headers"
363 CPPFLAGS="$CPPFLAGS $ogg_cppflags"
365 if test -n "$with_ogg_libs"; then
366 ogg_libs="-L$with_ogg_libs"
367 LDFLAGS="$LDFLAGS $ogg_libs"
369 AC_CHECK_HEADERS([ogg/ogg.h], [], [ have_ogg="no"; ])
370 AC_CHECK_LIB([ogg], [ogg_stream_init], [], [ have_ogg="no" ])
375 if test "$have_ogg" = "yes"; then
377 if test -n "$with_vorbis_headers"; then
378 vorbis_cppflags="-I$with_vorbis_headers"
379 CPPFLAGS="$CPPFLAGS $vorbis_cppflags"
381 if test -n "$with_vorbis_libs"; then
382 vorbis_libs="-L$with_vorbis_libs"
383 LDFLAGS="$LDFLAGS $vorbis_libs"
385 AC_CHECK_HEADERS([vorbis/codec.h], [], [ have_vorbis="no" ])
386 AC_CHECK_LIB([vorbis], [vorbis_info_init], [], [ have_vorbis="no" ])
389 if test -n "$with_speex_headers"; then
390 speex_cppflags="-I$with_speex_headers"
391 CPPFLAGS="$CPPFLAGS $speex_cppflags"
393 if test -n "$with_speex_libs"; then
394 speex_libs="-L$with_speex_libs"
395 LDFLAGS="$LDFLAGS $speex_libs"
397 AC_CHECK_LIB([speex], [speex_decoder_init], [], [ have_speex="no" ])
398 AC_CHECK_HEADERS([speex/speex.h], [], [ have_speex="no" ])
401 if test -n "$with_opus_headers"; then
402 opus_cppflags="-I$with_opus_headers"
403 CPPFLAGS="$CPPFLAGS $opus_cppflags"
405 if test -n "$with_opus_libs"; then
406 opus_libs="-L$with_opus_libs"
407 LDFLAGS="$LDFLAGS $opus_libs"
409 AC_CHECK_LIB([opus], [opus_multistream_decode], [], [ have_opus="no" ])
410 AC_CHECK_HEADERS([opus/opus.h], [], [ have_opus="no" ])
412 AC_MSG_WARN([vorbis/speex/opus depend on libogg, which was not detected])
418 msg="support in para_server/para_filter/para_afh"
419 if test "$have_vorbis" = "yes" || \
420 test "$have_speex" = "yes" || \
421 test "$have_opus" = "yes"; then
422 AC_SUBST(ogg_cppflags)
423 ogg_ldflags="$ogg_libs -logg"
424 if test "$OSTYPE" = "Darwin"; then
425 ogg_ldflags="-Wl,-bind_at_load $ogg_ldflags"
427 AC_SUBST(ogg_ldflags)
429 if test "$have_vorbis" = "yes"; then
430 AC_DEFINE(HAVE_OGGVORBIS, 1, define to 1 to turn on ogg/vorbis support)
431 vorbis_ldflags="$vorbis_libs -lvorbis -lvorbisfile"
432 AC_SUBST(vorbis_ldflags)
433 audio_format_handlers="$audio_format_handlers ogg"
435 if test "$have_speex" = "yes"; then
436 AC_DEFINE(HAVE_SPEEX, 1, define to 1 to turn on ogg/speex support)
437 AC_SUBST(speex_cppflags)
438 speex_ldflags="$speex_libs -lspeex"
439 AC_SUBST(speex_ldflags)
440 audio_format_handlers="$audio_format_handlers spx"
442 AC_MSG_WARN([no ogg/speex $msg])
444 if test "$have_opus" = "yes"; then
445 AC_DEFINE(HAVE_OPUS, 1, define to 1 to turn on ogg/opus support)
446 AC_SUBST(opus_cppflags)
447 opus_ldflags="$opus_libs -lopus"
448 AC_SUBST(opus_ldflags)
449 audio_format_handlers="$audio_format_handlers opus"
451 AC_MSG_WARN([no ogg/opus $msg])
453 CPPFLAGS="$OLD_CPPFLAGS"
454 LDFLAGS="$OLD_LDFLAGS"
456 ########################################################################### faad
458 OLD_CPPFLAGS="$CPPFLAGS"
459 OLD_LDFLAGS="$LDFLAGS"
461 AC_ARG_WITH(faad_headers, [AS_HELP_STRING(--with-faad-headers=dir,
462 [look for neaacdec.h also in dir])])
463 if test -n "$with_faad_headers"; then
464 faad_cppflags="-I$with_faad_headers"
465 CPPFLAGS="$CPPFLAGS $faad_cppflags"
467 AC_ARG_WITH(faad_libs, [AS_HELP_STRING(--with-faad-libs=dir,
468 [look for libfaad also in dir])])
469 if test -n "$with_faad_libs"; then
470 faad_libs="-L$with_faad_libs"
471 LDFLAGS="$LDFLAGS $faad_libs"
473 AC_CHECK_HEADER(neaacdec.h, [], have_faad=no)
474 AC_CHECK_LIB([faad], [NeAACDecOpen], [], have_faad=no)
475 if test "$have_faad" = "yes"; then
476 AC_DEFINE(HAVE_FAAD, 1, define to 1 if you want to build the aacdec filter)
477 AC_SUBST(faad_cppflags)
478 faad_ldflags="$faad_libs -lfaad"
479 AC_SUBST(faad_ldflags)
481 audio_format_handlers="$audio_format_handlers aac"
483 CPPFLAGS="$OLD_CPPFLAGS"
484 LDFLAGS="$OLD_LDFLAGS"
486 ########################################################################### mad
488 OLD_CPPFLAGS="$CPPFLAGS"
489 OLD_LDFLAGS="$LDFLAGS"
492 AC_ARG_WITH(mad_headers, [AS_HELP_STRING(--with-mad-headers=dir,
493 [look for mad.h also in dir])])
494 if test -n "$with_mad_headers"; then
495 mad_cppflags="-I$with_mad_headers"
496 CPPFLAGS="$CPPFLAGS $mad_cppflags"
498 AC_ARG_WITH(mad_libs, [AS_HELP_STRING(--with-mad-libs=dir,
499 [look for libmad also in dir])])
500 if test -n "$with_mad_libs"; then
501 mad_libs="-L$with_mad_libs"
502 LDFLAGS="$LDFLAGS $mad_libs"
504 AC_CHECK_HEADERS([mad.h], [], [
507 AC_CHECK_LIB([mad], [mad_stream_init], [], [
510 if test "$have_mad" = "yes"; then
511 AC_DEFINE(HAVE_MAD, 1, define to 1 if you want to build the mp3dec filter)
512 AC_SUBST(mad_cppflags)
513 mad_ldflags="$mad_libs -lmad"
514 AC_SUBST(mad_ldflags)
516 AC_MSG_WARN([no mp3dec support in para_audiod/para_filter])
518 CPPFLAGS="$OLD_CPPFLAGS"
519 LDFLAGS="$OLD_LDFLAGS"
521 ###################################################################### libid3tag
522 OLD_CPPFLAGS="$CPPFLAGS"
523 OLD_LDFLAGS="$LDFLAGS"
527 AC_ARG_WITH(id3tag_headers, [AS_HELP_STRING(--with-id3tag-headers=dir,
528 [look for id3tag header files also in dir])])
529 if test -n "$with_id3tag_headers"; then
530 id3tag_cppflags="-I$with_id3tag_headers"
531 CPPFLAGS="$CPPFLAGS $id3tag_cppflags"
533 AC_ARG_WITH(id3tag_libs, [AS_HELP_STRING(--with-id3tag-libs=dir,
534 [look for id3tag libs also in dir])])
535 if test -n "$with_id3tag_libs"; then
536 id3tag_libs="-L$with_id3tag_libs"
537 LDFLAGS="$LDFLAGS $id3tag_libs"
540 AC_MSG_CHECKING(for libid3tag)
541 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
544 struct id3_tag t = {.flags = 0};
545 ]])],[],[have_libid3tag=no])
546 AC_MSG_RESULT($have_libid3tag)
548 if test ${have_libid3tag} = yes; then
549 AC_DEFINE(HAVE_LIBID3TAG, 1, define to 1 you have libid3tag)
550 AC_SUBST(id3tag_cppflags)
551 AC_SUBST(id3tag_ldflags, "$id3tag_libs -lid3tag -lz")
553 CPPFLAGS="$OLD_CPPFLAGS"
554 LDFLAGS="$OLD_LDFLAGS"
556 ########################################################################### flac
557 OLD_CPPFLAGS="$CPPFLAGS"
558 OLD_LDFLAGS="$LDFLAGS"
562 AC_ARG_WITH(flac_headers, [AS_HELP_STRING(--with-flac-headers=dir,
563 [look for flac headers also in dir])])
564 if test -n "$with_flac_headers"; then
565 flac_cppflags="-I$with_flac_headers"
566 CPPFLAGS="$CPPFLAGS $flac_cppflags"
568 AC_ARG_WITH(flac_libs, [AS_HELP_STRING(--with-flac-libs=dir,
569 [look for flac libs also in dir])])
570 if test -n "$with_flac_libs"; then
571 flac_libs="-L$with_flac_libs"
572 LDFLAGS="$LDFLAGS $flac_libs"
574 AC_CHECK_HEADER(FLAC/stream_decoder.h, [], have_flac=no)
575 AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], have_flac=no, -logg -lm)
576 if test "$have_flac" = "yes"; then
577 AC_DEFINE(HAVE_FLAC, 1, define to 1 if you want to build the flacdec filter)
578 AC_SUBST(flac_cppflags)
579 flac_ldflags="$flac_libs -lFLAC"
580 AC_SUBST(flac_ldflags)
581 audio_format_handlers="$audio_format_handlers flac"
583 AC_MSG_WARN([no flac support in para_audiod/para_filter/para_afh/para_server])
585 CPPFLAGS="$OLD_CPPFLAGS"
586 LDFLAGS="$OLD_LDFLAGS"
588 ########################################################################### oss
589 OLD_CPPFLAGS="$CPPFLAGS"
590 OLD_LDFLAGS="$LDFLAGS"
594 msg="=> will not build oss writer"
596 AC_CHECK_HEADER(sys/soundcard.h, [
597 AC_CHECK_LIB(ossaudio, _oss_ioctl, [
598 oss_ldflags="-lossaudio"
599 AC_SUBST(oss_ldflags)
605 AC_MSG_WARN([no sys/soundcard.h $msg])
608 CPPFLAGS="$OLD_CPPFLAGS"
609 LDFLAGS="$OLD_LDFLAGS"
612 ########################################################################### alsa
613 OLD_CPPFLAGS="$CPPFLAGS"
614 OLD_LDFLAGS="$LDFLAGS"
617 msg="=> no alsa support for para_audiod/para_write"
618 if test "$OSTYPE" != "Linux"; then
623 if test "$have_alsa" = "yes"; then
624 AC_CHECK_HEADERS([alsa/asoundlib.h], [], [
626 AC_MSG_WARN([no alsa/asoundlib $msg])
630 if test "$have_alsa" = "yes"; then
631 AC_CHECK_LIB([asound], [snd_pcm_open], [], [
633 AC_MSG_WARN([no libasound $msg])
637 if test "$have_alsa" = "yes"; then
638 alsa_ldflags="-lasound"
639 AC_SUBST(alsa_ldflags)
642 CPPFLAGS="$OLD_CPPFLAGS"
643 LDFLAGS="$OLD_LDFLAGS"
645 ########################################################################### libao
646 OLD_CPPFLAGS="$CPPFLAGS"
647 OLD_LDFLAGS="$LDFLAGS"
651 AC_ARG_WITH(ao_headers, [AS_HELP_STRING(--with-ao-headers=dir,
652 [look for ao/ao.h also in dir])])
653 if test -n "$with_ao_headers"; then
654 ao_cppflags="-I$with_ao_headers"
655 CPPFLAGS="$CPPFLAGS $ao_cppflags"
657 AC_ARG_WITH(ao_libs, [AS_HELP_STRING(--with-ao-libs=dir,
658 [look for libao also in dir])])
659 if test -n "$with_ao_libs"; then
660 ao_libs="-L$with_ao_libs"
661 LDFLAGS="$LDFLAGS $ao_libs"
663 msg="no libao support for para_audiod/para_write"
664 AC_CHECK_HEADERS([ao/ao.h], [
667 AC_MSG_WARN([ao.h not found, $msg])
669 if test "$have_ao" = "yes"; then
670 AC_CHECK_LIB([ao], [ao_initialize], [], [
672 AC_MSG_WARN([ao lib not found or not working, $msg])
675 if test "$have_ao" = "yes"; then
676 AC_CHECK_HEADERS([pthread.h], [
679 AC_MSG_WARN([pthread.h not found, $msg])
682 if test "$have_ao" = "yes"; then
683 AC_CHECK_LIB([pthread], [pthread_create], [], [
685 AC_MSG_WARN([pthread lib not found or not working, $msg])
688 if test "$have_ao" = "yes"; then
689 AC_SUBST(ao_cppflags)
690 ao_ldflags="$ao_libs -lao -lpthread"
694 CPPFLAGS="$OLD_CPPFLAGS"
695 LDFLAGS="$OLD_LDFLAGS"
697 ############################################################# readline
698 OLD_CPPFLAGS="$CPPFLAGS"
699 OLD_LDFLAGS="$LDFLAGS"
703 AC_ARG_WITH(readline_headers, [AS_HELP_STRING(--with-readline-headers=dir,
704 [look for libreadline header files also in dir])])
705 if test -n "$with_readline_headers"; then
706 readline_cppflags="-I$with_readline_headers"
707 CPPFLAGS="$CPPFLAGS $readline_cppflags"
710 AC_ARG_WITH(readline_libs, [AS_HELP_STRING(--with-readline-libs=dir,
711 [look for readline library also in dir])])
712 if test -n "$with_readline_libs"; then
713 readline_libs="-L$with_readline_libs"
714 LDFLAGS="$LDFLAGS $readline_libs"
716 msg="no interactive cli support"
717 AC_CHECK_HEADERS([readline/readline.h], [
720 AC_MSG_WARN([readline/readline.h not found, $msg])
723 if test "$have_curses" != "yes"; then
725 AC_MSG_WARN([interactive cli support depends on curses,])
726 AC_MSG_WARN([but no curses lib was detected, $msg])
729 if test "$have_readline" = "yes"; then
730 readline_ldflags="$readline_libs -lreadline"
731 AC_SEARCH_LIBS([rl_free_keymap], [readline], [], [have_readline="no"])
732 if test "$have_readline" = "no"; then # try with -lcurses
734 AC_MSG_NOTICE([trying again with -lcurses])
735 unset ac_cv_search_rl_free_keymap 2> /dev/null
736 AC_SEARCH_LIBS([rl_free_keymap], [readline], [
738 readline_ldflags="$readline_ldflags -lcurses"
741 if test "$have_readline" = "no"; then # try with -ltermcap
743 AC_MSG_NOTICE([trying again with -ltermcap])
744 unset ac_cv_search_rl_free_keymap 2> /dev/null
745 AC_SEARCH_LIBS([rl_free_keymap], [readline], [
747 readline_ldflags="$readline_ldflags -ltermcap"
752 if test "$have_readline" = "yes"; then
754 AC_SUBST(readline_cppflags)
755 AC_SUBST(readline_ldflags)
756 AC_DEFINE(HAVE_READLINE, 1, define to 1 to turn on readline support)
758 AC_MSG_WARN([libreadline not found or unusable])
760 CPPFLAGS="$OLD_CPPFLAGS"
761 LDFLAGS="$OLD_LDFLAGS"
763 ############################################################# libsamplerate
764 OLD_CPPFLAGS="$CPPFLAGS"
765 OLD_LDFLAGS="$LDFLAGS"
768 have_samplerate="yes"
769 AC_ARG_WITH(samplerate_headers, [AS_HELP_STRING(--with-samplerate-headers=dir,
770 [look for samplerate headers also in dir])])
771 if test -n "$with_samplerate_headers"; then
772 samplerate_cppflags="-I$with_samplerate_headers"
773 CPPFLAGS="$CPPFLAGS $samplerate_cppflags"
775 AC_ARG_WITH(samplerate_libs, [AS_HELP_STRING(--with-samplerate-libs=dir,
776 [look for samplerate libs also in dir])])
777 if test -n "$with_samplerate_libs"; then
778 samplerate_libs="-L$with_samplerate_libs"
779 LDFLAGS="$LDFLAGS $samplerate_libs"
782 AC_CHECK_HEADER(samplerate.h, [], have_samplerate=no)
783 AC_CHECK_LIB([samplerate], [src_process], [], have_samplerate=no, [])
785 if test "$have_samplerate" = "yes"; then
786 AC_SUBST(samplerate_cppflags)
787 samplerate_ldflags="$samplerate_libs -lsamplerate"
788 AC_SUBST(samplerate_ldflags)
790 AC_MSG_WARN([no resample support in para_audiod/para_filter])
792 CPPFLAGS="$OLD_CPPFLAGS"
793 LDFLAGS="$OLD_LDFLAGS"
795 ######################################################################### server
796 if test \( "$have_openssl" = "yes" -o "$have_gcrypt" = "yes" \) \
797 -a "$have_osl" = "yes" ; then
800 executables="$executables server"
801 server_cmdline_objs="server"
802 server_errlist_objs="
841 if test "$have_openssl" = "yes"; then
842 server_errlist_objs="$server_errlist_objs crypt"
844 if test "$have_gcrypt" = "yes"; then
845 server_errlist_objs="$server_errlist_objs gcrypt"
847 if test "$have_vorbis" = "yes" || \
848 test "$have_speex" = "yes" || \
849 test "$have_opus" = "yes"; then
850 server_errlist_objs="$server_errlist_objs ogg_afh_common"
852 if test "$have_vorbis" = "yes"; then
853 server_errlist_objs="$server_errlist_objs ogg_afh"
855 if test "$have_speex" = "yes"; then
856 server_errlist_objs="$server_errlist_objs spx_afh spx_common"
858 if test "$have_opus" = "yes"; then
859 server_errlist_objs="$server_errlist_objs opus_afh opus_common"
861 if test "$have_faad" = "yes"; then
862 server_errlist_objs="$server_errlist_objs aac_afh aac_common"
864 if test "$have_flac" = "yes"; then
865 server_errlist_objs="$server_errlist_objs flac_afh"
867 server_objs="add_cmdline($server_cmdline_objs) $server_errlist_objs"
868 AC_SUBST(server_objs, add_dot_o($server_objs))
869 AC_DEFINE_UNQUOTED(INIT_SERVER_ERRLISTS,
870 objlist_to_errlist($server_errlist_objs), errors used by para_server)
874 ############################################################# client
875 if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then
877 executables="$executables client"
878 client_cmdline_objs="client"
879 client_errlist_objs="
895 if test "$have_openssl" = "yes"; then
896 client_errlist_objs="$client_errlist_objs crypt"
898 if test "$have_gcrypt" = "yes"; then
899 client_errlist_objs="$client_errlist_objs gcrypt"
901 if test "$have_readline" = "yes"; then
902 client_errlist_objs="$client_errlist_objs interactive"
904 client_objs="add_cmdline($client_cmdline_objs) $client_errlist_objs"
905 AC_SUBST(client_objs, add_dot_o($client_objs))
906 AC_DEFINE_UNQUOTED(INIT_CLIENT_ERRLISTS,
907 objlist_to_errlist($client_errlist_objs), errors used by para_client)
911 ############################################################# audiod
912 if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then
914 executables="$executables audiod"
915 audiod_audio_formats="wma"
916 audiod_cmdline_objs="$audiod_cmdline_objs
927 audiod_errlist_objs="$audiod_errlist_objs
964 if test "$have_openssl" = "yes"; then
965 audiod_errlist_objs="$audiod_errlist_objs crypt"
967 if test "$have_gcrypt" = "yes"; then
968 audiod_errlist_objs="$audiod_errlist_objs gcrypt"
970 if test "$have_core_audio" = "yes"; then
971 audiod_errlist_objs="$audiod_errlist_objs osx_write ipc"
972 audiod_cmdline_objs="$audiod_cmdline_objs osx_write.cmdline"
974 if test "$have_vorbis" = "yes"; then
975 audiod_errlist_objs="$audiod_errlist_objs oggdec_filter"
976 audiod_audio_formats="$audiod_audio_formats ogg"
978 if test "$have_speex" = "yes"; then
979 audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common"
980 audiod_audio_formats="$audiod_audio_formats spx"
982 if test "$have_opus" = "yes"; then
983 audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common"
984 audiod_audio_formats="$audiod_audio_formats opus"
986 if test "$have_faad" = "yes"; then
987 audiod_errlist_objs="$audiod_errlist_objs aacdec_filter aac_common"
988 audiod_audio_formats="$audiod_audio_formats aac"
990 if test "$have_mad" = "yes"; then
991 audiod_audio_formats="$audiod_audio_formats mp3"
992 audiod_cmdline_objs="$audiod_cmdline_objs mp3dec_filter"
993 audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter"
995 if test "$have_flac" = "yes"; then
996 audiod_errlist_objs="$audiod_errlist_objs flacdec_filter"
997 audiod_audio_formats="$audiod_audio_formats flac"
999 if test "$have_oss" = "yes"; then
1000 audiod_errlist_objs="$audiod_errlist_objs oss_write"
1001 audiod_cmdline_objs="$audiod_cmdline_objs oss_write"
1003 if test "$have_alsa" = "yes"; then
1004 audiod_errlist_objs="$audiod_errlist_objs alsa_write"
1005 audiod_cmdline_objs="$audiod_cmdline_objs alsa_write"
1007 if test "$have_ao" = "yes"; then
1008 audiod_errlist_objs="$audiod_errlist_objs ao_write"
1009 audiod_cmdline_objs="$audiod_cmdline_objs ao_write"
1011 if test "$have_samplerate" = "yes"; then
1012 audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav"
1013 audiod_cmdline_objs="$audiod_cmdline_objs resample_filter"
1015 audiod_objs="add_cmdline($audiod_cmdline_objs) $audiod_errlist_objs"
1016 AC_SUBST(audiod_objs, add_dot_o($audiod_objs))
1017 AC_DEFINE_UNQUOTED(INIT_AUDIOD_ERRLISTS, objlist_to_errlist($audiod_errlist_objs),
1018 errors used by para_audiod)
1020 enum="$(for i in $audiod_audio_formats; do printf "AUDIO_FORMAT_${i}, " | tr '[a-z]' '[A-Z]'; done)"
1021 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMATS_ENUM, $enum NUM_AUDIO_FORMATS,
1022 enum of audio formats supported by audiod)
1023 names="$(for i in $audiod_audio_formats; do printf \"$i\",' ' ; done)"
1024 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMAT_ARRAY, $names, array of audio formats supported by audiod)
1028 ########################################################################### fade
1029 if test "$have_oss" = "yes" -o "$have_alsa" = "yes"; then
1031 executables="$executables fade"
1032 fade_cmdline_objs="fade"
1033 fade_errlist_objs="fade exec string fd version ggo"
1034 if test "$have_oss" = "yes"; then
1035 fade_errlist_objs="$fade_errlist_objs oss_mix"
1036 mixers="${mixers}oss "
1037 default_mixer="OSS_MIX"
1039 if test "$have_alsa" = "yes"; then
1040 fade_errlist_objs="$fade_errlist_objs alsa_mix"
1041 mixers="${mixers}alsa "
1042 default_mixer="ALSA_MIX"
1044 fade_objs="add_cmdline($fade_cmdline_objs) $fade_errlist_objs"
1045 AC_SUBST(fade_objs, add_dot_o($fade_objs))
1046 AC_DEFINE_UNQUOTED(INIT_FADE_ERRLISTS,
1047 objlist_to_errlist($fade_errlist_objs),
1048 errors used by para_fade)
1050 for i in $mixers; do
1051 printf "${i}_MIX, " | tr '[a-z]' '[A-Z]'
1054 AC_DEFINE_UNQUOTED(MIXER_ENUM, $enum NUM_SUPPORTED_MIXERS,
1055 enum of supported mixers)
1056 AC_DEFINE_UNQUOTED(DEFAULT_MIXER, $default_mixer,
1057 use this mixer if none was specified)
1058 names="$(for i in $mixers; do printf \"$i\",' ' ; done)"
1059 AC_DEFINE_UNQUOTED(MIXER_NAMES, $names, supported mixer names)
1061 for i in $mixers; do
1062 printf 'extern void '$i'_mix_init(struct mixer *); '
1065 AC_DEFINE_UNQUOTED(DECLARE_MIXER_INITS, $inits,
1066 init functions of the supported mixers)
1067 array="$(for i in $mixers; do printf '{.init = '$i'_mix_init},'; done)"
1068 AC_DEFINE_UNQUOTED(MIXER_ARRAY, $array, array of supported mixers)
1071 AC_MSG_WARN([no mixer support])
1073 ########################################################################### gui
1074 if test "$have_curses" = "yes"; then
1076 executables="$executables gui"
1077 gui_cmdline_objs="gui"
1091 gui_objs="add_cmdline($gui_cmdline_objs) $gui_errlist_objs"
1092 AC_SUBST(gui_objs, add_dot_o($gui_objs))
1093 AC_DEFINE_UNQUOTED(INIT_GUI_ERRLISTS,
1094 objlist_to_errlist($gui_errlist_objs), errors used by para_gui)
1097 AC_MSG_WARN([no curses lib, cannot build para_gui])
1099 ######################################################################## filter
1108 filter_errlist_objs="
1132 filter_cmdline_objs="
1139 if test "$have_vorbis" = "yes"; then
1140 filters="$filters oggdec"
1141 filter_errlist_objs="$filter_errlist_objs oggdec_filter"
1143 if test "$have_speex" = "yes"; then
1144 filters="$filters spxdec"
1145 filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common"
1147 if test "$have_opus" = "yes"; then
1148 filters="$filters opusdec"
1149 filter_errlist_objs="$filter_errlist_objs opusdec_filter opus_common"
1151 if test "$have_faad" = "yes"; then
1152 filter_errlist_objs="$filter_errlist_objs aacdec_filter aac_common"
1153 filters="$filters aacdec"
1155 if test "$have_mad" = "yes"; then
1156 filter_cmdline_objs="$filter_cmdline_objs mp3dec_filter"
1157 filter_errlist_objs="$filter_errlist_objs mp3dec_filter"
1158 filters="$filters mp3dec"
1160 if test "$have_flac" = "yes"; then
1161 filter_errlist_objs="$filter_errlist_objs flacdec_filter"
1162 filters="$filters flacdec"
1164 if test "$have_samplerate" = "yes"; then
1165 filter_errlist_objs="$filter_errlist_objs resample_filter check_wav"
1166 filter_cmdline_objs="$filter_cmdline_objs resample_filter"
1167 filters="$filters resample"
1169 filter_objs="add_cmdline($filter_cmdline_objs) $filter_errlist_objs"
1171 AC_SUBST(filter_objs, add_dot_o($filter_objs))
1172 AC_DEFINE_UNQUOTED(INIT_FILTER_ERRLISTS,
1173 objlist_to_errlist($filter_errlist_objs), errors used by para_filter)
1175 enum="$(for i in $filters; do printf "${i}_FILTER, " | tr '[a-z]' '[A-Z]'; done)"
1176 AC_DEFINE_UNQUOTED(FILTER_ENUM, $enum NUM_SUPPORTED_FILTERS,
1177 enum of supported filters)
1178 inits="$(for i in $filters; do printf 'extern void '$i'_filter_init(struct filter *f); '; done)"
1179 AC_DEFINE_UNQUOTED(DECLARE_FILTER_INITS, $inits, init functions of the supported filters)
1180 array="$(for i in $filters; do printf '{.name = "'$i'", .init = '$i'_filter_init},'; done)"
1181 AC_DEFINE_UNQUOTED(FILTER_ARRAY, $array, array of supported filters)
1182 ########################################################################## recv
1212 if test "$have_vorbis" = "yes" || \
1213 test "$have_speex" = "yes" || \
1214 test "$have_opus" = "yes"; then
1215 recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
1217 if test "$have_vorbis" = "yes"; then
1218 recv_errlist_objs="$recv_errlist_objs ogg_afh"
1220 if test "$have_speex" = "yes"; then
1221 recv_errlist_objs="$recv_errlist_objs spx_afh spx_common"
1223 if test "$have_opus" = "yes"; then
1224 recv_errlist_objs="$recv_errlist_objs opus_afh opus_common"
1226 if test "$have_faad" = "yes"; then
1227 recv_errlist_objs="$recv_errlist_objs aac_afh aac_common"
1229 if test "$have_flac" = "yes"; then
1230 recv_errlist_objs="$recv_errlist_objs flac_afh"
1232 recv_objs="add_cmdline($recv_cmdline_objs) $recv_errlist_objs"
1233 AC_SUBST(recv_objs, add_dot_o($recv_objs))
1234 AC_DEFINE_UNQUOTED(INIT_RECV_ERRLISTS, objlist_to_errlist($recv_errlist_objs),
1235 errors used by para_recv)
1236 ########################################################################### afh
1237 afh_cmdline_objs="afh"
1250 if test "$have_vorbis" = "yes" || \
1251 test "$have_speex" = "yes" || \
1252 test "$have_opus" = "yes"; then
1253 afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
1255 if test "$have_vorbis" = "yes"; then
1256 afh_errlist_objs="$afh_errlist_objs ogg_afh"
1258 if test "$have_speex" = "yes"; then
1259 afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
1261 if test "$have_opus" = "yes"; then
1262 afh_errlist_objs="$afh_errlist_objs opus_afh opus_common"
1264 if test "$have_faad" = "yes"; then
1265 afh_errlist_objs="$afh_errlist_objs aac_common aac_afh"
1267 if test "$have_flac" = "yes"; then
1268 afh_errlist_objs="$afh_errlist_objs flac_afh"
1271 afh_objs="add_cmdline($afh_cmdline_objs) $afh_errlist_objs"
1273 AC_SUBST(afh_objs, add_dot_o($afh_objs))
1274 AC_DEFINE_UNQUOTED(INIT_AFH_ERRLISTS,
1275 objlist_to_errlist($afh_errlist_objs), errors used by para_afh)
1276 ########################################################################## play
1320 if test "$have_core_audio" = "yes"; then
1321 play_errlist_objs="$play_errlist_objs osx_write ipc"
1322 play_cmdline_objs="$play_cmdline_objs osx_write.cmdline"
1324 if test "$have_vorbis" = "yes" || \
1325 test "$have_speex" = "yes" || \
1326 test "$have_opus" = "yes"; then
1327 play_errlist_objs="$play_errlist_objs ogg_afh_common"
1329 if test "$have_vorbis" = "yes"; then
1330 play_errlist_objs="$play_errlist_objs oggdec_filter ogg_afh"
1332 if test "$have_speex" = "yes"; then
1333 play_errlist_objs="$play_errlist_objs spxdec_filter spx_afh spx_common"
1335 if test "$have_opus" = "yes"; then
1336 play_errlist_objs="$play_errlist_objs opusdec_filter opus_afh opus_common"
1338 if test "$have_faad" = "yes"; then
1339 play_errlist_objs="$play_errlist_objs aacdec_filter aac_afh aac_common"
1341 if test "$have_mad" = "yes"; then
1342 play_cmdline_objs="$play_cmdline_objs mp3dec_filter"
1343 play_errlist_objs="$play_errlist_objs mp3dec_filter"
1345 if test "$have_flac" = "yes"; then
1346 play_errlist_objs="$play_errlist_objs flacdec_filter flac_afh"
1348 if test "$have_oss" = "yes"; then
1349 play_errlist_objs="$play_errlist_objs oss_write"
1350 play_cmdline_objs="$play_cmdline_objs oss_write"
1352 if test "$have_alsa" = "yes"; then
1353 play_errlist_objs="$play_errlist_objs alsa_write"
1354 play_cmdline_objs="$play_cmdline_objs alsa_write"
1356 if test "$have_ao" = "yes"; then
1357 play_errlist_objs="$play_errlist_objs ao_write"
1358 play_cmdline_objs="$play_cmdline_objs ao_write"
1360 if test "$have_readline" = "yes"; then
1361 play_errlist_objs="$play_errlist_objs interactive"
1363 if test "$have_samplerate" = "yes"; then
1364 play_errlist_objs="$play_errlist_objs resample_filter check_wav"
1365 play_cmdline_objs="$play_cmdline_objs resample_filter"
1368 play_objs="add_cmdline($play_cmdline_objs) $play_errlist_objs"
1369 AC_SUBST(play_objs, add_dot_o($play_objs))
1370 AC_DEFINE_UNQUOTED(INIT_PLAY_ERRLISTS,
1371 objlist_to_errlist($play_errlist_objs), errors used by para_play)
1372 ######################################################################### write
1373 write_cmdline_objs="
1377 write_errlist_objs="
1392 default_writer="FILE_WRITE"
1394 if test "$have_core_audio" = "yes"; then
1395 write_errlist_objs="$write_errlist_objs osx_write ipc"
1396 write_cmdline_objs="$write_cmdline_objs osx_write.cmdline"
1397 writers="$writers osx"
1398 default_writer="OSX_WRITE"
1400 if test "$have_ao" = "yes"; then
1401 write_errlist_objs="$write_errlist_objs ao_write"
1402 write_cmdline_objs="$write_cmdline_objs ao_write"
1403 writers="$writers ao"
1404 default_writer="AO_WRITE"
1406 if test "$have_oss" = "yes"; then
1407 write_errlist_objs="$write_errlist_objs oss_write"
1408 write_cmdline_objs="$write_cmdline_objs oss_write"
1409 writers="$writers oss"
1410 default_writer="OSS_WRITE"
1412 if test "$have_alsa" = "yes"; then
1413 write_errlist_objs="$write_errlist_objs alsa_write"
1414 write_cmdline_objs="$write_cmdline_objs alsa_write"
1415 writers="$writers alsa"
1416 default_writer="ALSA_WRITE"
1418 write_objs="add_cmdline($write_cmdline_objs) $write_errlist_objs"
1419 AC_SUBST(write_objs, add_dot_o($write_objs))
1420 AC_DEFINE_UNQUOTED(INIT_WRITE_ERRLISTS,
1421 objlist_to_errlist($write_errlist_objs), errors used by para_write)
1422 enum="$(for i in $writers; do printf "${i}_WRITE, " | tr '[a-z]' '[A-Z]'; done)"
1423 AC_DEFINE_UNQUOTED(WRITER_ENUM, $enum NUM_SUPPORTED_WRITERS,
1424 enum of supported writers)
1425 AC_DEFINE_UNQUOTED(DEFAULT_WRITER, $default_writer, use this writer if none was specified)
1426 names="$(for i in $writers; do printf \"$i\",' ' ; done)"
1427 AC_DEFINE_UNQUOTED(WRITER_NAMES, $names, supported writer names)
1428 inits="$(for i in $writers; do printf 'extern void '$i'_write_init(struct writer *); '; done)"
1429 AC_DEFINE_UNQUOTED(DECLARE_WRITER_INITS, $inits, init functions of the supported writers)
1430 array="$(for i in $writers; do printf '{.init = '$i'_write_init},'; done)"
1431 AC_DEFINE_UNQUOTED(WRITER_ARRAY, $array, array of supported writers)
1432 ######################################################################## audioc
1433 audioc_cmdline_objs="audioc"
1434 audioc_errlist_objs="
1442 if test "$have_readline" = "yes"; then
1443 audioc_errlist_objs="$audioc_errlist_objs
1450 audioc_objs="add_cmdline($audioc_cmdline_objs) $audioc_errlist_objs"
1451 AC_SUBST(audioc_objs, add_dot_o($audioc_objs))
1452 AC_DEFINE_UNQUOTED(INIT_AUDIOC_ERRLISTS,
1453 objlist_to_errlist($audioc_errlist_objs), errors used by para_audioc)
1454 ############################################################# error2.h
1455 # these are always built
1458 $filter_errlist_objs
1459 $audioc_errlist_objs
1465 # optional executables
1466 if test "$build_server" = "yes"; then
1467 all_errlist_objs="$all_errlist_objs $server_errlist_objs"
1469 if test "$build_gui" = "yes"; then
1470 all_errlist_objs="$all_errlist_objs $gui_errlist_objs"
1472 if test "$build_fade" = "yes"; then
1473 all_errlist_objs="$all_errlist_objs $fade_errlist_objs"
1475 if test "$build_client" = "yes"; then
1476 all_errlist_objs="$all_errlist_objs $client_errlist_objs"
1478 if test "$build_audiod" = "yes"; then
1479 all_errlist_objs="$all_errlist_objs $audiod_errlist_objs"
1482 all_errlist_objs="$(echo $all_errlist_objs | tr ' ' '\n' | sort | uniq)"
1484 object_executable_matrix=
1485 for i in $executables; do
1486 eval objs=\$${i}_errlist_objs
1487 object_executable_matrix="$object_executable_matrix $i: $objs"
1489 # use echo to replace newlines by space
1490 AC_SUBST(object_executable_matrix, $(echo $object_executable_matrix))
1492 for obj in $all_errlist_objs; do
1493 SS="$SS SS_$(echo $obj | tr 'a-z' 'A-Z'),"
1495 AC_DEFINE_UNQUOTED(DEFINE_ERRLIST_OBJECT_ENUM,
1496 [enum {$SS NUM_SS}],
1497 [list of all objects that use the paraslash error facility]
1499 ################################################################## status items
1501 status_items="basename status num_played mtime bitrate frequency file_size
1502 status_flags format score techinfo afs_mode
1503 attributes_txt decoder_flags audiod_status play_time attributes_bitmap
1504 offset seconds_total stream_start current_time audiod_uptime image_id
1505 lyrics_id duration directory lyrics_name image_name path hash channels
1506 last_played num_chunks chunk_time amplification artist title year album
1510 for i in $status_items; do
1511 result="$result SI_$(echo $i | tr 'a-z' 'A-Z'), "
1513 AC_DEFINE_UNQUOTED(STATUS_ITEM_ENUM, [$result],
1514 [enum of all status items])
1517 for i in $status_items; do
1518 result="$result \"$i\", "
1520 AC_DEFINE_UNQUOTED(STATUS_ITEM_ARRAY, [$result],
1521 [char * array of all status items])
1523 AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers",
1524 [formats supported by para_server and para_afh])
1526 AC_SUBST(executables)
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)
1539 para_fade: $build_fade
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