3 AC_INIT([paraslash], [m4_esyscmd_s(./GIT-VERSION-GEN)],
4 [maan@tuebingen.mpg.de], [], [http://people.tuebingen.mpg.de/maan/paraslash/])
5 AC_CONFIG_HEADERS([config.h])
7 AC_CONFIG_FILES([Makefile])
8 AC_DEFUN([add_dot_o],[$(for i in $@; do printf "$i.o "; done)])
9 AC_DEFUN([LIB_ARG_WITH], [
10 AC_ARG_WITH($1-headers, [AS_HELP_STRING(--with-$1-headers=dir,
11 [look for $1 headers in dir])])
12 AC_ARG_WITH($1-libs, [AS_HELP_STRING(--with-$1-libs=dir,
13 [look for $1 libraries in dir])])
14 if test -n "$with_$1_headers"; then
15 $1_cppflags="-I$with_$1_headers"
16 CPPFLAGS="$CPPFLAGS $$1_cppflags"
18 if test -n "$with_$1_libs"; then
19 $1_ldflags="-L$with_$1_libs $2"
23 LDFLAGS="$LDFLAGS $$1_ldflags"
26 AC_DEFUN([STASH_FLAGS], [
27 OLD_CPPFLAGS="$CPPFLAGS"
28 OLD_LDFLAGS="$LDFLAGS"
32 AC_DEFUN([UNSTASH_FLAGS], [
33 CPPFLAGS="$OLD_CPPFLAGS"
34 LDFLAGS="$OLD_LDFLAGS"
37 AC_DEFUN([LIB_SUBST_FLAGS], [
38 if test "$HAVE_[]m4_toupper([$1])" = 'yes'; then
39 AC_DEFINE(HAVE_[]m4_toupper([$1]), 1,
40 define to 1 to turn on $1 support)
45 AC_SUBST(HAVE_[]m4_toupper([$1]))
49 AC_DEFUN([REQUIRE_EXECUTABLE], [
50 AC_PATH_PROG(m4_toupper([$1]), [$1])
51 test -z "$m4_toupper([$1])" && AC_MSG_ERROR(
52 [$1 is required to build this package])
55 AC_USE_SYSTEM_EXTENSIONS
60 REQUIRE_EXECUTABLE([bison])
61 REQUIRE_EXECUTABLE([flex])
62 REQUIRE_EXECUTABLE([m4])
64 executables="recv filter audioc write afh play"
65 ########################################################################### osl
67 LIB_ARG_WITH([osl], [-losl])
69 AC_CHECK_HEADER(osl.h, [], [HAVE_OSL=no])
70 AC_CHECK_LIB([osl], [osl_open_table], [], [HAVE_OSL=no])
73 ######################################################################## lopsub
75 AC_PATH_PROG([LOPSUBGEN], [lopsubgen])
76 test -z "$LOPSUBGEN" && HAVE_LOPSUB=no
78 LIB_ARG_WITH([lopsub], [-llopsub])
79 AC_CHECK_HEADER(lopsub.h, [], [HAVE_LOPSUB=no])
80 AC_CHECK_LIB([lopsub], [lls_merge], [], [HAVE_LOPSUB=no])
81 if test $HAVE_LOPSUB = no; then AC_MSG_ERROR([
82 The lopsub library is required to build this software, but
83 the above checks indicate it is not installed on your system.
84 Run the following command to download a copy.
85 git clone git://git.tuebingen.mpg.de/lopsub.git
86 Install the library, then run this configure script again.
89 LIB_SUBST_FLAGS([lopsub])
91 ######################################################################## openssl
94 LIB_ARG_WITH([openssl], [-lssl -lcrypto])
95 AC_CHECK_HEADER(openssl/ssl.h, [], [HAVE_OPENSSL=no])
96 AC_CHECK_LIB([crypto], [RAND_bytes], [], [HAVE_OPENSSL=no])
97 LIB_SUBST_FLAGS(openssl)
98 if test $HAVE_OPENSSL = yes; then
100 AC_CHECK_DECL([RSA_set0_key], [], [], [#include <openssl/rsa.h>])
101 AC_CHECK_LIB([crypto], [RSA_set0_key], [], [])
102 if test "$ac_cv_have_decl_RSA_set0_key" != "$ac_cv_lib_crypto_RSA_set0_key"; then
103 AC_MSG_ERROR([openssl header/library mismatch])
105 test "$ac_cv_have_decl_RSA_set0_key" = yes &&
106 AC_DEFINE([HAVE_RSA_SET0_KEY], [1], [openssl >= 1.1])
108 HAVE_CRYPTO_CLEANUP_ALL_EX_DATA=yes
109 AC_CHECK_DECL([CRYPTO_cleanup_all_ex_data], [],
110 [HAVE_CRYPTO_CLEANUP_ALL_EX_DATA=no],
111 [#include <openssl/rsa.h>])
112 AC_CHECK_LIB([crypto], [CRYPTO_cleanup_all_ex_data], [],
113 [HAVE_CRYPTO_CLEANUP_ALL_EX_DATA=no])
114 test $HAVE_CRYPTO_CLEANUP_ALL_EX_DATA = yes &&
115 AC_DEFINE([HAVE_CRYPTO_CLEANUP_ALL_EX_DATA], [1],
116 [not available on FreeBSD 12])
117 HAVE_OPENSSL_THREAD_STOP=yes
118 AC_CHECK_DECL([OPENSSL_thread_stop], [],
119 [HAVE_OPENSSL_THREAD_STOP=no],
120 [#include <openssl/crypto.h>])
121 AC_CHECK_LIB([crypto], [OPENSSL_thread_stop], [],
122 [HAVE_OPENSSL_THREAD_STOP=no])
123 test $HAVE_OPENSSL_THREAD_STOP = yes &&
124 AC_DEFINE([HAVE_OPENSSL_THREAD_STOP], [1],
125 [not available on openssl-1.0])
128 ######################################################################### gcrypt
131 LIB_ARG_WITH([gcrypt], [-lgcrypt])
132 AC_CHECK_HEADER(gcrypt.h, [], [HAVE_GCRYPT=no])
133 AC_CHECK_LIB([gcrypt], [gcry_randomize], [], [HAVE_GCRYPT=no])
134 LIB_SUBST_FLAGS(gcrypt)
136 ######################################################################### crypto
137 AC_ARG_ENABLE(cryptolib, [AS_HELP_STRING(--enable-cryptolib=lib, [
138 Force using crypto library "lib". This package requires either
139 openssl or libgcrypt being installed. Possible values for "lib"
140 are thus "openssl" and "gcrypt". If this option is not given,
141 openssl is tried first. If openssl was not found, gcrypt is
144 CRYPTOLIB="$enable_cryptolib"
145 case "$enable_cryptolib" in
147 test $HAVE_OPENSSL = no && AC_MSG_ERROR(openssl not found)
148 crypto_ldflags="$openssl_ldflags"
151 test $HAVE_GCRYPT = no && AC_MSG_ERROR(gcrypt not found)
152 crypto_ldflags="$gcrypt_ldflags"
156 if test $HAVE_GCRYPT = yes; then
158 crypto_ldflags="$gcrypt_ldflags"
160 if test $HAVE_OPENSSL = yes; then
162 crypto_ldflags="$openssl_ldflags"
166 AC_MSG_ERROR([invalid value "$enable_cryptolib" for --enable-cryptolib])
169 AC_SUBST(crypto_ldflags)
170 ########################################################################## iconv
173 AC_SEARCH_LIBS([libiconv_open], [iconv],
174 [iconv_ldflags="$LIBS"],
177 AC_SUBST(iconv_ldflags)
178 AC_MSG_CHECKING([whether iconv needs const char ** cast])
183 size_t iconv(iconv_t cd, const char **inbuf,
184 size_t *inbytesleft, char **outbuf,
185 size_t *outbytesleft);
188 [cast='(const char **)'; msg=yes],
191 AC_DEFINE_UNQUOTED(ICONV_CAST, $cast, [cast for second arg to iconv()])
194 ########################################################################### ucred
195 AC_CHECK_TYPE([struct ucred], [
196 AC_DEFINE(HAVE_UCRED, 1, define to 1 you have struct ucred)
198 #include <sys/types.h>
199 #include <sys/socket.h>
201 ################################################################### FNM_EXTMATCH
202 AC_MSG_CHECKING(for extended wildcard pattern matching)
203 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
206 unsigned n = FNM_EXTMATCH;
207 ]])], [have_fnm_extmatch=yes], [have_fnm_extmatch=no])
208 AC_MSG_RESULT($have_fnm_extmatch)
209 if test $have_fnm_extmatch = yes; then
210 AC_DEFINE(HAVE_FNM_EXTMATCH, 1, define to 1 if FNM_EXTMATCH is defined)
212 ########################################################################### curses
214 LIB_ARG_WITH([curses], [])
216 AC_CHECK_HEADER(curses.h, [], [HAVE_CURSES=no])
217 AC_SEARCH_LIBS([initscr], [ncursesw curses], [], [HAVE_CURSES=no])
218 curses_ldflags="$curses_ldflags $LIBS"
219 LIB_SUBST_FLAGS(curses)
221 ########################################################################### ip_mreqn
222 AC_CHECK_TYPE([struct ip_mreqn], [
223 AC_DEFINE(HAVE_IP_MREQN, 1, define to 1 if you have struct ip_mreqn)
228 ########################################################################### ogg
230 LIB_ARG_WITH([ogg], [-logg])
232 AC_CHECK_HEADERS([ogg/ogg.h], [], [HAVE_OGG=no])
233 AC_CHECK_LIB([ogg], [ogg_stream_init], [], [HAVE_OGG=no])
234 AC_CHECK_LIB([ogg], [ogg_stream_flush_fill], [
235 AC_DEFINE(HAVE_OGG_STREAM_FLUSH_FILL, 1, [libogg >= 1.3.0])])
238 ######################################################################### vorbis
240 LIB_ARG_WITH([vorbis], [-lvorbis -lvorbisfile])
242 AC_CHECK_HEADERS([vorbis/codec.h], [], [HAVE_VORBIS=no])
243 AC_CHECK_LIB([vorbis], [vorbis_info_init], [], [HAVE_VORBIS=no])
244 LIB_SUBST_FLAGS(vorbis)
246 ######################################################################### speex
248 LIB_ARG_WITH([speex], [-lspeex])
250 AC_CHECK_HEADERS([speex/speex.h], [], [HAVE_SPEEX=no])
251 AC_CHECK_LIB([speex], [speex_decoder_init], [], [HAVE_SPEEX=no])
252 LIB_SUBST_FLAGS(speex)
254 ######################################################################### opus
256 LIB_ARG_WITH([opus], [-lopus])
258 AC_CHECK_HEADERS([opus/opus.h], [], [HAVE_OPUS=no])
259 AC_CHECK_LIB([opus], [opus_multistream_decode], [], [HAVE_OPUS=no])
260 LIB_SUBST_FLAGS(opus)
262 ########################################################################### flac
264 LIB_ARG_WITH([flac], [-lFLAC -lm])
266 AC_CHECK_HEADER(FLAC/stream_decoder.h, [], HAVE_FLAC=no)
267 AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], HAVE_FLAC=no)
268 LIB_SUBST_FLAGS(flac)
271 # some helper functions for codecs which use the ogg container format
272 AC_DEFUN([NEED_OGG_OBJECTS], [{
273 test "$HAVE_OGG" = 'yes' -a \( \
274 "$HAVE_VORBIS" = 'yes' \
275 -o "$HAVE_SPEEX" = 'yes' \
276 -o "$HAVE_OPUS" = 'yes' \
277 -o "$HAVE_FLAC" = 'yes' \
280 AC_DEFUN([NEED_VORBIS_OBJECTS], [{
281 test "$HAVE_OGG" = 'yes' -a "$HAVE_VORBIS" = 'yes'
283 AC_DEFUN([NEED_SPEEX_OBJECTS], [{
284 test "$HAVE_OGG" = 'yes' -a "$HAVE_SPEEX" = 'yes'
286 AC_DEFUN([NEED_OPUS_OBJECTS], [{
287 test "$HAVE_OGG" = 'yes' -a "$HAVE_OPUS" = 'yes'
289 AC_DEFUN([NEED_FLAC_OBJECTS], [{
290 test "$HAVE_OGG" = 'yes' -a "$HAVE_FLAC" = 'yes'
292 ########################################################################### faad
294 LIB_ARG_WITH([faad], [-lfaad])
296 AC_CHECK_HEADER(neaacdec.h, [], HAVE_FAAD=no)
297 AC_CHECK_LIB([faad], [NeAACDecOpen], [], HAVE_FAAD=no)
298 LIB_SUBST_FLAGS(faad)
300 ########################################################################### mad
302 LIB_ARG_WITH([mad], [-lmad])
304 AC_CHECK_HEADER(mad.h, [], HAVE_MAD=no)
305 AC_CHECK_LIB([mad], [mad_stream_init], [], HAVE_MAD=no)
308 ###################################################################### libid3tag
310 LIB_ARG_WITH([id3tag], [-lid3tag -lz])
312 AC_CHECK_HEADER(id3tag.h, [], HAVE_ID3TAG=no)
313 AC_CHECK_LIB([id3tag], [id3_file_fdopen], [], HAVE_ID3TAG=no)
314 LIB_SUBST_FLAGS(id3tag)
316 ########################################################################### oss
318 LIB_ARG_WITH([oss], [])
319 AC_CHECK_HEADER(sys/soundcard.h, [HAVE_OSS=yes], [HAVE_OSS=no])
320 AC_CHECK_LIB(ossaudio, _oss_ioctl, [oss_ldflags="$oss_ldflags -lossaudio"], [])
323 ########################################################################### alsa
325 LIB_ARG_WITH([alsa], [-lasound])
327 AC_CHECK_HEADER(alsa/asoundlib.h, [], HAVE_ALSA=no)
328 AC_CHECK_LIB([asound], [snd_pcm_open], [], HAVE_ALSA=no)
329 LIB_SUBST_FLAGS(alsa)
331 ######################################################################### pthread
333 LIB_ARG_WITH([pthread], [-lpthread])
335 AC_CHECK_HEADER(pthread.h, [], HAVE_PTHREAD=no)
336 AC_CHECK_LIB([pthread], [pthread_create], [], HAVE_PTHREAD=no)
337 LIB_SUBST_FLAGS(pthread)
339 ########################################################################### libao
341 LIB_ARG_WITH([ao], [-lao])
343 AC_CHECK_HEADER(ao/ao.h, [], HAVE_AO=no)
344 AC_CHECK_LIB([ao], [ao_initialize], [], HAVE_AO=no)
347 AC_DEFUN([NEED_AO_OBJECTS], [{ test $HAVE_AO = yes -a $HAVE_PTHREAD = yes; }])
348 ######################################################################## readline
350 AC_SEARCH_LIBS([tgetent], [tinfo curses terminfo termcap])
351 LIB_ARG_WITH([readline], [-lreadline $LIBS])
353 AC_CHECK_HEADER([readline/readline.h], [], [HAVE_READLINE=no])
354 AC_CHECK_LIB([readline], [rl_free_keymap], [], HAVE_READLINE=no)
357 [AC_DEFINE(RL_FREE_KEYMAP_DECLARED, 1, readline >= 6.3)],
361 #include <readline/readline.h>
364 LIB_SUBST_FLAGS(readline)
366 ############################################################# libsamplerate
368 LIB_ARG_WITH([samplerate], [-lsamplerate])
370 AC_CHECK_HEADER(samplerate.h, [], HAVE_SAMPLERATE=no)
371 AC_CHECK_LIB([samplerate], [src_process], [], HAVE_SAMPLERATE=no)
372 LIB_SUBST_FLAGS(samplerate)
374 ######################################################################### ubsan
375 AC_ARG_ENABLE([ubsan], [AS_HELP_STRING(--enable-ubsan,
376 [Detect and report undefined behaviour.])],
377 [ENABLE_UBSAN=yes], [ENABLE_UBSAN=no])
378 AC_SUBST(ENABLE_UBSAN)
379 ######################################################################### server
380 if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes && test -n "$BISON" && \
381 test -n "$FLEX"; then
383 executables="$executables server upgrade_db"
384 server_errlist_objs="
424 if test "$CRYPTOLIB" = openssl; then
425 server_errlist_objs="$server_errlist_objs openssl"
427 server_errlist_objs="$server_errlist_objs gcrypt"
429 NEED_OGG_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh_common"
430 NEED_VORBIS_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh"
431 NEED_SPEEX_OBJECTS() && server_errlist_objs="$server_errlist_objs spx_afh spx_common"
432 NEED_OPUS_OBJECTS() && server_errlist_objs="$server_errlist_objs opus_afh opus_common"
433 NEED_FLAC_OBJECTS && server_errlist_objs="$server_errlist_objs flac_afh"
434 if test $HAVE_FAAD = yes; then
435 server_errlist_objs="$server_errlist_objs aac_afh mp4"
437 server_objs="$server_errlist_objs"
438 AC_SUBST(server_objs, add_dot_o($server_objs))
442 ############################################################# upgrade_db
452 AC_SUBST(upgrade_db_objs, add_dot_o($upgrade_db_objs))
453 ############################################################# client
454 if test -n "$CRYPTOLIB"; then
456 executables="$executables client"
457 client_errlist_objs="
474 if test "$CRYPTOLIB" = openssl; then
475 client_errlist_objs="$client_errlist_objs openssl"
477 client_errlist_objs="$client_errlist_objs gcrypt"
479 if test $HAVE_READLINE = yes; then
480 client_errlist_objs="$client_errlist_objs interactive"
482 client_objs="$client_errlist_objs"
483 AC_SUBST(client_objs, add_dot_o($client_errlist_objs))
487 ############################################################# audiod
488 if test -n "$CRYPTOLIB"; then
490 executables="$executables audiod"
491 audiod_audio_formats="wma"
492 audiod_errlist_objs="$audiod_errlist_objs
531 if test "$CRYPTOLIB" = openssl; then
532 audiod_errlist_objs="$audiod_errlist_objs openssl"
534 audiod_errlist_objs="$audiod_errlist_objs gcrypt"
536 NEED_VORBIS_OBJECTS && {
537 audiod_errlist_objs="$audiod_errlist_objs oggdec_filter"
538 audiod_audio_formats="$audiod_audio_formats ogg"
540 NEED_SPEEX_OBJECTS && {
541 audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common"
542 audiod_audio_formats="$audiod_audio_formats spx"
544 NEED_OPUS_OBJECTS && {
545 audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common"
546 audiod_audio_formats="$audiod_audio_formats opus"
548 NEED_FLAC_OBJECTS && {
549 audiod_errlist_objs="$audiod_errlist_objs flacdec_filter"
550 audiod_audio_formats="$audiod_audio_formats flac"
552 if test $HAVE_FAAD = yes; then
553 audiod_errlist_objs="$audiod_errlist_objs aacdec_filter"
554 audiod_audio_formats="$audiod_audio_formats aac"
556 if test $HAVE_MAD = yes; then
557 audiod_audio_formats="$audiod_audio_formats mp3"
558 audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter"
560 if test $HAVE_OSS = yes; then
561 audiod_errlist_objs="$audiod_errlist_objs oss_write"
563 if test $HAVE_ALSA = yes; then
564 audiod_errlist_objs="$audiod_errlist_objs alsa_write"
567 audiod_errlist_objs="$audiod_errlist_objs ao_write"
569 if test $HAVE_SAMPLERATE = yes; then
570 audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav"
572 audiod_objs="$audiod_errlist_objs"
573 AC_SUBST(audiod_objs, add_dot_o($audiod_objs))
575 enum="$(for i in $audiod_audio_formats; do printf "AUDIO_FORMAT_${i}, " | tr '[a-z]' '[A-Z]'; done)"
576 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMATS_ENUM, $enum NUM_AUDIO_FORMATS,
577 enum of audio formats supported by audiod)
578 names="$(for i in $audiod_audio_formats; do printf \"$i\",' ' ; done)"
579 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMAT_ARRAY, $names, array of audio formats supported by audiod)
583 ########################################################################### mixer
584 if test $HAVE_OSS = yes -o $HAVE_ALSA = yes; then
586 executables="$executables mixer"
587 mixer_errlist_objs="mixer exec string fd time lsu version"
588 if test $HAVE_OSS = yes; then
589 mixer_errlist_objs="$mixer_errlist_objs oss_mix"
591 if test $HAVE_ALSA = yes; then
592 mixer_errlist_objs="$mixer_errlist_objs alsa_mix"
594 mixer_objs="$mixer_errlist_objs"
595 AC_SUBST(mixer_objs, add_dot_o($mixer_objs))
598 AC_MSG_WARN([no mixer support])
600 ########################################################################### gui
601 if test $HAVE_CURSES = yes; then
603 executables="$executables gui"
618 gui_objs="$gui_errlist_objs"
619 AC_SUBST(gui_objs, add_dot_o($gui_objs))
622 AC_MSG_WARN([no curses lib, cannot build para_gui])
624 ######################################################################## filter
625 filter_errlist_objs="
650 NEED_VORBIS_OBJECTS && filter_errlist_objs="$filter_errlist_objs oggdec_filter"
651 NEED_SPEEX_OBJECTS && filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common"
652 NEED_OPUS_OBJECTS && filter_errlist_objs="$filter_errlist_objs opusdec_filter opus_common"
653 NEED_FLAC_OBJECTS && filter_errlist_objs="$filter_errlist_objs flacdec_filter"
654 if test $HAVE_FAAD = yes; then
655 filter_errlist_objs="$filter_errlist_objs aacdec_filter"
657 if test $HAVE_MAD = yes; then
658 filter_errlist_objs="$filter_errlist_objs mp3dec_filter"
660 if test $HAVE_SAMPLERATE = yes; then
661 filter_errlist_objs="$filter_errlist_objs resample_filter check_wav"
663 filter_objs="$filter_errlist_objs"
665 AC_SUBST(filter_objs, add_dot_o($filter_objs))
666 ########################################################################## recv
687 NEED_OGG_OBJECTS && recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
688 NEED_VORBIS_OBJECTS && recv_errlist_objs="$recv_errlist_objs ogg_afh"
689 NEED_SPEEX_OBJECTS && recv_errlist_objs="$recv_errlist_objs spx_afh spx_common"
690 NEED_OPUS_OBJECTS && recv_errlist_objs="$recv_errlist_objs opus_afh opus_common"
691 NEED_FLAC_OBJECTS && recv_errlist_objs="$recv_errlist_objs flac_afh"
693 if test $HAVE_FAAD = yes; then
694 recv_errlist_objs="$recv_errlist_objs aac_afh mp4"
696 recv_objs="$recv_errlist_objs"
697 AC_SUBST(recv_objs, add_dot_o($recv_objs))
698 ########################################################################### afh
699 audio_format_handlers="mp3 wma"
711 NEED_OGG_OBJECTS && afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
712 NEED_VORBIS_OBJECTS && {
713 afh_errlist_objs="$afh_errlist_objs ogg_afh"
714 audio_format_handlers="$audio_format_handlers ogg"
716 NEED_SPEEX_OBJECTS && {
717 afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
718 audio_format_handlers="$audio_format_handlers spx"
720 NEED_OPUS_OBJECTS && {
721 afh_errlist_objs="$afh_errlist_objs opus_afh opus_common"
722 audio_format_handlers="$audio_format_handlers opus"
724 NEED_FLAC_OBJECTS && {
725 afh_errlist_objs="$afh_errlist_objs flac_afh"
726 audio_format_handlers="$audio_format_handlers flac"
728 if test $HAVE_FAAD = yes; then
729 afh_errlist_objs="$afh_errlist_objs aac_afh mp4"
730 audio_format_handlers="$audio_format_handlers aac"
733 afh_objs="$afh_errlist_objs"
735 AC_SUBST(afh_objs, add_dot_o($afh_objs))
736 ########################################################################## play
770 NEED_OGG_OBJECTS && play_errlist_objs="$play_errlist_objs ogg_afh_common"
771 NEED_VORBIS_OBJECTS && {
772 play_errlist_objs="$play_errlist_objs oggdec_filter ogg_afh"
774 NEED_SPEEX_OBJECTS && {
775 play_errlist_objs="$play_errlist_objs spxdec_filter spx_afh spx_common"
778 play_errlist_objs="$play_errlist_objs
783 NEED_FLAC_OBJECTS && {
784 play_errlist_objs="$play_errlist_objs flacdec_filter flac_afh"
786 if test $HAVE_FAAD = yes; then
787 play_errlist_objs="$play_errlist_objs aac_afh aacdec_filter mp4"
789 if test $HAVE_MAD = yes; then
790 play_errlist_objs="$play_errlist_objs mp3dec_filter"
792 if test $HAVE_OSS = yes; then
793 play_errlist_objs="$play_errlist_objs oss_write"
795 if test $HAVE_ALSA = yes; then
796 play_errlist_objs="$play_errlist_objs alsa_write"
799 play_errlist_objs="$play_errlist_objs ao_write"
801 if test $HAVE_READLINE = yes; then
802 play_errlist_objs="$play_errlist_objs interactive"
804 if test $HAVE_SAMPLERATE = yes; then
805 play_errlist_objs="$play_errlist_objs resample_filter check_wav"
808 play_objs="$play_errlist_objs"
809 AC_SUBST(play_objs, add_dot_o($play_objs))
810 ######################################################################### write
826 write_errlist_objs="$write_errlist_objs ao_write"
828 if test $HAVE_OSS = yes; then
829 write_errlist_objs="$write_errlist_objs oss_write"
831 if test $HAVE_ALSA = yes; then
832 write_errlist_objs="$write_errlist_objs alsa_write"
834 write_objs="$write_errlist_objs"
835 AC_SUBST(write_objs, add_dot_o($write_objs))
836 ######################################################################## audioc
837 audioc_errlist_objs="
846 if test $HAVE_READLINE = yes; then
847 audioc_errlist_objs="$audioc_errlist_objs
853 audioc_objs="$audioc_errlist_objs"
854 AC_SUBST(audioc_objs, add_dot_o($audioc_objs))
856 AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers",
857 [formats supported by para_server and para_afh])
858 AC_SUBST(executables)
862 paraslash configuration:
863 ~~~~~~~~~~~~~~~~~~~~~~~~
864 crypto lib: ${CRYPTOLIB:-[none]}
865 unix socket credentials: $have_ucred
866 readline (interactive CLIs): $HAVE_READLINE
867 id3 version 2 support: $HAVE_ID3TAG
869 audio format handlers: $audio_format_handlers
872 para_server: $build_server
874 para_mixer: $build_mixer
875 para_client: $build_client
876 para_audiod: $build_audiod