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 vorbis_ldflags="$vorbis_libs -lvorbis -lvorbisfile"
444 AC_SUBST(vorbis_ldflags)
446 if test "$have_speex" = "yes"; then
447 AC_DEFINE(HAVE_SPEEX, 1, define to 1 to turn on ogg/speex support)
448 AC_SUBST(speex_cppflags)
449 speex_ldflags="$speex_libs -lspeex"
450 AC_SUBST(speex_ldflags)
452 AC_MSG_WARN([no ogg/speex $msg])
454 if test "$have_opus" = "yes"; then
455 AC_DEFINE(HAVE_OPUS, 1, define to 1 to turn on ogg/opus support)
456 AC_SUBST(opus_cppflags)
457 opus_ldflags="$opus_libs -lopus"
458 AC_SUBST(opus_ldflags)
459 audio_format_handlers="$audio_format_handlers opus"
461 AC_MSG_WARN([no ogg/opus $msg])
463 CPPFLAGS="$OLD_CPPFLAGS"
464 LDFLAGS="$OLD_LDFLAGS"
466 ########################################################################### faad
468 OLD_CPPFLAGS="$CPPFLAGS"
469 OLD_LDFLAGS="$LDFLAGS"
471 AC_ARG_WITH(faad_headers, [AS_HELP_STRING(--with-faad-headers=dir,
472 [look for neaacdec.h also in dir])])
473 if test -n "$with_faad_headers"; then
474 faad_cppflags="-I$with_faad_headers"
475 CPPFLAGS="$CPPFLAGS $faad_cppflags"
477 AC_ARG_WITH(faad_libs, [AS_HELP_STRING(--with-faad-libs=dir,
478 [look for libfaad also in dir])])
479 if test -n "$with_faad_libs"; then
480 faad_libs="-L$with_faad_libs"
481 LDFLAGS="$LDFLAGS $faad_libs"
483 AC_CHECK_HEADER(neaacdec.h, [], have_faad=no)
484 AC_CHECK_LIB([faad], [NeAACDecOpen], [], have_faad=no)
485 if test "$have_faad" = "yes"; then
486 AC_DEFINE(HAVE_FAAD, 1, define to 1 if you want to build the aacdec filter)
487 AC_SUBST(faad_cppflags)
488 faad_ldflags="$faad_libs -lfaad"
489 AC_SUBST(faad_ldflags)
491 CPPFLAGS="$OLD_CPPFLAGS"
492 LDFLAGS="$OLD_LDFLAGS"
494 ########################################################################### mad
496 OLD_CPPFLAGS="$CPPFLAGS"
497 OLD_LDFLAGS="$LDFLAGS"
500 AC_ARG_WITH(mad_headers, [AS_HELP_STRING(--with-mad-headers=dir,
501 [look for mad.h also in dir])])
502 if test -n "$with_mad_headers"; then
503 mad_cppflags="-I$with_mad_headers"
504 CPPFLAGS="$CPPFLAGS $mad_cppflags"
506 AC_ARG_WITH(mad_libs, [AS_HELP_STRING(--with-mad-libs=dir,
507 [look for libmad also in dir])])
508 if test -n "$with_mad_libs"; then
509 mad_libs="-L$with_mad_libs"
510 LDFLAGS="$LDFLAGS $mad_libs"
512 AC_CHECK_HEADERS([mad.h], [], [
515 AC_CHECK_LIB([mad], [mad_stream_init], [], [
518 if test "$have_mad" = "yes"; then
519 AC_DEFINE(HAVE_MAD, 1, define to 1 if you want to build the mp3dec filter)
520 AC_SUBST(mad_cppflags)
521 mad_ldflags="$mad_libs -lmad"
522 AC_SUBST(mad_ldflags)
524 AC_MSG_WARN([no mp3dec support in para_audiod/para_filter])
526 CPPFLAGS="$OLD_CPPFLAGS"
527 LDFLAGS="$OLD_LDFLAGS"
529 ###################################################################### libid3tag
530 OLD_CPPFLAGS="$CPPFLAGS"
531 OLD_LDFLAGS="$LDFLAGS"
535 AC_ARG_WITH(id3tag_headers, [AS_HELP_STRING(--with-id3tag-headers=dir,
536 [look for id3tag header files also in dir])])
537 if test -n "$with_id3tag_headers"; then
538 id3tag_cppflags="-I$with_id3tag_headers"
539 CPPFLAGS="$CPPFLAGS $id3tag_cppflags"
541 AC_ARG_WITH(id3tag_libs, [AS_HELP_STRING(--with-id3tag-libs=dir,
542 [look for id3tag libs also in dir])])
543 if test -n "$with_id3tag_libs"; then
544 id3tag_libs="-L$with_id3tag_libs"
545 LDFLAGS="$LDFLAGS $id3tag_libs"
548 AC_MSG_CHECKING(for libid3tag)
549 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
552 struct id3_tag t = {.flags = 0};
553 ]])],[],[have_libid3tag=no])
554 AC_MSG_RESULT($have_libid3tag)
556 if test ${have_libid3tag} = yes; then
557 AC_DEFINE(HAVE_LIBID3TAG, 1, define to 1 you have libid3tag)
558 AC_SUBST(id3tag_cppflags)
559 AC_SUBST(id3tag_ldflags, "$id3tag_libs -lid3tag -lz")
561 CPPFLAGS="$OLD_CPPFLAGS"
562 LDFLAGS="$OLD_LDFLAGS"
564 ########################################################################### flac
565 OLD_CPPFLAGS="$CPPFLAGS"
566 OLD_LDFLAGS="$LDFLAGS"
570 AC_ARG_WITH(flac_headers, [AS_HELP_STRING(--with-flac-headers=dir,
571 [look for flac headers also in dir])])
572 if test -n "$with_flac_headers"; then
573 flac_cppflags="-I$with_flac_headers"
574 CPPFLAGS="$CPPFLAGS $flac_cppflags"
576 AC_ARG_WITH(flac_libs, [AS_HELP_STRING(--with-flac-libs=dir,
577 [look for flac libs also in dir])])
578 if test -n "$with_flac_libs"; then
579 flac_libs="-L$with_flac_libs"
580 LDFLAGS="$LDFLAGS $flac_libs"
582 AC_CHECK_HEADER(FLAC/stream_decoder.h, [], have_flac=no)
583 AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], have_flac=no, -logg -lm)
584 if test "$have_flac" = "yes"; then
585 AC_DEFINE(HAVE_FLAC, 1, define to 1 if you want to build the flacdec filter)
586 AC_SUBST(flac_cppflags)
587 flac_ldflags="$flac_libs -lFLAC"
588 AC_SUBST(flac_ldflags)
590 AC_MSG_WARN([no flac support in para_audiod/para_filter/para_afh/para_server])
592 CPPFLAGS="$OLD_CPPFLAGS"
593 LDFLAGS="$OLD_LDFLAGS"
595 ########################################################################### oss
596 OLD_CPPFLAGS="$CPPFLAGS"
597 OLD_LDFLAGS="$LDFLAGS"
601 msg="=> will not build oss writer"
603 AC_CHECK_HEADER(sys/soundcard.h, [
604 AC_CHECK_LIB(ossaudio, _oss_ioctl, [
605 oss_ldflags="-lossaudio"
606 AC_SUBST(oss_ldflags)
612 AC_MSG_WARN([no sys/soundcard.h $msg])
615 CPPFLAGS="$OLD_CPPFLAGS"
616 LDFLAGS="$OLD_LDFLAGS"
619 ########################################################################### alsa
620 OLD_CPPFLAGS="$CPPFLAGS"
621 OLD_LDFLAGS="$LDFLAGS"
624 msg="=> no alsa support for para_audiod/para_write"
625 if test "$OSTYPE" != "Linux"; then
630 if test "$have_alsa" = "yes"; then
631 AC_CHECK_HEADERS([alsa/asoundlib.h], [], [
633 AC_MSG_WARN([no alsa/asoundlib $msg])
637 if test "$have_alsa" = "yes"; then
638 AC_CHECK_LIB([asound], [snd_pcm_open], [], [
640 AC_MSG_WARN([no libasound $msg])
644 if test "$have_alsa" = "yes"; then
645 alsa_ldflags="-lasound"
646 AC_SUBST(alsa_ldflags)
649 CPPFLAGS="$OLD_CPPFLAGS"
650 LDFLAGS="$OLD_LDFLAGS"
652 ########################################################################### libao
653 OLD_CPPFLAGS="$CPPFLAGS"
654 OLD_LDFLAGS="$LDFLAGS"
658 AC_ARG_WITH(ao_headers, [AS_HELP_STRING(--with-ao-headers=dir,
659 [look for ao/ao.h also in dir])])
660 if test -n "$with_ao_headers"; then
661 ao_cppflags="-I$with_ao_headers"
662 CPPFLAGS="$CPPFLAGS $ao_cppflags"
664 AC_ARG_WITH(ao_libs, [AS_HELP_STRING(--with-ao-libs=dir,
665 [look for libao also in dir])])
666 if test -n "$with_ao_libs"; then
667 ao_libs="-L$with_ao_libs"
668 LDFLAGS="$LDFLAGS $ao_libs"
670 msg="no libao support for para_audiod/para_write"
671 AC_CHECK_HEADERS([ao/ao.h], [
674 AC_MSG_WARN([ao.h not found, $msg])
676 if test "$have_ao" = "yes"; then
677 AC_CHECK_LIB([ao], [ao_initialize], [], [
679 AC_MSG_WARN([ao lib not found or not working, $msg])
682 if test "$have_ao" = "yes"; then
683 AC_CHECK_HEADERS([pthread.h], [
686 AC_MSG_WARN([pthread.h not found, $msg])
689 if test "$have_ao" = "yes"; then
690 AC_CHECK_LIB([pthread], [pthread_create], [], [
692 AC_MSG_WARN([pthread lib not found or not working, $msg])
695 if test "$have_ao" = "yes"; then
696 AC_SUBST(ao_cppflags)
697 ao_ldflags="$ao_libs -lao -lpthread"
701 CPPFLAGS="$OLD_CPPFLAGS"
702 LDFLAGS="$OLD_LDFLAGS"
704 ############################################################# readline
705 OLD_CPPFLAGS="$CPPFLAGS"
706 OLD_LDFLAGS="$LDFLAGS"
710 AC_ARG_WITH(readline_headers, [AS_HELP_STRING(--with-readline-headers=dir,
711 [look for libreadline header files also in dir])])
712 if test -n "$with_readline_headers"; then
713 readline_cppflags="-I$with_readline_headers"
714 CPPFLAGS="$CPPFLAGS $readline_cppflags"
717 AC_ARG_WITH(readline_libs, [AS_HELP_STRING(--with-readline-libs=dir,
718 [look for readline library also in dir])])
719 if test -n "$with_readline_libs"; then
720 readline_libs="-L$with_readline_libs"
721 LDFLAGS="$LDFLAGS $readline_libs"
723 msg="no interactive cli support"
724 AC_CHECK_HEADERS([readline/readline.h], [
727 AC_MSG_WARN([readline/readline.h not found, $msg])
730 if test "$have_readline" = "yes"; then
731 readline_ldflags="$readline_libs -lreadline"
732 AC_SEARCH_LIBS([rl_free_keymap], [readline], [], [have_readline="no"])
733 if test "$have_readline" = "no"; then # try with -lcurses
735 AC_MSG_NOTICE([trying again with -lcurses])
736 unset ac_cv_search_rl_free_keymap 2> /dev/null
737 AC_SEARCH_LIBS([rl_free_keymap], [readline], [
739 readline_ldflags="$readline_ldflags -lcurses"
742 if test "$have_readline" = "no"; then # try with -ltermcap
744 AC_MSG_NOTICE([trying again with -ltermcap])
745 unset ac_cv_search_rl_free_keymap 2> /dev/null
746 AC_SEARCH_LIBS([rl_free_keymap], [readline], [
748 readline_ldflags="$readline_ldflags -ltermcap"
753 if test "$have_readline" = "yes"; then
755 AC_SUBST(readline_cppflags)
756 AC_SUBST(readline_ldflags)
757 AC_DEFINE(HAVE_READLINE, 1, define to 1 to turn on readline support)
759 AC_MSG_WARN([libreadline not found or unusable])
761 CPPFLAGS="$OLD_CPPFLAGS"
762 LDFLAGS="$OLD_LDFLAGS"
764 ############################################################# libsamplerate
765 OLD_CPPFLAGS="$CPPFLAGS"
766 OLD_LDFLAGS="$LDFLAGS"
769 have_samplerate="yes"
770 AC_ARG_WITH(samplerate_headers, [AS_HELP_STRING(--with-samplerate-headers=dir,
771 [look for samplerate headers also in dir])])
772 if test -n "$with_samplerate_headers"; then
773 samplerate_cppflags="-I$with_samplerate_headers"
774 CPPFLAGS="$CPPFLAGS $samplerate_cppflags"
776 AC_ARG_WITH(samplerate_libs, [AS_HELP_STRING(--with-samplerate-libs=dir,
777 [look for samplerate libs also in dir])])
778 if test -n "$with_samplerate_libs"; then
779 samplerate_libs="-L$with_samplerate_libs"
780 LDFLAGS="$LDFLAGS $samplerate_libs"
783 AC_CHECK_HEADER(samplerate.h, [], have_samplerate=no)
784 AC_CHECK_LIB([samplerate], [src_process], [], have_samplerate=no, [])
786 if test "$have_samplerate" = "yes"; then
787 AC_SUBST(samplerate_cppflags)
788 samplerate_ldflags="$samplerate_libs -lsamplerate"
789 AC_SUBST(samplerate_ldflags)
791 AC_MSG_WARN([no resample support in para_audiod/para_filter])
793 CPPFLAGS="$OLD_CPPFLAGS"
794 LDFLAGS="$OLD_LDFLAGS"
796 ######################################################################### server
797 if test \( "$have_openssl" = "yes" -o "$have_gcrypt" = "yes" \) \
798 -a "$have_osl" = "yes" ; then
801 executables="$executables server"
802 server_cmdline_objs="server"
803 server_errlist_objs="
842 if test "$have_openssl" = "yes"; then
843 server_errlist_objs="$server_errlist_objs crypt"
845 if test "$have_gcrypt" = "yes"; then
846 server_errlist_objs="$server_errlist_objs gcrypt"
848 if test "$have_vorbis" = "yes" || \
849 test "$have_speex" = "yes" || \
850 test "$have_opus" = "yes"; then
851 server_errlist_objs="$server_errlist_objs ogg_afh_common"
853 if test "$have_vorbis" = "yes"; then
854 server_errlist_objs="$server_errlist_objs ogg_afh"
856 if test "$have_speex" = "yes"; then
857 server_errlist_objs="$server_errlist_objs spx_afh spx_common"
859 if test "$have_opus" = "yes"; then
860 server_errlist_objs="$server_errlist_objs opus_afh opus_common"
862 if test "$have_faad" = "yes"; then
863 server_errlist_objs="$server_errlist_objs aac_afh aac_common"
865 if test "$have_flac" = "yes"; then
866 server_errlist_objs="$server_errlist_objs flac_afh"
868 server_objs="add_cmdline($server_cmdline_objs) $server_errlist_objs"
869 AC_SUBST(server_objs, add_dot_o($server_objs))
870 AC_DEFINE_UNQUOTED(INIT_SERVER_ERRLISTS,
871 objlist_to_errlist($server_errlist_objs), errors used by para_server)
875 ############################################################# client
876 if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then
878 executables="$executables client"
879 client_cmdline_objs="client"
880 client_errlist_objs="
896 if test "$have_openssl" = "yes"; then
897 client_errlist_objs="$client_errlist_objs crypt"
899 if test "$have_gcrypt" = "yes"; then
900 client_errlist_objs="$client_errlist_objs gcrypt"
902 if test "$have_readline" = "yes"; then
903 client_errlist_objs="$client_errlist_objs interactive"
905 client_objs="add_cmdline($client_cmdline_objs) $client_errlist_objs"
906 AC_SUBST(client_objs, add_dot_o($client_objs))
907 AC_DEFINE_UNQUOTED(INIT_CLIENT_ERRLISTS,
908 objlist_to_errlist($client_errlist_objs), errors used by para_client)
912 ############################################################# audiod
913 if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then
915 executables="$executables audiod"
916 audiod_audio_formats="wma"
917 audiod_cmdline_objs="$audiod_cmdline_objs
929 audiod_errlist_objs="$audiod_errlist_objs
967 if test "$have_openssl" = "yes"; then
968 audiod_errlist_objs="$audiod_errlist_objs crypt"
970 if test "$have_gcrypt" = "yes"; then
971 audiod_errlist_objs="$audiod_errlist_objs gcrypt"
973 if test "$have_core_audio" = "yes"; then
974 audiod_errlist_objs="$audiod_errlist_objs osx_write ipc"
975 audiod_cmdline_objs="$audiod_cmdline_objs osx_write.cmdline"
977 if test "$have_vorbis" = "yes"; then
978 audiod_errlist_objs="$audiod_errlist_objs oggdec_filter"
979 audiod_audio_formats="$audiod_audio_formats ogg"
981 if test "$have_speex" = "yes"; then
982 audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common"
983 audiod_audio_formats="$audiod_audio_formats spx"
985 if test "$have_opus" = "yes"; then
986 audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common"
987 audiod_audio_formats="$audiod_audio_formats opus"
989 if test "$have_faad" = "yes"; then
990 audiod_errlist_objs="$audiod_errlist_objs aacdec_filter aac_common"
991 audiod_audio_formats="$audiod_audio_formats aac"
993 if test "$have_mad" = "yes"; then
994 audiod_audio_formats="$audiod_audio_formats mp3"
995 audiod_cmdline_objs="$audiod_cmdline_objs mp3dec_filter"
996 audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter"
998 if test "$have_flac" = "yes"; then
999 audiod_errlist_objs="$audiod_errlist_objs flacdec_filter"
1000 audiod_audio_formats="$audiod_audio_formats flac"
1002 if test "$have_oss" = "yes"; then
1003 audiod_errlist_objs="$audiod_errlist_objs oss_write"
1004 audiod_cmdline_objs="$audiod_cmdline_objs oss_write"
1006 if test "$have_alsa" = "yes"; then
1007 audiod_errlist_objs="$audiod_errlist_objs alsa_write"
1008 audiod_cmdline_objs="$audiod_cmdline_objs alsa_write"
1010 if test "$have_ao" = "yes"; then
1011 audiod_errlist_objs="$audiod_errlist_objs ao_write"
1012 audiod_cmdline_objs="$audiod_cmdline_objs ao_write"
1014 if test "$have_samplerate" = "yes"; then
1015 audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav"
1016 audiod_cmdline_objs="$audiod_cmdline_objs resample_filter"
1018 audiod_objs="add_cmdline($audiod_cmdline_objs) $audiod_errlist_objs"
1019 AC_SUBST(audiod_objs, add_dot_o($audiod_objs))
1020 AC_DEFINE_UNQUOTED(INIT_AUDIOD_ERRLISTS, objlist_to_errlist($audiod_errlist_objs),
1021 errors used by para_audiod)
1023 enum="$(for i in $audiod_audio_formats; do printf "AUDIO_FORMAT_${i}, " | tr '[a-z]' '[A-Z]'; done)"
1024 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMATS_ENUM, $enum NUM_AUDIO_FORMATS,
1025 enum of audio formats supported by audiod)
1026 names="$(for i in $audiod_audio_formats; do printf \"$i\",' ' ; done)"
1027 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMAT_ARRAY, $names, array of audio formats supported by audiod)
1031 ########################################################################### fade
1032 if test "$have_oss" = "yes" -o "$have_alsa" = "yes"; then
1034 executables="$executables fade"
1035 fade_cmdline_objs="fade"
1036 fade_errlist_objs="fade exec string fd version ggo"
1037 if test "$have_oss" = "yes"; then
1038 fade_errlist_objs="$fade_errlist_objs oss_mix"
1039 mixers="${mixers}oss "
1040 default_mixer="OSS_MIX"
1042 if test "$have_alsa" = "yes"; then
1043 fade_errlist_objs="$fade_errlist_objs alsa_mix"
1044 mixers="${mixers}alsa "
1045 default_mixer="ALSA_MIX"
1047 fade_objs="add_cmdline($fade_cmdline_objs) $fade_errlist_objs"
1048 AC_SUBST(fade_objs, add_dot_o($fade_objs))
1049 AC_DEFINE_UNQUOTED(INIT_FADE_ERRLISTS,
1050 objlist_to_errlist($fade_errlist_objs),
1051 errors used by para_fade)
1053 for i in $mixers; do
1054 printf "${i}_MIX, " | tr '[a-z]' '[A-Z]'
1057 AC_DEFINE_UNQUOTED(MIXER_ENUM, $enum NUM_SUPPORTED_MIXERS,
1058 enum of supported mixers)
1059 AC_DEFINE_UNQUOTED(DEFAULT_MIXER, $default_mixer,
1060 use this mixer if none was specified)
1061 names="$(for i in $mixers; do printf \"$i\",' ' ; done)"
1062 AC_DEFINE_UNQUOTED(MIXER_NAMES, $names, supported mixer names)
1064 for i in $mixers; do
1065 printf 'extern void '$i'_mix_init(struct mixer *); '
1068 AC_DEFINE_UNQUOTED(DECLARE_MIXER_INITS, $inits,
1069 init functions of the supported mixers)
1070 array="$(for i in $mixers; do printf '{.init = '$i'_mix_init},'; done)"
1071 AC_DEFINE_UNQUOTED(MIXER_ARRAY, $array, array of supported mixers)
1074 AC_MSG_WARN([no mixer support])
1076 ########################################################################### gui
1077 if test "$have_curses" = "yes"; then
1079 executables="$executables gui"
1080 gui_cmdline_objs="gui"
1094 gui_objs="add_cmdline($gui_cmdline_objs) $gui_errlist_objs"
1095 AC_SUBST(gui_objs, add_dot_o($gui_objs))
1096 AC_DEFINE_UNQUOTED(INIT_GUI_ERRLISTS,
1097 objlist_to_errlist($gui_errlist_objs), errors used by para_gui)
1100 AC_MSG_WARN([no curses lib, cannot build para_gui])
1102 ######################################################################## filter
1112 filter_errlist_objs="
1137 filter_cmdline_objs="
1145 if test "$have_vorbis" = "yes"; then
1146 filters="$filters oggdec"
1147 filter_errlist_objs="$filter_errlist_objs oggdec_filter"
1149 if test "$have_speex" = "yes"; then
1150 filters="$filters spxdec"
1151 filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common"
1153 if test "$have_opus" = "yes"; then
1154 filters="$filters opusdec"
1155 filter_errlist_objs="$filter_errlist_objs opusdec_filter opus_common"
1157 if test "$have_faad" = "yes"; then
1158 filter_errlist_objs="$filter_errlist_objs aacdec_filter aac_common"
1159 filters="$filters aacdec"
1161 if test "$have_mad" = "yes"; then
1162 filter_cmdline_objs="$filter_cmdline_objs mp3dec_filter"
1163 filter_errlist_objs="$filter_errlist_objs mp3dec_filter"
1164 filters="$filters mp3dec"
1166 if test "$have_flac" = "yes"; then
1167 filter_errlist_objs="$filter_errlist_objs flacdec_filter"
1168 filters="$filters flacdec"
1170 if test "$have_samplerate" = "yes"; then
1171 filter_errlist_objs="$filter_errlist_objs resample_filter check_wav"
1172 filter_cmdline_objs="$filter_cmdline_objs resample_filter"
1173 filters="$filters resample"
1175 filter_objs="add_cmdline($filter_cmdline_objs) $filter_errlist_objs"
1177 AC_SUBST(filter_objs, add_dot_o($filter_objs))
1178 AC_DEFINE_UNQUOTED(INIT_FILTER_ERRLISTS,
1179 objlist_to_errlist($filter_errlist_objs), errors used by para_filter)
1181 enum="$(for i in $filters; do printf "${i}_FILTER, " | tr '[a-z]' '[A-Z]'; done)"
1182 AC_DEFINE_UNQUOTED(FILTER_ENUM, $enum NUM_SUPPORTED_FILTERS,
1183 enum of supported filters)
1184 inits="$(for i in $filters; do printf 'extern void '$i'_filter_init(struct filter *f); '; done)"
1185 AC_DEFINE_UNQUOTED(DECLARE_FILTER_INITS, $inits, init functions of the supported filters)
1186 array="$(for i in $filters; do printf '{.name = "'$i'", .init = '$i'_filter_init},'; done)"
1187 AC_DEFINE_UNQUOTED(FILTER_ARRAY, $array, array of supported filters)
1188 ########################################################################## recv
1218 if test "$have_vorbis" = "yes" || \
1219 test "$have_speex" = "yes" || \
1220 test "$have_opus" = "yes"; then
1221 recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
1223 if test "$have_vorbis" = "yes"; then
1224 recv_errlist_objs="$recv_errlist_objs ogg_afh"
1226 if test "$have_speex" = "yes"; then
1227 recv_errlist_objs="$recv_errlist_objs spx_afh spx_common"
1229 if test "$have_opus" = "yes"; then
1230 recv_errlist_objs="$recv_errlist_objs opus_afh opus_common"
1232 if test "$have_faad" = "yes"; then
1233 recv_errlist_objs="$recv_errlist_objs aac_afh aac_common"
1235 if test "$have_flac" = "yes"; then
1236 recv_errlist_objs="$recv_errlist_objs flac_afh"
1238 recv_objs="add_cmdline($recv_cmdline_objs) $recv_errlist_objs"
1239 AC_SUBST(recv_objs, add_dot_o($recv_objs))
1240 AC_DEFINE_UNQUOTED(INIT_RECV_ERRLISTS, objlist_to_errlist($recv_errlist_objs),
1241 errors used by para_recv)
1242 ########################################################################### afh
1243 audio_format_handlers="mp3 wma"
1244 afh_cmdline_objs="afh"
1257 if test "$have_vorbis" = "yes" || \
1258 test "$have_speex" = "yes" || \
1259 test "$have_opus" = "yes"; then
1260 afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
1262 if test "$have_vorbis" = "yes"; then
1263 afh_errlist_objs="$afh_errlist_objs ogg_afh"
1264 audio_format_handlers="$audio_format_handlers ogg"
1266 if test "$have_speex" = "yes"; then
1267 afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
1268 audio_format_handlers="$audio_format_handlers spx"
1270 if test "$have_opus" = "yes"; then
1271 afh_errlist_objs="$afh_errlist_objs opus_afh opus_common"
1273 if test "$have_faad" = "yes"; then
1274 afh_errlist_objs="$afh_errlist_objs aac_common aac_afh"
1275 audio_format_handlers="$audio_format_handlers aac"
1277 if test "$have_flac" = "yes"; then
1278 afh_errlist_objs="$afh_errlist_objs flac_afh"
1279 audio_format_handlers="$audio_format_handlers flac"
1282 afh_objs="add_cmdline($afh_cmdline_objs) $afh_errlist_objs"
1284 AC_SUBST(afh_objs, add_dot_o($afh_objs))
1285 AC_DEFINE_UNQUOTED(INIT_AFH_ERRLISTS,
1286 objlist_to_errlist($afh_errlist_objs), errors used by para_afh)
1287 ########################################################################## play
1333 if test "$have_core_audio" = "yes"; then
1334 play_errlist_objs="$play_errlist_objs osx_write ipc"
1335 play_cmdline_objs="$play_cmdline_objs osx_write.cmdline"
1337 if test "$have_vorbis" = "yes" || \
1338 test "$have_speex" = "yes" || \
1339 test "$have_opus" = "yes"; then
1340 play_errlist_objs="$play_errlist_objs ogg_afh_common"
1342 if test "$have_vorbis" = "yes"; then
1343 play_errlist_objs="$play_errlist_objs oggdec_filter ogg_afh"
1345 if test "$have_speex" = "yes"; then
1346 play_errlist_objs="$play_errlist_objs spxdec_filter spx_afh spx_common"
1348 if test "$have_opus" = "yes"; then
1349 play_errlist_objs="$play_errlist_objs opusdec_filter opus_afh opus_common"
1351 if test "$have_faad" = "yes"; then
1352 play_errlist_objs="$play_errlist_objs aacdec_filter aac_afh aac_common"
1354 if test "$have_mad" = "yes"; then
1355 play_cmdline_objs="$play_cmdline_objs mp3dec_filter"
1356 play_errlist_objs="$play_errlist_objs mp3dec_filter"
1358 if test "$have_flac" = "yes"; then
1359 play_errlist_objs="$play_errlist_objs flacdec_filter flac_afh"
1361 if test "$have_oss" = "yes"; then
1362 play_errlist_objs="$play_errlist_objs oss_write"
1363 play_cmdline_objs="$play_cmdline_objs oss_write"
1365 if test "$have_alsa" = "yes"; then
1366 play_errlist_objs="$play_errlist_objs alsa_write"
1367 play_cmdline_objs="$play_cmdline_objs alsa_write"
1369 if test "$have_ao" = "yes"; then
1370 play_errlist_objs="$play_errlist_objs ao_write"
1371 play_cmdline_objs="$play_cmdline_objs ao_write"
1373 if test "$have_readline" = "yes"; then
1374 play_errlist_objs="$play_errlist_objs interactive"
1376 if test "$have_samplerate" = "yes"; then
1377 play_errlist_objs="$play_errlist_objs resample_filter check_wav"
1378 play_cmdline_objs="$play_cmdline_objs resample_filter"
1381 play_objs="add_cmdline($play_cmdline_objs) $play_errlist_objs"
1382 AC_SUBST(play_objs, add_dot_o($play_objs))
1383 AC_DEFINE_UNQUOTED(INIT_PLAY_ERRLISTS,
1384 objlist_to_errlist($play_errlist_objs), errors used by para_play)
1385 ######################################################################### write
1386 write_cmdline_objs="
1390 write_errlist_objs="
1405 default_writer="FILE_WRITE"
1407 if test "$have_core_audio" = "yes"; then
1408 write_errlist_objs="$write_errlist_objs osx_write ipc"
1409 write_cmdline_objs="$write_cmdline_objs osx_write.cmdline"
1410 writers="$writers osx"
1411 default_writer="OSX_WRITE"
1413 if test "$have_ao" = "yes"; then
1414 write_errlist_objs="$write_errlist_objs ao_write"
1415 write_cmdline_objs="$write_cmdline_objs ao_write"
1416 writers="$writers ao"
1417 default_writer="AO_WRITE"
1419 if test "$have_oss" = "yes"; then
1420 write_errlist_objs="$write_errlist_objs oss_write"
1421 write_cmdline_objs="$write_cmdline_objs oss_write"
1422 writers="$writers oss"
1423 default_writer="OSS_WRITE"
1425 if test "$have_alsa" = "yes"; then
1426 write_errlist_objs="$write_errlist_objs alsa_write"
1427 write_cmdline_objs="$write_cmdline_objs alsa_write"
1428 writers="$writers alsa"
1429 default_writer="ALSA_WRITE"
1431 write_objs="add_cmdline($write_cmdline_objs) $write_errlist_objs"
1432 AC_SUBST(write_objs, add_dot_o($write_objs))
1433 AC_DEFINE_UNQUOTED(INIT_WRITE_ERRLISTS,
1434 objlist_to_errlist($write_errlist_objs), errors used by para_write)
1435 enum="$(for i in $writers; do printf "${i}_WRITE, " | tr '[a-z]' '[A-Z]'; done)"
1436 AC_DEFINE_UNQUOTED(WRITER_ENUM, $enum NUM_SUPPORTED_WRITERS,
1437 enum of supported writers)
1438 AC_DEFINE_UNQUOTED(DEFAULT_WRITER, $default_writer, use this writer if none was specified)
1439 names="$(for i in $writers; do printf \"$i\",' ' ; done)"
1440 AC_DEFINE_UNQUOTED(WRITER_NAMES, $names, supported writer names)
1441 inits="$(for i in $writers; do printf 'extern void '$i'_write_init(struct writer *); '; done)"
1442 AC_DEFINE_UNQUOTED(DECLARE_WRITER_INITS, $inits, init functions of the supported writers)
1443 array="$(for i in $writers; do printf '{.init = '$i'_write_init},'; done)"
1444 AC_DEFINE_UNQUOTED(WRITER_ARRAY, $array, array of supported writers)
1445 ######################################################################## audioc
1446 audioc_cmdline_objs="audioc"
1447 audioc_errlist_objs="
1455 if test "$have_readline" = "yes"; then
1456 audioc_errlist_objs="$audioc_errlist_objs
1463 audioc_objs="add_cmdline($audioc_cmdline_objs) $audioc_errlist_objs"
1464 AC_SUBST(audioc_objs, add_dot_o($audioc_objs))
1465 AC_DEFINE_UNQUOTED(INIT_AUDIOC_ERRLISTS,
1466 objlist_to_errlist($audioc_errlist_objs), errors used by para_audioc)
1467 ############################################################# error2.h
1468 # these are always built
1471 $filter_errlist_objs
1472 $audioc_errlist_objs
1478 # optional executables
1479 if test "$build_server" = "yes"; then
1480 all_errlist_objs="$all_errlist_objs $server_errlist_objs"
1482 if test "$build_gui" = "yes"; then
1483 all_errlist_objs="$all_errlist_objs $gui_errlist_objs"
1485 if test "$build_fade" = "yes"; then
1486 all_errlist_objs="$all_errlist_objs $fade_errlist_objs"
1488 if test "$build_client" = "yes"; then
1489 all_errlist_objs="$all_errlist_objs $client_errlist_objs"
1491 if test "$build_audiod" = "yes"; then
1492 all_errlist_objs="$all_errlist_objs $audiod_errlist_objs"
1495 all_errlist_objs="$(echo $all_errlist_objs | tr ' ' '\n' | sort | uniq)"
1497 object_executable_matrix=
1498 for i in $executables; do
1499 eval objs=\$${i}_errlist_objs
1500 object_executable_matrix="$object_executable_matrix $i: $objs"
1502 # use echo to replace newlines by space
1503 AC_SUBST(object_executable_matrix, $(echo $object_executable_matrix))
1505 for obj in $all_errlist_objs; do
1506 SS="$SS SS_$(echo $obj | tr 'a-z' 'A-Z'),"
1508 AC_DEFINE_UNQUOTED(DEFINE_ERRLIST_OBJECT_ENUM,
1509 [enum {$SS NUM_SS}],
1510 [list of all objects that use the paraslash error facility]
1512 ################################################################## status items
1514 status_items="basename status num_played mtime bitrate frequency file_size
1515 status_flags format score techinfo afs_mode
1516 attributes_txt decoder_flags audiod_status play_time attributes_bitmap
1517 offset seconds_total stream_start current_time audiod_uptime image_id
1518 lyrics_id duration directory lyrics_name image_name path hash channels
1519 last_played num_chunks chunk_time amplification artist title year album
1523 for i in $status_items; do
1524 result="$result SI_$(echo $i | tr 'a-z' 'A-Z'), "
1526 AC_DEFINE_UNQUOTED(STATUS_ITEM_ENUM, [$result],
1527 [enum of all status items])
1530 for i in $status_items; do
1531 result="$result \"$i\", "
1533 AC_DEFINE_UNQUOTED(STATUS_ITEM_ARRAY, [$result],
1534 [char * array of all status items])
1536 AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers",
1537 [formats supported by para_server and para_afh])
1539 AC_SUBST(executables)
1543 paraslash configuration:
1544 ~~~~~~~~~~~~~~~~~~~~~~~~
1545 unix socket credentials: $have_ucred
1546 readline (interactive CLIs): $have_readline
1547 audio formats handlers: $audio_format_handlers
1548 id3 version2 support: $have_libid3tag
1549 filters: $(echo $filters)
1552 para_fade: $build_fade
1553 para_server: $build_server
1554 para_gui: $build_gui
1555 para_fade: $build_fade
1556 para_client: $build_client
1557 para_audiod: $build_audiod