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 fade_errlist_objs="$fade_errlist_objs oss_mix"
599 mixers="${mixers}oss "
600 default_mixer="OSS_MIX"
602 AC_CHECK_LIB(ossaudio, _oss_ioctl, [
603 oss_ldflags="-lossaudio"
604 AC_SUBST(oss_ldflags)
610 AC_MSG_WARN([no sys/soundcard.h $msg])
613 CPPFLAGS="$OLD_CPPFLAGS"
614 LDFLAGS="$OLD_LDFLAGS"
617 ########################################################################### alsa
618 OLD_CPPFLAGS="$CPPFLAGS"
619 OLD_LDFLAGS="$LDFLAGS"
622 msg="=> no alsa support for para_audiod/para_write"
623 if test "$OSTYPE" != "Linux"; then
628 if test "$have_alsa" = "yes"; then
629 AC_CHECK_HEADERS([alsa/asoundlib.h], [], [
631 AC_MSG_WARN([no alsa/asoundlib $msg])
635 if test "$have_alsa" = "yes"; then
636 AC_CHECK_LIB([asound], [snd_pcm_open], [], [
638 AC_MSG_WARN([no libasound $msg])
642 if test "$have_alsa" = "yes"; then
643 alsa_ldflags="-lasound"
644 AC_SUBST(alsa_ldflags)
645 fade_errlist_objs="$fade_errlist_objs alsa_mix"
647 mixers="${mixers}alsa "
648 default_mixer="ALSA_MIX"
651 CPPFLAGS="$OLD_CPPFLAGS"
652 LDFLAGS="$OLD_LDFLAGS"
654 ########################################################################### libao
655 OLD_CPPFLAGS="$CPPFLAGS"
656 OLD_LDFLAGS="$LDFLAGS"
660 AC_ARG_WITH(ao_headers, [AS_HELP_STRING(--with-ao-headers=dir,
661 [look for ao/ao.h also in dir])])
662 if test -n "$with_ao_headers"; then
663 ao_cppflags="-I$with_ao_headers"
664 CPPFLAGS="$CPPFLAGS $ao_cppflags"
666 AC_ARG_WITH(ao_libs, [AS_HELP_STRING(--with-ao-libs=dir,
667 [look for libao also in dir])])
668 if test -n "$with_ao_libs"; then
669 ao_libs="-L$with_ao_libs"
670 LDFLAGS="$LDFLAGS $ao_libs"
672 msg="no libao support for para_audiod/para_write"
673 AC_CHECK_HEADERS([ao/ao.h], [
676 AC_MSG_WARN([ao.h not found, $msg])
678 if test "$have_ao" = "yes"; then
679 AC_CHECK_LIB([ao], [ao_initialize], [], [
681 AC_MSG_WARN([ao lib not found or not working, $msg])
684 if test "$have_ao" = "yes"; then
685 AC_CHECK_HEADERS([pthread.h], [
688 AC_MSG_WARN([pthread.h not found, $msg])
691 if test "$have_ao" = "yes"; then
692 AC_CHECK_LIB([pthread], [pthread_create], [], [
694 AC_MSG_WARN([pthread lib not found or not working, $msg])
697 if test "$have_ao" = "yes"; then
698 AC_SUBST(ao_cppflags)
699 ao_ldflags="$ao_libs -lao -lpthread"
703 CPPFLAGS="$OLD_CPPFLAGS"
704 LDFLAGS="$OLD_LDFLAGS"
706 ############################################################# readline
707 OLD_CPPFLAGS="$CPPFLAGS"
708 OLD_LDFLAGS="$LDFLAGS"
712 AC_ARG_WITH(readline_headers, [AS_HELP_STRING(--with-readline-headers=dir,
713 [look for libreadline header files also in dir])])
714 if test -n "$with_readline_headers"; then
715 readline_cppflags="-I$with_readline_headers"
716 CPPFLAGS="$CPPFLAGS $readline_cppflags"
719 AC_ARG_WITH(readline_libs, [AS_HELP_STRING(--with-readline-libs=dir,
720 [look for readline library also in dir])])
721 if test -n "$with_readline_libs"; then
722 readline_libs="-L$with_readline_libs"
723 LDFLAGS="$LDFLAGS $readline_libs"
725 msg="no interactive cli support"
726 AC_CHECK_HEADERS([readline/readline.h], [
729 AC_MSG_WARN([readline/readline.h not found, $msg])
732 if test "$have_curses" != "yes"; then
734 AC_MSG_WARN([interactive cli support depends on curses,])
735 AC_MSG_WARN([but no curses lib was detected, $msg])
738 if test "$have_readline" = "yes"; then
739 readline_ldflags="$readline_libs -lreadline"
740 AC_SEARCH_LIBS([rl_free_keymap], [readline], [], [have_readline="no"])
741 if test "$have_readline" = "no"; then # try with -lcurses
743 AC_MSG_NOTICE([trying again with -lcurses])
744 unset ac_cv_search_rl_free_keymap 2> /dev/null
745 AC_SEARCH_LIBS([rl_free_keymap], [readline], [
747 readline_ldflags="$readline_ldflags -lcurses"
750 if test "$have_readline" = "no"; then # try with -ltermcap
752 AC_MSG_NOTICE([trying again with -ltermcap])
753 unset ac_cv_search_rl_free_keymap 2> /dev/null
754 AC_SEARCH_LIBS([rl_free_keymap], [readline], [
756 readline_ldflags="$readline_ldflags -ltermcap"
761 if test "$have_readline" = "yes"; then
763 AC_SUBST(readline_cppflags)
764 AC_SUBST(readline_ldflags)
765 AC_DEFINE(HAVE_READLINE, 1, define to 1 to turn on readline support)
767 AC_MSG_WARN([libreadline not found or unusable])
769 CPPFLAGS="$OLD_CPPFLAGS"
770 LDFLAGS="$OLD_LDFLAGS"
772 ############################################################# libsamplerate
773 OLD_CPPFLAGS="$CPPFLAGS"
774 OLD_LDFLAGS="$LDFLAGS"
777 have_samplerate="yes"
778 AC_ARG_WITH(samplerate_headers, [AS_HELP_STRING(--with-samplerate-headers=dir,
779 [look for samplerate headers also in dir])])
780 if test -n "$with_samplerate_headers"; then
781 samplerate_cppflags="-I$with_samplerate_headers"
782 CPPFLAGS="$CPPFLAGS $samplerate_cppflags"
784 AC_ARG_WITH(samplerate_libs, [AS_HELP_STRING(--with-samplerate-libs=dir,
785 [look for samplerate libs also in dir])])
786 if test -n "$with_samplerate_libs"; then
787 samplerate_libs="-L$with_samplerate_libs"
788 LDFLAGS="$LDFLAGS $samplerate_libs"
791 AC_CHECK_HEADER(samplerate.h, [], have_samplerate=no)
792 AC_CHECK_LIB([samplerate], [src_process], [], have_samplerate=no, [])
794 if test "$have_samplerate" = "yes"; then
795 AC_SUBST(samplerate_cppflags)
796 samplerate_ldflags="$samplerate_libs -lsamplerate"
797 AC_SUBST(samplerate_ldflags)
799 AC_MSG_WARN([no resample support in para_audiod/para_filter])
801 CPPFLAGS="$OLD_CPPFLAGS"
802 LDFLAGS="$OLD_LDFLAGS"
804 ######################################################################### server
805 if test \( "$have_openssl" = "yes" -o "$have_gcrypt" = "yes" \) \
806 -a "$have_osl" = "yes" ; then
809 executables="$executables server"
810 server_cmdline_objs="server"
811 server_errlist_objs="
850 if test "$have_openssl" = "yes"; then
851 server_errlist_objs="$server_errlist_objs crypt"
853 if test "$have_gcrypt" = "yes"; then
854 server_errlist_objs="$server_errlist_objs gcrypt"
856 if test "$have_vorbis" = "yes" || \
857 test "$have_speex" = "yes" || \
858 test "$have_opus" = "yes"; then
859 server_errlist_objs="$server_errlist_objs ogg_afh_common"
861 if test "$have_vorbis" = "yes"; then
862 server_errlist_objs="$server_errlist_objs ogg_afh"
864 if test "$have_speex" = "yes"; then
865 server_errlist_objs="$server_errlist_objs spx_afh spx_common"
867 if test "$have_opus" = "yes"; then
868 server_errlist_objs="$server_errlist_objs opus_afh opus_common"
870 if test "$have_faad" = "yes"; then
871 server_errlist_objs="$server_errlist_objs aac_afh aac_common"
873 if test "$have_flac" = "yes"; then
874 server_errlist_objs="$server_errlist_objs flac_afh"
876 server_objs="add_cmdline($server_cmdline_objs) $server_errlist_objs"
877 AC_SUBST(server_objs, add_dot_o($server_objs))
878 AC_DEFINE_UNQUOTED(INIT_SERVER_ERRLISTS,
879 objlist_to_errlist($server_errlist_objs), errors used by para_server)
883 ############################################################# client
884 if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then
886 executables="$executables client"
887 client_cmdline_objs="client"
888 client_errlist_objs="
904 if test "$have_openssl" = "yes"; then
905 client_errlist_objs="$client_errlist_objs crypt"
907 if test "$have_gcrypt" = "yes"; then
908 client_errlist_objs="$client_errlist_objs gcrypt"
910 if test "$have_readline" = "yes"; then
911 client_errlist_objs="$client_errlist_objs interactive"
913 client_objs="add_cmdline($client_cmdline_objs) $client_errlist_objs"
914 AC_SUBST(client_objs, add_dot_o($client_objs))
915 AC_DEFINE_UNQUOTED(INIT_CLIENT_ERRLISTS,
916 objlist_to_errlist($client_errlist_objs), errors used by para_client)
920 ############################################################# audiod
921 if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then
923 executables="$executables audiod"
924 audiod_audio_formats="wma"
925 audiod_cmdline_objs="$audiod_cmdline_objs
936 audiod_errlist_objs="$audiod_errlist_objs
973 if test "$have_openssl" = "yes"; then
974 audiod_errlist_objs="$audiod_errlist_objs crypt"
976 if test "$have_gcrypt" = "yes"; then
977 audiod_errlist_objs="$audiod_errlist_objs gcrypt"
979 if test "$have_core_audio" = "yes"; then
980 audiod_errlist_objs="$audiod_errlist_objs osx_write ipc"
981 audiod_cmdline_objs="$audiod_cmdline_objs osx_write.cmdline"
983 if test "$have_vorbis" = "yes"; then
984 audiod_errlist_objs="$audiod_errlist_objs oggdec_filter"
985 audiod_audio_formats="$audiod_audio_formats ogg"
987 if test "$have_speex" = "yes"; then
988 audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common"
989 audiod_audio_formats="$audiod_audio_formats spx"
991 if test "$have_opus" = "yes"; then
992 audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common"
993 audiod_audio_formats="$audiod_audio_formats opus"
995 if test "$have_faad" = "yes"; then
996 audiod_errlist_objs="$audiod_errlist_objs aacdec_filter aac_common"
997 audiod_audio_formats="$audiod_audio_formats aac"
999 if test "$have_mad" = "yes"; then
1000 audiod_audio_formats="$audiod_audio_formats mp3"
1001 audiod_cmdline_objs="$audiod_cmdline_objs mp3dec_filter"
1002 audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter"
1004 if test "$have_flac" = "yes"; then
1005 audiod_errlist_objs="$audiod_errlist_objs flacdec_filter"
1006 audiod_audio_formats="$audiod_audio_formats flac"
1008 if test "$have_oss" = "yes"; then
1009 audiod_errlist_objs="$audiod_errlist_objs oss_write"
1010 audiod_cmdline_objs="$audiod_cmdline_objs oss_write"
1012 if test "$have_alsa" = "yes"; then
1013 audiod_errlist_objs="$audiod_errlist_objs alsa_write"
1014 audiod_cmdline_objs="$audiod_cmdline_objs alsa_write"
1016 if test "$have_ao" = "yes"; then
1017 audiod_errlist_objs="$audiod_errlist_objs ao_write"
1018 audiod_cmdline_objs="$audiod_cmdline_objs ao_write"
1020 if test "$have_samplerate" = "yes"; then
1021 audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav"
1022 audiod_cmdline_objs="$audiod_cmdline_objs resample_filter"
1024 audiod_objs="add_cmdline($audiod_cmdline_objs) $audiod_errlist_objs"
1025 AC_SUBST(audiod_objs, add_dot_o($audiod_objs))
1026 AC_DEFINE_UNQUOTED(INIT_AUDIOD_ERRLISTS, objlist_to_errlist($audiod_errlist_objs),
1027 errors used by para_audiod)
1029 enum="$(for i in $audiod_audio_formats; do printf "AUDIO_FORMAT_${i}, " | tr '[a-z]' '[A-Z]'; done)"
1030 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMATS_ENUM, $enum NUM_AUDIO_FORMATS,
1031 enum of audio formats supported by audiod)
1032 names="$(for i in $audiod_audio_formats; do printf \"$i\",' ' ; done)"
1033 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMAT_ARRAY, $names, array of audio formats supported by audiod)
1037 ########################################################################### fade
1038 if test -n "$mixers"; then
1040 executables="$executables fade"
1041 fade_errlist_objs="$fade_errlist_objs fade exec string fd version ggo"
1042 fade_cmdline_objs="fade"
1043 fade_objs="add_cmdline($fade_cmdline_objs) $fade_errlist_objs"
1044 AC_SUBST(fade_objs, add_dot_o($fade_objs))
1045 AC_SUBST(fade_ldflags, $fade_ldflags)
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)
1069 mixer_summary="supported mixers:: $mixers, default: $default_mixer"
1072 AC_MSG_WARN([no mixer support])
1073 mixer_summary="para_fade: no"
1075 ########################################################################### gui
1076 if test "$have_curses" = "yes"; then
1078 executables="$executables gui"
1079 gui_cmdline_objs="gui"
1093 gui_objs="add_cmdline($gui_cmdline_objs) $gui_errlist_objs"
1096 AC_MSG_WARN([no curses lib, cannot build para_gui])
1098 ######################################################################## filter
1107 filter_errlist_objs="
1131 filter_cmdline_objs="
1138 if test "$have_vorbis" = "yes"; then
1139 filters="$filters oggdec"
1140 filter_errlist_objs="$filter_errlist_objs oggdec_filter"
1142 if test "$have_speex" = "yes"; then
1143 filters="$filters spxdec"
1144 filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common"
1146 if test "$have_opus" = "yes"; then
1147 filters="$filters opusdec"
1148 filter_errlist_objs="$filter_errlist_objs opusdec_filter opus_common"
1150 if test "$have_faad" = "yes"; then
1151 filter_errlist_objs="$filter_errlist_objs aacdec_filter aac_common"
1152 filters="$filters aacdec"
1154 if test "$have_mad" = "yes"; then
1155 filter_cmdline_objs="$filter_cmdline_objs mp3dec_filter"
1156 filter_errlist_objs="$filter_errlist_objs mp3dec_filter"
1157 filters="$filters mp3dec"
1159 if test "$have_flac" = "yes"; then
1160 filter_errlist_objs="$filter_errlist_objs flacdec_filter"
1161 filters="$filters flacdec"
1163 if test "$have_samplerate" = "yes"; then
1164 filter_errlist_objs="$filter_errlist_objs resample_filter check_wav"
1165 filter_cmdline_objs="$filter_cmdline_objs resample_filter"
1166 filters="$filters resample"
1168 ########################################################################## recv
1198 if test "$have_vorbis" = "yes" || \
1199 test "$have_speex" = "yes" || \
1200 test "$have_opus" = "yes"; then
1201 recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
1203 if test "$have_vorbis" = "yes"; then
1204 recv_errlist_objs="$recv_errlist_objs ogg_afh"
1206 if test "$have_speex" = "yes"; then
1207 recv_errlist_objs="$recv_errlist_objs spx_afh spx_common"
1209 if test "$have_opus" = "yes"; then
1210 recv_errlist_objs="$recv_errlist_objs opus_afh opus_common"
1212 if test "$have_faad" = "yes"; then
1213 recv_errlist_objs="$recv_errlist_objs aac_afh aac_common"
1215 if test "$have_flac" = "yes"; then
1216 recv_errlist_objs="$recv_errlist_objs flac_afh"
1218 recv_objs="add_cmdline($recv_cmdline_objs) $recv_errlist_objs"
1219 AC_SUBST(recv_objs, add_dot_o($recv_objs))
1220 AC_DEFINE_UNQUOTED(INIT_RECV_ERRLISTS, objlist_to_errlist($recv_errlist_objs),
1221 errors used by para_recv)
1222 ########################################################################### afh
1223 afh_cmdline_objs="afh"
1236 if test "$have_vorbis" = "yes" || \
1237 test "$have_speex" = "yes" || \
1238 test "$have_opus" = "yes"; then
1239 afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
1241 if test "$have_vorbis" = "yes"; then
1242 afh_errlist_objs="$afh_errlist_objs ogg_afh"
1244 if test "$have_speex" = "yes"; then
1245 afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
1247 if test "$have_opus" = "yes"; then
1248 afh_errlist_objs="$afh_errlist_objs opus_afh opus_common"
1250 if test "$have_faad" = "yes"; then
1251 afh_errlist_objs="$afh_errlist_objs aac_common aac_afh"
1253 if test "$have_flac" = "yes"; then
1254 afh_errlist_objs="$afh_errlist_objs flac_afh"
1257 afh_objs="add_cmdline($afh_cmdline_objs) $afh_errlist_objs"
1259 AC_SUBST(afh_objs, add_dot_o($afh_objs))
1260 AC_DEFINE_UNQUOTED(INIT_AFH_ERRLISTS,
1261 objlist_to_errlist($afh_errlist_objs), errors used by para_afh)
1262 ########################################################################## play
1306 if test "$have_core_audio" = "yes"; then
1307 play_errlist_objs="$play_errlist_objs osx_write ipc"
1308 play_cmdline_objs="$play_cmdline_objs osx_write.cmdline"
1310 if test "$have_vorbis" = "yes" || \
1311 test "$have_speex" = "yes" || \
1312 test "$have_opus" = "yes"; then
1313 play_errlist_objs="$play_errlist_objs ogg_afh_common"
1315 if test "$have_vorbis" = "yes"; then
1316 play_errlist_objs="$play_errlist_objs oggdec_filter ogg_afh"
1318 if test "$have_speex" = "yes"; then
1319 play_errlist_objs="$play_errlist_objs spxdec_filter spx_afh spx_common"
1321 if test "$have_opus" = "yes"; then
1322 play_errlist_objs="$play_errlist_objs opusdec_filter opus_afh opus_common"
1324 if test "$have_faad" = "yes"; then
1325 play_errlist_objs="$play_errlist_objs aacdec_filter aac_afh aac_common"
1327 if test "$have_mad" = "yes"; then
1328 play_cmdline_objs="$play_cmdline_objs mp3dec_filter"
1329 play_errlist_objs="$play_errlist_objs mp3dec_filter"
1331 if test "$have_flac" = "yes"; then
1332 play_errlist_objs="$play_errlist_objs flacdec_filter flac_afh"
1334 if test "$have_oss" = "yes"; then
1335 play_errlist_objs="$play_errlist_objs oss_write"
1336 play_cmdline_objs="$play_cmdline_objs oss_write"
1338 if test "$have_alsa" = "yes"; then
1339 play_errlist_objs="$play_errlist_objs alsa_write"
1340 play_cmdline_objs="$play_cmdline_objs alsa_write"
1342 if test "$have_ao" = "yes"; then
1343 play_errlist_objs="$play_errlist_objs ao_write"
1344 play_cmdline_objs="$play_cmdline_objs ao_write"
1346 if test "$have_readline" = "yes"; then
1347 play_errlist_objs="$play_errlist_objs interactive"
1349 if test "$have_samplerate" = "yes"; then
1350 play_errlist_objs="$play_errlist_objs resample_filter check_wav"
1351 play_cmdline_objs="$play_cmdline_objs resample_filter"
1354 play_objs="add_cmdline($play_cmdline_objs) $play_errlist_objs"
1355 AC_SUBST(play_objs, add_dot_o($play_objs))
1356 AC_DEFINE_UNQUOTED(INIT_PLAY_ERRLISTS,
1357 objlist_to_errlist($play_errlist_objs), errors used by para_play)
1358 ######################################################################### write
1359 write_cmdline_objs="
1363 write_errlist_objs="
1378 default_writer="FILE_WRITE"
1380 if test "$have_core_audio" = "yes"; then
1381 write_errlist_objs="$write_errlist_objs osx_write ipc"
1382 write_cmdline_objs="$write_cmdline_objs osx_write.cmdline"
1383 writers="$writers osx"
1384 default_writer="OSX_WRITE"
1386 if test "$have_ao" = "yes"; then
1387 write_errlist_objs="$write_errlist_objs ao_write"
1388 write_cmdline_objs="$write_cmdline_objs ao_write"
1389 writers="$writers ao"
1390 default_writer="AO_WRITE"
1392 if test "$have_oss" = "yes"; then
1393 write_errlist_objs="$write_errlist_objs oss_write"
1394 write_cmdline_objs="$write_cmdline_objs oss_write"
1395 writers="$writers oss"
1396 default_writer="OSS_WRITE"
1398 if test "$have_alsa" = "yes"; then
1399 write_errlist_objs="$write_errlist_objs alsa_write"
1400 write_cmdline_objs="$write_cmdline_objs alsa_write"
1401 writers="$writers alsa"
1402 default_writer="ALSA_WRITE"
1404 write_objs="add_cmdline($write_cmdline_objs) $write_errlist_objs"
1405 AC_SUBST(write_objs, add_dot_o($write_objs))
1406 AC_DEFINE_UNQUOTED(INIT_WRITE_ERRLISTS,
1407 objlist_to_errlist($write_errlist_objs), errors used by para_write)
1408 enum="$(for i in $writers; do printf "${i}_WRITE, " | tr '[a-z]' '[A-Z]'; done)"
1409 AC_DEFINE_UNQUOTED(WRITER_ENUM, $enum NUM_SUPPORTED_WRITERS,
1410 enum of supported writers)
1411 AC_DEFINE_UNQUOTED(DEFAULT_WRITER, $default_writer, use this writer if none was specified)
1412 names="$(for i in $writers; do printf \"$i\",' ' ; done)"
1413 AC_DEFINE_UNQUOTED(WRITER_NAMES, $names, supported writer names)
1414 inits="$(for i in $writers; do printf 'extern void '$i'_write_init(struct writer *); '; done)"
1415 AC_DEFINE_UNQUOTED(DECLARE_WRITER_INITS, $inits, init functions of the supported writers)
1416 array="$(for i in $writers; do printf '{.init = '$i'_write_init},'; done)"
1417 AC_DEFINE_UNQUOTED(WRITER_ARRAY, $array, array of supported writers)
1418 ######################################################################## audioc
1419 audioc_cmdline_objs="audioc"
1420 audioc_errlist_objs="
1428 if test "$have_readline" = "yes"; then
1429 audioc_errlist_objs="$audioc_errlist_objs
1436 audioc_objs="add_cmdline($audioc_cmdline_objs) $audioc_errlist_objs"
1437 AC_SUBST(audioc_objs, add_dot_o($audioc_objs))
1438 AC_DEFINE_UNQUOTED(INIT_AUDIOC_ERRLISTS,
1439 objlist_to_errlist($audioc_errlist_objs), errors used by para_audioc)
1440 ############################################################# error2.h
1441 # these are always built
1444 $filter_errlist_objs
1445 $audioc_errlist_objs
1451 # optional executables
1452 if test "$build_server" = "yes"; then
1453 all_errlist_objs="$all_errlist_objs $server_errlist_objs"
1455 if test "$build_gui" = "yes"; then
1456 all_errlist_objs="$all_errlist_objs $gui_errlist_objs"
1458 if test "$build_fade" = "yes"; then
1459 all_errlist_objs="$all_errlist_objs $fade_errlist_objs"
1461 if test "$build_client" = "yes"; then
1462 all_errlist_objs="$all_errlist_objs $client_errlist_objs"
1464 if test "$build_audiod" = "yes"; then
1465 all_errlist_objs="$all_errlist_objs $audiod_errlist_objs"
1468 all_errlist_objs="$(echo $all_errlist_objs | tr ' ' '\n' | sort | uniq)"
1470 object_executable_matrix=
1471 for i in $executables; do
1472 eval objs=\$${i}_errlist_objs
1473 object_executable_matrix="$object_executable_matrix $i: $objs"
1475 # use echo to replace newlines by space
1476 AC_SUBST(object_executable_matrix, $(echo $object_executable_matrix))
1478 for obj in $all_errlist_objs; do
1479 SS="$SS SS_$(echo $obj | tr 'a-z' 'A-Z'),"
1481 AC_DEFINE_UNQUOTED(DEFINE_ERRLIST_OBJECT_ENUM,
1482 [enum {$SS NUM_SS}],
1483 [list of all objects that use the paraslash error facility]
1485 ################################################################## status items
1487 status_items="basename status num_played mtime bitrate frequency file_size
1488 status_flags format score techinfo afs_mode
1489 attributes_txt decoder_flags audiod_status play_time attributes_bitmap
1490 offset seconds_total stream_start current_time audiod_uptime image_id
1491 lyrics_id duration directory lyrics_name image_name path hash channels
1492 last_played num_chunks chunk_time amplification artist title year album
1496 for i in $status_items; do
1497 result="$result SI_$(echo $i | tr 'a-z' 'A-Z'), "
1499 AC_DEFINE_UNQUOTED(STATUS_ITEM_ENUM, [$result],
1500 [enum of all status items])
1503 for i in $status_items; do
1504 result="$result \"$i\", "
1506 AC_DEFINE_UNQUOTED(STATUS_ITEM_ARRAY, [$result],
1507 [char * array of all status items])
1509 AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers",
1510 [formats supported by para_server and para_afh])
1512 AC_SUBST(executables)
1514 filter_objs="add_cmdline($filter_cmdline_objs) $filter_errlist_objs"
1516 AC_SUBST(filter_objs, add_dot_o($filter_objs))
1517 AC_DEFINE_UNQUOTED(INIT_FILTER_ERRLISTS,
1518 objlist_to_errlist($filter_errlist_objs), errors used by para_filter)
1520 AC_SUBST(gui_objs, add_dot_o($gui_objs))
1521 AC_DEFINE_UNQUOTED(INIT_GUI_ERRLISTS,
1522 objlist_to_errlist($gui_errlist_objs), errors used by para_gui)
1524 enum="$(for i in $filters; do printf "${i}_FILTER, " | tr '[a-z]' '[A-Z]'; done)"
1525 AC_DEFINE_UNQUOTED(FILTER_ENUM, $enum NUM_SUPPORTED_FILTERS,
1526 enum of supported filters)
1527 inits="$(for i in $filters; do printf 'extern void '$i'_filter_init(struct filter *f); '; done)"
1528 AC_DEFINE_UNQUOTED(DECLARE_FILTER_INITS, $inits, init functions of the supported filters)
1529 array="$(for i in $filters; do printf '{.name = "'$i'", .init = '$i'_filter_init},'; done)"
1530 AC_DEFINE_UNQUOTED(FILTER_ARRAY, $array, array of supported filters)
1534 paraslash configuration:
1535 ~~~~~~~~~~~~~~~~~~~~~~~~
1536 unix socket credentials: $have_ucred
1537 readline (interactive CLIs): $have_readline
1538 audio formats handlers: $audio_format_handlers
1539 id3 version2 support: $have_libid3tag
1540 filters: $(echo $filters)
1544 para_server: $build_server
1545 para_gui: $build_gui
1546 para_fade: $build_fade
1547 para_client: $build_client
1548 para_audiod: $build_audiod