2 # Process this file with autoconf to produce a configure script.
7 AC_INIT(paraslash, [git], maan@systemlinux.org)
8 AC_CONFIG_HEADER([config.h])
10 AC_PATH_PROG(UNAMEPATH, uname, no)
11 if test "$UNAMEPATH" = "no"; then
12 AC_MSG_ERROR(unable to determine system type)
14 AC_MSG_CHECKING(os type)
15 OSTYPE="`$UNAMEPATH -s`"
16 AC_MSG_RESULT("$OSTYPE")
18 if test "$OSTYPE" = "SunOS"; then
19 # needed on SunOS for socket magic
20 arch_cppflags="-D_XOPEN_SOURCE=500 -D__EXTENSIONS__"
21 AC_SUBST(arch_cppflags)
26 AC_PATH_PROG([gengetopt], [gengetopt])
27 test -z "$gengetopt" && AC_MSG_ERROR(
28 [gengetopt is required to build this package])
30 AC_PATH_PROG([help2man], [help2man])
31 test -z "$help2man" && AC_MSG_ERROR(
32 [help2man is required to build this package])
43 AC_CHECK_HEADERS([arpa/inet.h ctype.h fcntl.h limits.h netdb.h netinet/in.h \
44 stdlib.h string.h sys/socket.h sys/time.h sys/timeb.h sys/un.h \
45 sys/ipc.h unistd.h utime.h stddef.h],
46 [], [AC_MSG_ERROR([$ac_header not found])])
48 # Checks for typedefs, structures, and compiler characteristics.
68 # Checks for library functions.
70 AC_PROG_GCC_TRADITIONAL
76 AC_FUNC_SELECT_ARGTYPES
84 AC_CHECK_FUNCS([atexit dup2 memchr memmove memset \
85 regcomp select strchr strdup strerror strstr strtol uname \
86 fchdir gettimeofday localtime_r munmap strcasecmp strcspn \
87 strncasecmp strrchr strspn alarm mkdir inet_ntoa socket], [],
88 [AC_MSG_ERROR([function not found, cannot live without it])])
92 AC_DEFUN([add_cmdline],[$(for i in $@; do printf "${i}.cmdline "; done)])
95 all_errlist_objs="mp3_afh afh_common net string signal time daemon
96 stat afh fade amp_filter fd ringbuffer sched audiod
97 grab_client filter_common wav_filter compress_filter http_recv
98 dccp_recv recv_common write_common file_write audiod_command
99 client_common recv stdout filter stdin audioc write client
100 exec send_common ggo udp_recv color fec fecdec_filter
101 prebuffer_filter audiod_command_list bitstream imdct
102 wma_afh wma_common wmadec_filter buffer_tree crypt_common
105 executables="recv filter audioc write client afh audiod"
107 recv_cmdline_objs="add_cmdline(recv http_recv dccp_recv udp_recv)"
109 recv_errlist_objs="http_recv recv_common recv time string net dccp_recv
110 fd sched stdout ggo udp_recv buffer_tree"
113 filter_cmdline_objs="add_cmdline(filter compress_filter amp_filter prebuffer_filter)"
114 filter_errlist_objs="filter_common wav_filter compress_filter filter string
115 stdin stdout sched fd amp_filter ggo fecdec_filter fec
116 prebuffer_filter time bitstream imdct wma_common wmadec_filter buffer_tree"
118 filters=" compress wav amp fecdec wmadec prebuffer"
120 audioc_cmdline_objs="add_cmdline(audioc)"
121 audioc_errlist_objs="audioc string net fd"
124 audiod_cmdline_objs="add_cmdline(audiod compress_filter http_recv dccp_recv file_write client amp_filter udp_recv prebuffer_filter)"
125 audiod_errlist_objs="audiod signal string daemon stat net crypt_common
126 time grab_client filter_common wav_filter compress_filter amp_filter http_recv dccp_recv
127 recv_common fd sched write_common file_write audiod_command fecdec_filter
128 client_common ggo udp_recv color fec prebuffer_filter audiod_command_list
129 bitstream imdct wma_common wmadec_filter buffer_tree"
131 audiod_audio_formats="wma"
133 afh_cmdline_objs="add_cmdline(afh)"
134 afh_errlist_objs="afh string fd mp3_afh afh_common time wma_afh wma_common"
137 write_cmdline_objs="add_cmdline(write file_write)"
138 write_errlist_objs="write write_common file_write time fd string sched stdin
142 default_writer="FILE_WRITE"
144 client_cmdline_objs="add_cmdline(client)"
145 client_errlist_objs="client net string fd sched stdin stdout time
146 client_common buffer_tree crypt_common"
149 gui_cmdline_objs="add_cmdline(gui)"
150 gui_errlist_objs="exec signal string stat ringbuffer fd gui gui_theme"
151 gui_objs="$gui_cmdline_objs $gui_errlist_objs"
153 fade_cmdline_objs="add_cmdline(fade)"
154 fade_errlist_objs="fade exec string fd"
157 ########################################################################### snprintf
158 # ===========================================================================
159 # http://www.nongnu.org/autoconf-archive/ax_func_snprintf.html
160 # ===========================================================================
168 # Checks for a fully C99 compliant snprintf, in particular checks whether
169 # it does bounds checking and returns the correct string length; does the
170 # same check for vsnprintf. If no working snprintf or vsnprintf is found,
171 # it prints an error message and aborts.
175 # Copyright (c) 2008 Ruediger Kuhlmann <info@ruediger-kuhlmann.de>
177 # Copying and distribution of this file, with or without modification, are
178 # permitted in any medium without royalty provided the copyright notice
179 # and this notice are preserved.
181 AU_ALIAS([AC_FUNC_SNPRINTF], [AX_FUNC_SNPRINTF])
182 AC_DEFUN([AX_FUNC_SNPRINTF],
183 [AC_CHECK_FUNCS(snprintf vsnprintf)
184 AC_MSG_CHECKING(for working snprintf)
185 AC_CACHE_VAL(ac_cv_have_working_snprintf,
191 char bufs[5] = { 'x', 'x', 'x', '\0', '\0' };
192 char bufd[5] = { 'x', 'x', 'x', '\0', '\0' };
194 i = snprintf (bufs, 2, "%s", "111");
195 if (strcmp (bufs, "1")) exit (1);
196 if (i != 3) exit (1);
197 i = snprintf (bufd, 2, "%d", 111);
198 if (strcmp (bufd, "1")) exit (1);
199 if (i != 3) exit (1);
201 }], ac_cv_have_working_snprintf=yes, ac_cv_have_working_snprintf=no, ac_cv_have_working_snprintf=cross)])
202 AC_MSG_RESULT([$ac_cv_have_working_snprintf])
203 AC_MSG_CHECKING(for working vsnprintf)
204 AC_CACHE_VAL(ac_cv_have_working_vsnprintf,
209 int my_vsnprintf (char *buf, const char *tmpl, ...)
213 va_start (args, tmpl);
214 i = vsnprintf (buf, 2, tmpl, args);
221 char bufs[5] = { 'x', 'x', 'x', '\0', '\0' };
222 char bufd[5] = { 'x', 'x', 'x', '\0', '\0' };
224 i = my_vsnprintf (bufs, "%s", "111");
225 if (strcmp (bufs, "1")) exit (1);
226 if (i != 3) exit (1);
227 i = my_vsnprintf (bufd, "%d", 111);
228 if (strcmp (bufd, "1")) exit (1);
229 if (i != 3) exit (1);
231 }], ac_cv_have_working_vsnprintf=yes, ac_cv_have_working_vsnprintf=no, ac_cv_have_working_vsnprintf=cross)])
232 AC_MSG_RESULT([$ac_cv_have_working_vsnprintf])
233 if test x$ac_cv_have_working_snprintf$ac_cv_have_working_vsnprintf != "xyesyes"; then
234 AC_MSG_ERROR([fatal: buggy snprintf() detected])
237 ########################################################################### osl
239 OLD_CPPFLAGS="$CPPFLAGS"
240 OLD_LD_FLAGS="$LDFLAGS"
242 AC_ARG_WITH(osl_headers, [AC_HELP_STRING(--with-osl-headers=dir,
243 [look for osl.h also in dir])])
244 if test -n "$with_osl_headers"; then
245 osl_cppflags="-I$with_osl_headers"
246 CPPFLAGS="$CPPFLAGS $osl_cppflags"
248 AC_ARG_WITH(osl_libs, [AC_HELP_STRING(--with-osl-libs=dir,
249 [look for libosl also in dir])])
250 if test -n "$with_osl_libs"; then
251 osl_libs="-L$with_osl_libs"
252 LDFLAGS="$LDFLAGS $osl_libs"
255 AC_CHECK_HEADER(osl.h, [], have_osl=no)
256 AC_CHECK_LIB([osl], [osl_open_table], [], have_osl=no)
257 if test "$have_osl" = "no"; then
258 AC_MSG_WARN([libosl not found, can not build para_server.
260 http://systemlinux.org/~maan/osl
262 git clone git://git.tuebingen.mpg.de/osl
265 extras="$extras server"
266 executables="$executables server"
267 server_cmdline_objs="add_cmdline(server)"
268 server_errlist_objs="server afh_common mp3_afh vss command net
269 string signal time daemon http_send close_on_fork mm
270 crypt_common ipc dccp_send fd user_list chunk_queue
271 afs aft mood score attribute blob playlist sched acl
272 send_common udp_send color fec server_command_list
273 afs_command_list wma_afh wma_common"
275 all_errlist_objs="$all_errlist_objs server vss command
276 http_send close_on_fork mm ipc dccp_send user_list
277 chunk_queue afs aft mood score attribute blob playlist
278 acl udp_send server_command_list afs_command_list"
281 server_audio_formats="mp3 wma"
282 AC_SUBST(osl_cppflags)
283 server_ldflags="$server_ldflags $osl_libs -losl"
285 CPPFLAGS="$OLD_CPPFLAGS"
286 LDFLAGS="$OLD_LDFLAGS"
288 ########################################################################### crypto
289 AC_ARG_ENABLE(cryptolib, [AS_HELP_STRING(--enable-cryptolib=lib, [
290 Force using crypto library "lib". This package requires either
291 openssl or libgcrypt being installed. Possible values for "lib"
292 are thus "openssl" and "gcrypt". If this option is not given,
293 openssl is tried first. If openssl was not found, gcrypt is
296 case "$enable_cryptolib" in
297 "openssl") check_openssl="yes"; check_gcrypt="no";;
298 "gcrypt") check_openssl="no"; check_gcrypt="yes";;
299 "") check_openssl="yes"; check_gcrypt="yes";;
300 *) AC_MSG_ERROR([invalid value "$enable_cryptolib" for --enable-cryptolib]);;
302 ###################################################################### openssl
303 if test "$check_openssl" = "yes"; then
304 OLD_CPPFLAGS="$CPPFLAGS"
305 OLD_LD_FLAGS="$LDFLAGS"
308 AC_ARG_WITH(openssl_headers, [AC_HELP_STRING(--with-openssl-headers=dir,
309 [look for openssl headers also in dir])])
310 if test -n "$with_openssl_headers"; then
311 openssl_cppflags="-I$with_openssl_headers"
312 CPPFLAGS="$CPPFLAGS $openssl_cppflags"
314 AC_ARG_WITH(openssl_libs, [AC_HELP_STRING(--with-openssl-libs=dir,
315 [look for openssl libraries also in dir])])
316 if test -n "$with_openssl_libs"; then
317 openssl_libs="-L$with_openssl_libs"
318 LDFLAGS="$LDFLAGS $openssl_libs"
320 AC_CHECK_HEADER(openssl/ssl.h, [], [have_openssl="no"])
321 AC_CHECK_LIB([crypto], [RAND_bytes], [], [have_openssl="no"])
322 if test "$have_openssl" = "no" -a -z "$with_openssl_headers$with_openssl_libs"; then
323 # try harder: openssl is sometimes installed in /usr/local/ssl
324 openssl_cppflags="-I/usr/local/ssl/include"
325 CPPFLAGS="$CPPFLAGS $openssl_cppflags"
326 openssl_libs="-L/usr/local/ssl/lib"
327 LDFLAGS="$LDFLAGS $openssl_libs"
329 unset ac_cv_header_openssl_ssl_h 2> /dev/null
330 unset ac_cv_lib_crypto_RAND_bytes 2> /dev/null
331 AC_CHECK_HEADER(openssl/ssl.h, [have_openssl="yes"], [])
332 if test "$have_openssl" = "yes"; then
333 AC_CHECK_LIB([crypto], [RAND_bytes], [], [have_openssl="no"])
336 if test "$have_openssl" = "yes"; then
337 AC_DEFINE(HAVE_OPENSSL, 1, [define to 1 to turn on openssl support])
338 AC_SUBST(openssl_cppflags)
339 openssl_libs="$openssl_libs -lssl -lcrypto"
340 server_ldflags="$server_ldflags $openssl_libs"
341 client_ldflags="$client_ldflags $openssl_libs"
342 audiod_ldflags="$audiod_ldflags $openssl_libs"
344 all_errlist_objs="$all_errlist_objs crypt"
345 server_errlist_objs="$server_errlist_objs crypt"
346 client_errlist_objs="$client_errlist_objs crypt"
347 audiod_errlist_objs="$audiod_errlist_objs crypt"
351 AC_MSG_WARN([openssl libraries not found])
353 CPPFLAGS="$OLD_CPPFLAGS"
354 LDFLAGS="$OLD_LDFLAGS"
359 ########################################################################### gcrypt
360 if test "$check_gcrypt" = "yes"; then
361 OLD_CPPFLAGS="$CPPFLAGS"
362 OLD_LD_FLAGS="$LDFLAGS"
365 AC_ARG_WITH(gcrypt_headers, [AC_HELP_STRING(--with-gcrypt-headers=dir,
366 [look for gcrypt headers also in dir])])
367 if test -n "$with_gcrypt_headers"; then
368 gcrypt_cppflags="-I$with_gcrypt_headers"
369 CPPFLAGS="$CPPFLAGS $gcrypt_cppflags"
371 AC_ARG_WITH(gcrypt_libs, [AC_HELP_STRING(--with-gcrypt-libs=dir,
372 [look for libgcrypt also in dir])])
373 if test -n "$with_gcrypt_libs"; then
374 gcrypt_libs="-L$with_gcrypt_libs"
375 LDFLAGS="$LDFLAGS $gcrypt_libs"
377 AC_CHECK_HEADER(gcrypt.h, [], [have_gcrypt="no"])
378 AC_CHECK_LIB([gcrypt], [gcry_randomize], [], [have_gcrypt="no"])
379 if test "$have_gcrypt" = "yes"; then
380 AC_DEFINE(HAVE_GCRYPT, 1, [define to 1 to turn on gcrypt support])
381 AC_SUBST(gcrypt_cppflags)
382 gcrypt_libs="$gcrypt_libs -lgcrypt"
383 server_ldflags="$server_ldflags $gcrypt_libs"
384 client_ldflags="$client_ldflags $gcrypt_libs"
385 audiod_ldflags="$audiod_ldflags $gcrypt_libs"
387 all_errlist_objs="$all_errlist_objs gcrypt"
388 server_errlist_objs="$server_errlist_objs gcrypt"
389 client_errlist_objs="$client_errlist_objs gcrypt"
390 audiod_errlist_objs="$audiod_errlist_objs gcrypt"
392 AC_MSG_WARN([gcrypt library not found])
394 CPPFLAGS="$OLD_CPPFLAGS"
395 LDFLAGS="$OLD_LDFLAGS"
400 ###########################################################################
401 if test "$have_openssl" = "no" -a "$have_gcrypt" = "no"; then
402 AC_MSG_ERROR([neither openssl nor gcrypt usable])
404 ########################################################################### libsocket
405 AC_CHECK_LIB([c], [socket],
407 [socket_lib="-lsocket"]
409 server_ldflags="$server_ldflags $socket_lib"
410 client_ldflags="$client_ldflags $socket_lib"
411 audioc_ldflags="$audioc_ldflags $socket_lib"
412 audiod_ldflags="$audiod_ldflags $socket_lib"
413 recv_ldflags="$recv_ldflags $socket_lib"
414 AC_SEARCH_LIBS([connect],[socket],[],[
415 AC_MSG_ERROR([Fatal: Did not find connect().])
417 ########################################################################### libnsl
418 AC_CHECK_LIB([c], [gethostbyname],
422 server_ldflags="$server_ldflags $nsl_lib"
423 client_ldflags="$client_ldflags $nsl_lib"
424 audioc_ldflags="$audioc_ldflags $nsl_lib"
425 recv_ldflags="$recv_ldflags $nsl_lib"
426 AC_SEARCH_LIBS([inet_ntoa],[nsl],[],[
427 AC_MSG_ERROR([Fatal: Did not find inet_ntoa().])
429 ########################################################################### ucred
430 AC_MSG_CHECKING(for struct ucred)
433 #include <sys/types.h>
434 #include <sys/socket.h>
436 struct ucred sucred; sucred.pid=0;
437 ],[have_ucred=yes],[have_ucred=no])
438 AC_MSG_RESULT($have_ucred)
439 if test ${have_ucred} = yes; then
440 AC_DEFINE(HAVE_UCRED, 1, define to 1 you have struct ucred)
443 ########################################################################### curses
445 OLD_CPPFLAGS="$CPPFLAGS"
446 OLD_LD_FLAGS="$LDFLAGS"
448 AC_ARG_WITH(curses_headers, [AC_HELP_STRING(--with-curses-headers=dir,
449 [look for curses.h also in dir])])
450 if test -n "$with_curses_headers"; then
451 curses_cppflags="-I$with_curses_headers"
452 CPPFLAGS="$CPPFLAGS $curses_cppflags"
454 AC_ARG_WITH(curses_libs, [AC_HELP_STRING(--with-curses-libs=dir,
455 [look for libcurses also in dir])])
456 if test -n "$with_curses_libs"; then
457 curses_libs="-L$with_curses_libs"
458 LDFLAGS="$LDFLAGS $curses_libs"
460 AC_CHECK_HEADER(curses.h, [], [
463 AC_CHECK_LIB([curses], [initscr], [], [
466 if test "$have_curses" = "yes"; then
467 AC_SUBST(curses_cppflags)
468 AC_DEFINE(HAVE_NCURSES, 1, [define to 1 to turn on curses support])
470 executables="$executables gui"
472 AC_MSG_WARN([cannot build para_gui])
474 CPPFLAGS="$OLD_CPPFLAGS"
475 LDFLAGS="$OLD_LDFLAGS"
478 ########################################################################### ip_mreqn
479 AC_MSG_CHECKING(for struct ip_mreqn (UDPv4 multicast))
486 ],[have_ip_mreqn=yes],[have_ip_mreqn=no])
487 AC_MSG_RESULT($have_ip_mreqn)
488 if test ${have_ip_mreqn} = yes; then
489 AC_DEFINE(HAVE_IP_MREQN, 1, define to 1 you have struct ip_mreqn)
491 ########################################################################### osx
493 AC_MSG_CHECKING(for CoreAudio (MacOs))
495 #include <CoreAudio/CoreAudio.h>
498 ],[have_core_audio=yes],[have_core_audio=no])
499 AC_MSG_RESULT($have_core_audio)
500 if test ${have_core_audio} = yes; then
501 f1="-framework CoreAudio"
502 f2="-framework AudioToolbox"
503 f3="-framework AudioUnit"
504 f4="-framework CoreServices"
507 all_errlist_objs="$all_errlist_objs osx_write"
508 # ipc is linked into para_server server and into the osx writer. If osl
509 # was not found, para_server will not be built and ipc has not yet been
510 # added to the list of all objects, so we must add it here.
511 if test "$have_osl" = "no"; then
512 all_errlist_objs="$all_errlist_objs ipc"
514 audiod_errlist_objs="$audiod_errlist_objs osx_write ipc"
515 audiod_cmdline_objs="$audiod_cmdline_objs osx_write.cmdline"
516 audiod_ldflags="$audiod_ldflags $f"
518 write_errlist_objs="$write_errlist_objs osx_write ipc"
519 write_cmdline_objs="$write_cmdline_objs osx_write.cmdline"
520 write_ldflags="$write_ldflags $f"
521 writers="$writers osx"
522 default_writer="OSX_WRITE"
523 AC_DEFINE(HAVE_CORE_AUDIO, 1, define to 1 on Mac Os X)
525 ########################################################### ogg/vorbis/speex
527 OLD_CPPFLAGS="$CPPFLAGS"
528 OLD_LD_FLAGS="$LDFLAGS"
530 AC_ARG_WITH(ogg_headers, [AC_HELP_STRING(--with-ogg-headers=dir,
531 [look for ogg headers also in dir])])
532 AC_ARG_WITH(ogg_libs, [AC_HELP_STRING(--with-ogg-libs=dir,
533 [look for ogg libs also in dir])])
534 AC_ARG_WITH(vorbis_headers, [AC_HELP_STRING(--with-vorbis-headers=dir,
535 [look for vorbis headers also in dir])])
536 AC_ARG_WITH(vorbis_libs, [AC_HELP_STRING(--with-vorbis-libs=dir,
537 [look for vorbis libs also in dir])])
538 AC_ARG_WITH(speex_headers, [AC_HELP_STRING(--with-speex-headers=dir,
539 [look for speex headers also in dir])])
540 AC_ARG_WITH(speex_libs, [AC_HELP_STRING(--with-speex-libs=dir,
541 [look for speex libs also in dir])])
543 if test -n "$with_ogg_headers"; then
544 ogg_cppflags="-I$with_ogg_headers"
545 CPPFLAGS="$CPPFLAGS $ogg_cppflags"
547 if test -n "$with_ogg_libs"; then
548 ogg_libs="-L$with_ogg_libs"
549 LDFLAGS="$LDFLAGS $ogg_libs"
551 AC_CHECK_HEADERS([ogg/ogg.h], [], [ have_ogg="no"; ])
552 AC_CHECK_LIB([ogg], [ogg_stream_init], [], [ have_ogg="no" ])
556 if test "$have_ogg" = "yes"; then
558 if test -n "$with_vorbis_headers"; then
559 vorbis_cppflags="-I$with_vorbis_headers"
560 CPPFLAGS="$CPPFLAGS $vorbis_cppflags"
562 if test -n "$with_vorbis_libs"; then
563 vorbis_libs="-L$with_vorbis_libs"
564 LDFLAGS="$LDFLAGS $vorbis_libs"
566 AC_CHECK_HEADERS([vorbis/codec.h], [], [ have_vorbis="no" ])
567 AC_CHECK_LIB([vorbis], [vorbis_info_init], [], [ have_vorbis="no" ])
570 if test -n "$with_speex_headers"; then
571 speex_cppflags="-I$with_speex_headers"
572 CPPFLAGS="$CPPFLAGS $speex_cppflags"
574 if test -n "$with_speex_libs"; then
575 speex_libs="-L$with_speex_libs"
576 LDFLAGS="$LDFLAGS $speex_libs"
578 AC_CHECK_LIB([speex], [speex_decoder_init], [], [ have_speex="no" ])
579 AC_CHECK_HEADERS([speex/speex.h], [], [ have_speex="no" ])
585 msg="support in para_server/para_filter/para_afh"
586 if test "$have_vorbis" = "yes" || test "$have_speex" = "yes"; then
587 AC_SUBST(ogg_cppflags)
588 ogg_libs="$ogg_libs -logg"
589 if test "$OSTYPE" = "Darwin"; then
590 ogg_libs="-Wl,-bind_at_load $ogg_libs"
592 server_ldflags="$server_ldflags $ogg_libs"
593 filter_ldflags="$filter_ldflags $ogg_libs"
594 audiod_ldflags="$audiod_ldflags $ogg_libs"
595 afh_ldflags="$afh_ldflags $ogg_libs"
596 all_errlist_objs="$all_errlist_objs ogg_afh_common"
597 afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
598 server_errlist_objs="$server_errlist_objs ogg_afh_common"
600 AC_MSG_WARN([vorbis/speex require ogg])
602 if test "$have_vorbis" = "yes"; then
603 all_errlist_objs="$all_errlist_objs oggdec_filter ogg_afh"
604 AC_DEFINE(HAVE_OGGVORBIS, 1, define to 1 to turn on ogg/vorbis support)
605 filters="$filters oggdec"
606 vorbis_libs="-lvorbis -lvorbisfile"
607 server_ldflags="$server_ldflags $vorbis_libs"
608 filter_ldflags="$filter_ldflags $vorbis_libs"
609 audiod_ldflags="$audiod_ldflags $vorbis_libs"
610 afh_ldflags="$afh_ldflags $vorbis_libs"
612 server_errlist_objs="$server_errlist_objs ogg_afh"
613 filter_errlist_objs="$filter_errlist_objs oggdec_filter"
614 audiod_errlist_objs="$audiod_errlist_objs oggdec_filter"
615 afh_errlist_objs="$afh_errlist_objs ogg_afh"
617 audiod_audio_formats="$audiod_audio_formats ogg"
618 server_audio_formats="$server_audio_formats ogg"
620 AC_MSG_WARN([no ogg/vorbis $msg])
622 if test "$have_speex" = "yes"; then
623 all_errlist_objs="$all_errlist_objs spxdec_filter spx_afh spx_common"
624 AC_DEFINE(HAVE_SPEEX, 1, define to 1 to turn on ogg/speex support)
625 filters="$filters spxdec"
627 server_ldflags="$server_ldflags $speex_libs"
628 filter_ldflags="$filter_ldflags $speex_libs"
629 audiod_ldflags="$audiod_ldflags $speex_libs"
630 afh_ldflags="$afh_ldflags $speex_libs"
632 server_errlist_objs="$server_errlist_objs spx_afh spx_common"
633 filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common"
634 audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common"
635 afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
637 audiod_audio_formats="$audiod_audio_formats spx"
638 server_audio_formats="$server_audio_formats spx"
640 AC_MSG_WARN([no ogg/speex $msg])
642 CPPFLAGS="$OLD_CPPFLAGS"
643 LDFLAGS="$OLD_LDFLAGS"
645 ########################################################################### faad
647 OLD_CPPFLAGS="$CPPFLAGS"
648 OLD_LD_FLAGS="$LDFLAGS"
650 AC_ARG_WITH(faad_headers, [AC_HELP_STRING(--with-faad-headers=dir,
651 [look for neaacdec.h also in dir])])
652 if test -n "$with_faad_headers"; then
653 faad_cppflags="-I$with_faad_headers"
654 CPPFLAGS="$CPPFLAGS $faad_cppflags"
656 AC_ARG_WITH(faad_libs, [AC_HELP_STRING(--with-faad-libs=dir,
657 [look for libfaad also in dir])])
658 if test -n "$with_faad_libs"; then
659 faad_libs="-L$with_faad_libs"
660 LDFLAGS="$LDFLAGS $faad_libs"
662 AC_CHECK_HEADER(neaacdec.h, [], have_faad=no)
663 AC_CHECK_LIB([faad], [NeAACDecOpen], [], have_faad=no)
664 if test "$have_faad" = "yes"; then
665 AC_DEFINE(HAVE_FAAD, 1, define to 1 if you want to build the aacdec filter)
666 all_errlist_objs="$all_errlist_objs aac_common aacdec_filter aac_afh"
667 filter_errlist_objs="$filter_errlist_objs aacdec_filter aac_common"
668 afh_errlist_objs="$afh_errlist_objs aac_common aac_afh"
669 audiod_errlist_objs="$audiod_errlist_objs aacdec_filter aac_common"
670 server_errlist_objs="$server_errlist_objs aac_afh aac_common"
671 server_ldflags="$server_ldflags $faad_libs -lfaad"
672 filter_ldflags="$filter_ldflags $faad_libs -lfaad"
673 audiod_ldflags="$audiod_ldflags $faad_libs -lfaad"
674 afh_ldflags="$afh_ldflags $faad_libs -lfaad"
675 audiod_audio_formats="$audiod_audio_formats aac"
676 server_audio_formats="$server_audio_formats aac"
677 filters="$filters aacdec"
678 AC_SUBST(faad_cppflags)
680 AC_MSG_WARN([no aac support in para_audiod/para_filter])
682 CPPFLAGS="$OLD_CPPFLAGS"
683 LDFLAGS="$OLD_LDFLAGS"
685 ########################################################################### mad
687 OLD_CPPFLAGS="$CPPFLAGS"
688 OLD_LD_FLAGS="$LDFLAGS"
691 AC_ARG_WITH(mad_headers, [AC_HELP_STRING(--with-mad-headers=dir,
692 [look for mad.h also in dir])])
693 if test -n "$with_mad_headers"; then
694 mad_cppflags="-I$with_mad_headers"
695 CPPFLAGS="$CPPFLAGS $mad_cppflags"
697 AC_ARG_WITH(mad_libs, [AC_HELP_STRING(--with-mad-libs=dir,
698 [look for libmad also in dir])])
699 if test -n "$with_mad_libs"; then
700 mad_libs="-L$with_mad_libs"
701 LDFLAGS="$LDFLAGS $mad_libs"
703 AC_CHECK_HEADERS([mad.h], [], [
706 AC_CHECK_LIB([mad], [mad_stream_init], [], [
709 if test "$have_mad" = "yes"; then
710 AC_DEFINE(HAVE_MAD, 1, define to 1 if you want to build the mp3dec filter)
711 filter_cmdline_objs="$filter_cmdline_objs add_cmdline(mp3dec_filter)"
712 audiod_cmdline_objs="$audiod_cmdline_objs add_cmdline(mp3dec_filter)"
713 all_errlist_objs="$all_errlist_objs mp3dec_filter"
714 filter_errlist_objs="$filter_errlist_objs mp3dec_filter"
715 audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter"
716 filter_ldflags="$filter_ldflags $mad_libs -lmad"
717 audiod_ldflags="$audiod_ldflags $mad_libs -lmad"
718 audiod_audio_formats="$audiod_audio_formats mp3"
719 filters="$filters mp3dec"
720 AC_SUBST(mad_cppflags)
722 AC_MSG_WARN([no mp3dec support in para_audiod/para_filter])
724 CPPFLAGS="$OLD_CPPFLAGS"
725 LDFLAGS="$OLD_LDFLAGS"
727 ###################################################################### libid3tag
728 OLD_CPPFLAGS="$CPPFLAGS"
729 OLD_LD_FLAGS="$LDFLAGS"
733 AC_ARG_WITH(id3tag_headers, [AC_HELP_STRING(--with-id3tag-headers=dir,
734 [look for id3tag header files also in dir])])
735 if test -n "$with_id3tag_headers"; then
736 id3tag_cppflags="-I$with_id3tag_headers"
737 CPPFLAGS="$CPPFLAGS $id3tag_cppflags"
739 AC_ARG_WITH(id3tag_libs, [AC_HELP_STRING(--with-id3tag-libs=dir,
740 [look for id3tag libs also in dir])])
741 if test -n "$with_id3tag_libs"; then
742 id3tag_libs="-L$with_id3tag_libs"
743 LDFLAGS="$LDFLAGS $id3tag_libs"
746 AC_MSG_CHECKING(for libid3tag)
750 struct id3_tag t = {.flags = 0};
751 ],[], [have_libid3tag=no])
752 AC_MSG_RESULT($have_libid3tag)
754 if test ${have_libid3tag} = yes; then
755 AC_DEFINE(HAVE_LIBID3TAG, 1, define to 1 you have libid3tag)
756 server_ldflags="$server_ldflags $id3tag_libs -lid3tag -lz"
757 afh_ldflags="$afh_ldflags $id3tag_libs -lid3tag -lz"
758 AC_SUBST(id3tag_cppflags)
760 AC_MSG_WARN([no support for id3v2 tags])
762 CPPFLAGS="$OLD_CPPFLAGS"
763 LDFLAGS="$OLD_LDFLAGS"
765 ########################################################################### flac
766 OLD_CPPFLAGS="$CPPFLAGS"
767 OLD_LD_FLAGS="$LDFLAGS"
771 AC_ARG_WITH(flac_headers, [AC_HELP_STRING(--with-flac-headers=dir,
772 [look for flac headers also in dir])])
773 if test -n "$with_flac_headers"; then
774 flac_cppflags="-I$with_flac_headers"
775 CPPFLAGS="$CPPFLAGS $flac_cppflags"
777 AC_ARG_WITH(flac_libs, [AC_HELP_STRING(--with-flac-libs=dir,
778 [look for flac libs also in dir])])
779 if test -n "$with_flac_libs"; then
780 flac_libs="-L$with_flac_libs"
781 LDFLAGS="$LDFLAGS $flac_libs"
783 AC_CHECK_HEADER(FLAC/stream_decoder.h, [], have_flac=no)
784 AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], have_flac=no, -logg -lm)
785 if test "$have_flac" = "yes"; then
786 AC_DEFINE(HAVE_FLAC, 1, define to 1 if you want to build the flacdec filter)
787 all_errlist_objs="$all_errlist_objs flacdec_filter flac_afh"
788 filter_errlist_objs="$filter_errlist_objs flacdec_filter"
789 audiod_errlist_objs="$audiod_errlist_objs flacdec_filter"
790 afh_errlist_objs="$afh_errlist_objs flac_afh"
791 server_errlist_objs="$server_errlist_objs flac_afh"
792 filter_ldflags="$filter_ldflags $flac_libs -lFLAC"
793 audiod_ldflags="$audiod_ldflags $flac_libs -lFLAC"
794 server_ldflags="$server_ldflags $flac_libs -lFLAC"
795 afh_ldflags="$afh_ldflags $flac_libs -lFLAC"
796 filters="$filters flacdec"
797 server_audio_formats="$server_audio_formats flac"
798 audiod_audio_formats="$audiod_audio_formats flac"
799 AC_SUBST(flac_cppflags)
801 AC_MSG_WARN([no flac support in para_audiod/para_filter])
803 CPPFLAGS="$OLD_CPPFLAGS"
804 LDFLAGS="$OLD_LDFLAGS"
806 ########################################################################### oss
807 OLD_CPPFLAGS="$CPPFLAGS"
808 OLD_LD_FLAGS="$LDFLAGS"
812 msg="=> will not build para_fade/oss writer"
814 AC_CHECK_HEADER(sys/soundcard.h, [
815 extras="$extras fade"
816 executables="$executables fade"
817 all_errlist_objs="$all_errlist_objs oss_write"
818 audiod_errlist_objs="$audiod_errlist_objs oss_write"
819 audiod_cmdline_objs="$audiod_cmdline_objs add_cmdline(oss_write)"
821 write_errlist_objs="$write_errlist_objs oss_write"
822 write_cmdline_objs="$write_cmdline_objs add_cmdline(oss_write)"
823 writers="$writers oss"
824 default_writer="OSS_WRITE"
825 AC_CHECK_LIB(ossaudio, _oss_ioctl, [
826 audiod_ldflags="$audiod_ldflags -lossaudio"
827 write_ldflags="$write_ldflags -lossaudio"
828 fade_ldflags="$write_ldflags -lossaudio"
834 AC_MSG_WARN([no sys/soundcard.h $msg])
837 CPPFLAGS="$OLD_CPPFLAGS"
838 LDFLAGS="$OLD_LDFLAGS"
841 ########################################################################### alsa
842 OLD_CPPFLAGS="$CPPFLAGS"
843 OLD_LD_FLAGS="$LDFLAGS"
846 msg="=> no alsa support for para_audiod/para_write"
847 if test "$OSTYPE" != "Linux"; then
852 if test "$have_alsa" = "yes"; then
853 AC_CHECK_HEADERS([alsa/asoundlib.h], [], [
855 AC_MSG_WARN([no alsa/asoundlib $msg])
859 if test "$have_alsa" = "yes"; then
860 AC_CHECK_LIB([asound], [snd_pcm_open], [], [
862 AC_MSG_WARN([no libasound $msg])
866 if test "$have_alsa" = "yes"; then
867 all_errlist_objs="$all_errlist_objs alsa_write"
868 audiod_errlist_objs="$audiod_errlist_objs alsa_write"
869 audiod_cmdline_objs="$audiod_cmdline_objs add_cmdline(alsa_write)"
870 audiod_ldflags="$audiod_ldflags -lasound"
872 write_errlist_objs="$write_errlist_objs alsa_write"
873 write_cmdline_objs="$write_cmdline_objs add_cmdline(alsa_write)"
874 write_ldflags="$write_ldflags -lasound"
875 writers="$writers alsa"
876 default_writer="ALSA_WRITE"
879 CPPFLAGS="$OLD_CPPFLAGS"
880 LDFLAGS="$OLD_LDFLAGS"
882 ########################################################################### libao
883 OLD_CPPFLAGS="$CPPFLAGS"
884 OLD_LD_FLAGS="$LDFLAGS"
888 AC_ARG_WITH(ao_headers, [AC_HELP_STRING(--with-ao-headers=dir,
889 [look for ao/ao.h also in dir])])
890 if test -n "$with_ao_headers"; then
891 ao_cppflags="-I$with_ao_headers"
892 CPPFLAGS="$CPPFLAGS $ao_cppflags"
894 AC_ARG_WITH(ao_libs, [AC_HELP_STRING(--with-ao-libs=dir,
895 [look for libao also in dir])])
896 if test -n "$with_ao_libs"; then
897 ao_libs="-L$with_ao_libs"
898 LDFLAGS="$LDFLAGS $ao_libs"
900 msg="no libao support for para_audiod/para_write"
901 AC_CHECK_HEADERS([ao/ao.h], [
904 AC_MSG_WARN([ao.h not found, $msg])
906 if test "$have_ao" = "yes"; then
907 AC_CHECK_LIB([ao], [ao_initialize], [], [
909 AC_MSG_WARN([ao lib not found or not working, $msg])
912 if test "$have_ao" = "yes"; then
913 AC_CHECK_HEADERS([pthread.h], [
916 AC_MSG_WARN([pthread.h not found, $msg])
919 if test "$have_ao" = "yes"; then
920 AC_CHECK_LIB([pthread], [pthread_create], [], [
922 AC_MSG_WARN([pthread lib not found or not working, $msg])
925 if test "$have_ao" = "yes"; then
926 all_errlist_objs="$all_errlist_objs ao_write"
927 audiod_errlist_objs="$audiod_errlist_objs ao_write"
928 audiod_cmdline_objs="$audiod_cmdline_objs add_cmdline(ao_write)"
929 audiod_ldflags="$audiod_ldflags -lao -lpthread"
931 write_errlist_objs="$write_errlist_objs ao_write"
932 write_cmdline_objs="$write_cmdline_objs add_cmdline(ao_write)"
933 write_ldflags="$write_ldflags $ao_libs -lao -lpthread"
934 writers="$writers ao"
935 AC_SUBST(ao_cppflags)
938 CPPFLAGS="$OLD_CPPFLAGS"
939 LDFLAGS="$OLD_LDFLAGS"
941 ############################################################# readline
942 OLD_CPPFLAGS="$CPPFLAGS"
943 OLD_LD_FLAGS="$LDFLAGS"
947 AC_ARG_WITH(readline_headers, [AC_HELP_STRING(--with-readline-headers=dir,
948 [look for libreadline header files also in dir])])
949 if test -n "$with_readline_headers"; then
950 readline_cppflags="-I$with_readline_headers"
951 CPPFLAGS="$CPPFLAGS $readline_cppflags"
954 AC_ARG_WITH(readline_libs, [AC_HELP_STRING(--with-readline-libs=dir,
955 [look for readline library also in dir])])
956 if test -n "$with_readline_libs"; then
957 readline_libs="-L$with_readline_libs"
958 LDFLAGS="$LDFLAGS $readline_libs"
960 msg="no interactive cli support"
961 AC_CHECK_HEADERS([readline/readline.h], [
964 AC_MSG_WARN([readline/readline.h not found, $msg])
966 if test "$have_readline" = "yes"; then
967 readline_libs="$readline_libs -lreadline"
968 AC_SEARCH_LIBS([rl_replace_line], [readline], [], [have_readline="no"])
969 if test "$have_readline" = "no"; then # try with -lcurses
971 AC_MSG_NOTICE([trying again with -lcurses])
972 unset ac_cv_search_rl_replace_line 2> /dev/null
973 AC_SEARCH_LIBS([rl_replace_line], [readline], [
975 readline_libs="$readline_libs -lcurses"
978 if test "$have_readline" = "no"; then # try with -ltermcap
980 AC_MSG_NOTICE([trying again with -ltermcap])
981 unset ac_cv_search_rl_replace_line 2> /dev/null
982 AC_SEARCH_LIBS([rl_replace_line], [readline], [
984 readline_libs="$readline_libs -ltermcap"
989 if test "$have_readline" = "yes"; then
990 all_errlist_objs="$all_errlist_objs interactive"
991 client_errlist_objs="$client_errlist_objs interactive"
992 client_ldflags="$client_ldflags $readline_libs"
993 audioc_errlist_objs="$audioc_errlist_objs buffer_tree interactive sched time"
994 audioc_ldflags="$audioc_ldflags $readline_libs"
995 AC_SUBST(readline_cppflags)
996 AC_DEFINE(HAVE_READLINE, 1, define to 1 to turn on readline support)
998 AC_MSG_WARN([libreadline not found or unusable])
1000 CPPFLAGS="$OLD_CPPFLAGS"
1001 LDFLAGS="$OLD_LDFLAGS"
1003 #############################################################
1006 AC_SUBST(install_sh, [$INSTALL])
1007 AC_CONFIG_FILES([Makefile])
1010 AC_DEFUN([add_dot_o],[$(for i in $@; do printf "$i.o "; done)])
1011 AC_DEFUN([add_para],[$(for i in $@; do printf "para_$i "; done)])
1012 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) }])
1013 ############################################################# error2.h
1014 AC_MSG_NOTICE(creating error2.h)
1015 for i in $executables; do
1017 eval echo \$${i}_errlist_objs
1018 done | ./error2.pl > error2.h
1019 for obj in $all_errlist_objs; do
1020 SS="$SS SS_$(echo $obj | tr 'a-z' 'A-Z'),"
1022 AC_DEFINE_UNQUOTED(DEFINE_ERRLIST_OBJECT_ENUM,
1023 [enum {$SS NUM_SS}],
1024 [list of all objects that use the paraslash error facility]
1027 ################################################################## status items
1029 status_items="basename status num_played mtime bitrate frequency file_size
1030 status_flags format score techinfo afs_mode
1031 attributes_txt decoder_flags audiod_status play_time attributes_bitmap
1032 offset seconds_total stream_start current_time audiod_uptime image_id
1033 lyrics_id duration directory lyrics_name image_name path hash channels
1034 last_played num_chunks chunk_time amplification artist title year album
1038 for i in $status_items; do
1039 result="$result SI_$(echo $i | tr 'a-z' 'A-Z'), "
1041 AC_DEFINE_UNQUOTED(STATUS_ITEM_ENUM, [$result],
1042 [enum of all status items])
1045 for i in $status_items; do
1046 result="$result \"$i\", "
1048 AC_DEFINE_UNQUOTED(STATUS_ITEM_ARRAY, [$result],
1049 [char * array of all status items])
1051 AC_DEFINE_UNQUOTED(SERVER_AUDIO_FORMATS, "$server_audio_formats",
1052 [formats supported by para_server and para_afh])
1054 AC_SUBST(executables, add_para($executables))
1056 recv_objs="$recv_cmdline_objs $recv_errlist_objs"
1057 filter_objs="$filter_cmdline_objs $filter_errlist_objs"
1058 audiod_objs="$audiod_cmdline_objs $audiod_errlist_objs"
1059 server_objs="$server_cmdline_objs $server_errlist_objs"
1060 write_objs="$write_cmdline_objs $write_errlist_objs"
1061 client_objs="$client_cmdline_objs $client_errlist_objs"
1062 audioc_objs="$audioc_cmdline_objs $audioc_errlist_objs"
1063 afh_objs="$afh_cmdline_objs $afh_errlist_objs"
1064 fade_objs="$fade_cmdline_objs $fade_errlist_objs"
1066 AC_SUBST(recv_objs, add_dot_o($recv_objs))
1067 AC_SUBST(recv_ldflags, $recv_ldflags)
1068 AC_DEFINE_UNQUOTED(INIT_RECV_ERRLISTS, objlist_to_errlist($recv_errlist_objs),
1069 errors used by para_recv)
1071 AC_SUBST(filter_objs, add_dot_o($filter_objs))
1072 AC_SUBST(filter_ldflags, $filter_ldflags)
1073 AC_DEFINE_UNQUOTED(INIT_FILTER_ERRLISTS,
1074 objlist_to_errlist($filter_errlist_objs), errors used by para_filter)
1076 AC_SUBST(audiod_objs, add_dot_o($audiod_objs))
1077 AC_SUBST(audiod_ldflags, $audiod_ldflags)
1078 AC_DEFINE_UNQUOTED(INIT_AUDIOD_ERRLISTS, objlist_to_errlist($audiod_errlist_objs),
1079 errors used by para_audiod)
1081 AC_SUBST(server_objs, add_dot_o($server_objs))
1082 AC_SUBST(server_ldflags, $server_ldflags)
1083 AC_DEFINE_UNQUOTED(INIT_SERVER_ERRLISTS,
1084 objlist_to_errlist($server_errlist_objs), errors used by para_server)
1086 AC_SUBST(afh_objs, add_dot_o($afh_objs))
1087 AC_SUBST(afh_ldflags, $afh_ldflags)
1088 AC_DEFINE_UNQUOTED(INIT_AFH_ERRLISTS,
1089 objlist_to_errlist($afh_errlist_objs), errors used by para_afh)
1091 AC_SUBST(write_objs, add_dot_o($write_objs))
1092 AC_SUBST(write_ldflags, $write_ldflags)
1093 AC_DEFINE_UNQUOTED(INIT_WRITE_ERRLISTS,
1094 objlist_to_errlist($write_errlist_objs), errors used by para_write)
1096 AC_SUBST(client_objs, add_dot_o($client_objs))
1097 AC_SUBST(client_ldflags, $client_ldflags)
1098 AC_DEFINE_UNQUOTED(INIT_CLIENT_ERRLISTS,
1099 objlist_to_errlist($client_errlist_objs), errors used by para_client)
1101 AC_SUBST(audioc_objs, add_dot_o($audioc_objs))
1102 AC_SUBST(audioc_ldflags, $audioc_ldflags)
1103 AC_DEFINE_UNQUOTED(INIT_AUDIOC_ERRLISTS,
1104 objlist_to_errlist($audioc_errlist_objs), errors used by para_audioc)
1106 AC_SUBST(gui_objs, add_dot_o($gui_objs))
1107 AC_DEFINE_UNQUOTED(INIT_GUI_ERRLISTS,
1108 objlist_to_errlist($gui_errlist_objs), errors used by para_gui)
1110 AC_SUBST(fade_objs, add_dot_o($fade_objs))
1111 AC_SUBST(fade_ldflags, $fade_ldflags)
1112 AC_DEFINE_UNQUOTED(INIT_FADE_ERRLISTS,
1113 objlist_to_errlist($fade_errlist_objs), errors used by para_fade)
1116 enum="$(for i in $filters; do printf "${i}_FILTER, " | tr '[a-z]' '[A-Z]'; done)"
1117 AC_DEFINE_UNQUOTED(FILTER_ENUM, $enum NUM_SUPPORTED_FILTERS,
1118 enum of supported filters)
1119 inits="$(for i in $filters; do printf 'extern void '$i'_filter_init(struct filter *f); '; done)"
1120 AC_DEFINE_UNQUOTED(DECLARE_FILTER_INITS, $inits, init functions of the supported filters)
1121 array="$(for i in $filters; do printf '{.name = "'$i'", .init = '$i'_filter_init},'; done)"
1122 AC_DEFINE_UNQUOTED(FILTER_ARRAY, $array, array of supported filters)
1124 enum="$(for i in $writers; do printf "${i}_WRITE, " | tr '[a-z]' '[A-Z]'; done)"
1125 AC_DEFINE_UNQUOTED(WRITER_ENUM, $enum NUM_SUPPORTED_WRITERS,
1126 enum of supported writers)
1127 AC_DEFINE_UNQUOTED(DEFAULT_WRITER, $default_writer, use this writer if none was specified)
1128 names="$(for i in $writers; do printf \"$i\",' ' ; done)"
1129 AC_DEFINE_UNQUOTED(WRITER_NAMES, $names, supported writer names)
1130 inits="$(for i in $writers; do printf 'extern void '$i'_write_init(struct writer *); '; done)"
1131 AC_DEFINE_UNQUOTED(DECLARE_WRITER_INITS, $inits, init functions of the supported writers)
1132 array="$(for i in $writers; do printf '{.init = '$i'_write_init},'; done)"
1133 AC_DEFINE_UNQUOTED(WRITER_ARRAY, $array, array of supported writers)
1135 enum="$(for i in $audiod_audio_formats; do printf "AUDIO_FORMAT_${i}, " | tr '[a-z]' '[A-Z]'; done)"
1136 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMATS_ENUM, $enum NUM_AUDIO_FORMATS,
1137 enum of audio formats supported by audiod)
1138 names="$(for i in $audiod_audio_formats; do printf \"$i\",' ' ; done)"
1139 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMAT_ARRAY, $names, array of audio formats supported by audiod)
1143 paraslash configuration:
1144 ~~~~~~~~~~~~~~~~~~~~~~~~
1145 unix socket credentials: $have_ucred
1146 readline (interactive CLIs): $have_readline
1147 audio formats supported by para_server/para_afh: $server_audio_formats
1148 id3 version2 support: $have_libid3tag
1149 filters supported by para_audiod/para_filter: $filters
1150 writers supported by para_audiod/para_write: $writers
1151 optional executables: $extras