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 if test "$ac_cv_have_decl_RSA_set0_key" = yes; then
106 AC_DEFINE([HAVE_RSA_SET0_KEY], [1], [openssl >= 1.1])
109 Old openssl library detected. Support for openssl-1.0 and earlier
110 will be removed in the next major paraslash release. Please upgrade
111 your openssl installation.])
113 HAVE_CRYPTO_CLEANUP_ALL_EX_DATA=yes
114 AC_CHECK_DECL([CRYPTO_cleanup_all_ex_data], [],
115 [HAVE_CRYPTO_CLEANUP_ALL_EX_DATA=no],
116 [#include <openssl/rsa.h>])
117 AC_CHECK_LIB([crypto], [CRYPTO_cleanup_all_ex_data], [],
118 [HAVE_CRYPTO_CLEANUP_ALL_EX_DATA=no])
119 test $HAVE_CRYPTO_CLEANUP_ALL_EX_DATA = yes &&
120 AC_DEFINE([HAVE_CRYPTO_CLEANUP_ALL_EX_DATA], [1],
121 [not available on FreeBSD 12])
122 HAVE_OPENSSL_THREAD_STOP=yes
123 AC_CHECK_DECL([OPENSSL_thread_stop], [],
124 [HAVE_OPENSSL_THREAD_STOP=no],
125 [#include <openssl/crypto.h>])
126 AC_CHECK_LIB([crypto], [OPENSSL_thread_stop], [],
127 [HAVE_OPENSSL_THREAD_STOP=no])
128 test $HAVE_OPENSSL_THREAD_STOP = yes &&
129 AC_DEFINE([HAVE_OPENSSL_THREAD_STOP], [1],
130 [not available on openssl-1.0])
133 ######################################################################### gcrypt
136 LIB_ARG_WITH([gcrypt], [-lgcrypt])
137 AC_CHECK_HEADER(gcrypt.h, [], [HAVE_GCRYPT=no])
138 AC_CHECK_LIB([gcrypt], [gcry_randomize], [], [HAVE_GCRYPT=no])
139 LIB_SUBST_FLAGS(gcrypt)
141 ######################################################################### crypto
142 AC_ARG_ENABLE(cryptolib, [AS_HELP_STRING(--enable-cryptolib=lib, [
143 Force using crypto library "lib". This package requires either
144 openssl or libgcrypt being installed. Possible values for "lib"
145 are thus "openssl" and "gcrypt". If this option is not given,
146 openssl is tried first. If openssl was not found, gcrypt is
149 CRYPTOLIB="$enable_cryptolib"
150 case "$enable_cryptolib" in
152 test $HAVE_OPENSSL = no && AC_MSG_ERROR(openssl not found)
153 crypto_ldflags="$openssl_ldflags"
156 test $HAVE_GCRYPT = no && AC_MSG_ERROR(gcrypt not found)
157 crypto_ldflags="$gcrypt_ldflags"
161 if test $HAVE_GCRYPT = yes; then
163 crypto_ldflags="$gcrypt_ldflags"
165 if test $HAVE_OPENSSL = yes; then
167 crypto_ldflags="$openssl_ldflags"
171 AC_MSG_ERROR([invalid value "$enable_cryptolib" for --enable-cryptolib])
174 AC_SUBST(crypto_ldflags)
175 ########################################################################## iconv
178 AC_SEARCH_LIBS([libiconv_open], [iconv],
179 [iconv_ldflags="$LIBS"],
182 AC_SUBST(iconv_ldflags)
183 AC_MSG_CHECKING([whether iconv needs const char ** cast])
188 size_t iconv(iconv_t cd, const char **inbuf,
189 size_t *inbytesleft, char **outbuf,
190 size_t *outbytesleft);
193 [cast='(const char **)'; msg=yes],
196 AC_DEFINE_UNQUOTED(ICONV_CAST, $cast, [cast for second arg to iconv()])
199 ########################################################################### ucred
200 AC_CHECK_TYPE([struct ucred], [
201 AC_DEFINE(HAVE_UCRED, 1, define to 1 you have struct ucred)
203 #include <sys/types.h>
204 #include <sys/socket.h>
206 ################################################################### FNM_EXTMATCH
207 AC_MSG_CHECKING(for extended wildcard pattern matching)
208 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
211 unsigned n = FNM_EXTMATCH;
212 ]])], [have_fnm_extmatch=yes], [have_fnm_extmatch=no])
213 AC_MSG_RESULT($have_fnm_extmatch)
214 if test $have_fnm_extmatch = yes; then
215 AC_DEFINE(HAVE_FNM_EXTMATCH, 1, define to 1 if FNM_EXTMATCH is defined)
217 ########################################################################### curses
219 LIB_ARG_WITH([curses], [])
221 AC_CHECK_HEADER(curses.h, [], [HAVE_CURSES=no])
222 AC_SEARCH_LIBS([initscr], [ncursesw curses], [], [HAVE_CURSES=no])
223 curses_ldflags="$curses_ldflags $LIBS"
224 LIB_SUBST_FLAGS(curses)
226 ########################################################################### ip_mreqn
227 AC_CHECK_TYPE([struct ip_mreqn], [
228 AC_DEFINE(HAVE_IP_MREQN, 1, define to 1 if you have struct ip_mreqn)
233 ########################################################################### ogg
235 LIB_ARG_WITH([ogg], [-logg])
237 AC_CHECK_HEADERS([ogg/ogg.h], [], [HAVE_OGG=no])
238 AC_CHECK_LIB([ogg], [ogg_stream_init], [], [HAVE_OGG=no])
239 AC_CHECK_LIB([ogg], [ogg_stream_flush_fill], [
240 AC_DEFINE(HAVE_OGG_STREAM_FLUSH_FILL, 1, [libogg >= 1.3.0])])
243 ######################################################################### vorbis
245 LIB_ARG_WITH([vorbis], [-lvorbis -lvorbisfile])
247 AC_CHECK_HEADERS([vorbis/codec.h], [], [HAVE_VORBIS=no])
248 AC_CHECK_LIB([vorbis], [vorbis_info_init], [], [HAVE_VORBIS=no])
249 LIB_SUBST_FLAGS(vorbis)
251 ######################################################################### speex
253 LIB_ARG_WITH([speex], [-lspeex])
255 AC_CHECK_HEADERS([speex/speex.h], [], [HAVE_SPEEX=no])
256 AC_CHECK_LIB([speex], [speex_decoder_init], [], [HAVE_SPEEX=no])
257 LIB_SUBST_FLAGS(speex)
259 ######################################################################### opus
261 LIB_ARG_WITH([opus], [-lopus])
263 AC_CHECK_HEADERS([opus/opus.h], [], [HAVE_OPUS=no])
264 AC_CHECK_LIB([opus], [opus_multistream_decode], [], [HAVE_OPUS=no])
265 LIB_SUBST_FLAGS(opus)
267 ########################################################################### flac
269 LIB_ARG_WITH([flac], [-lFLAC -lm])
271 AC_CHECK_HEADER(FLAC/stream_decoder.h, [], HAVE_FLAC=no)
272 AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], HAVE_FLAC=no)
273 LIB_SUBST_FLAGS(flac)
276 # some helpers for the ogg container format
277 AS_IF([test "$HAVE_OGG" = 'yes' -a \( \
278 "$HAVE_VORBIS" = 'yes' \
279 -o "$HAVE_SPEEX" = 'yes' \
280 -o "$HAVE_OPUS" = 'yes' \
281 -o "$HAVE_FLAC" = 'yes' \
282 \)], [NEED_OGG_OBJECTS=yes], [NEED_OGG_OBJECTS=no])
283 AS_IF([test "$HAVE_OGG" = 'yes' -a "$HAVE_VORBIS" = 'yes'],
284 [NEED_VORBIS_OBJECTS=yes], [NEED_VORBIS_OBJECTS=no])
285 AS_IF([test "$HAVE_OGG" = 'yes' -a "$HAVE_SPEEX" = 'yes'],
286 [NEED_SPEEX_OBJECTS=yes], [NEED_SPEEX_OBJECTS=no])
287 AS_IF([test "$HAVE_OGG" = 'yes' -a "$HAVE_OPUS" = 'yes'],
288 [NEED_OPUS_OBJECTS=yes], [NEED_OPUS_OBJECTS=no])
289 AS_IF([test "$HAVE_OGG" = 'yes' -a "$HAVE_FLAC" = 'yes'],
290 [NEED_FLAC_OBJECTS=yes], [NEED_FLAC_OBJECTS=no])
291 ########################################################################### faad
293 LIB_ARG_WITH([faad], [-lfaad])
295 AC_CHECK_HEADER(neaacdec.h, [], HAVE_FAAD=no)
296 AC_CHECK_LIB([faad], [NeAACDecOpen], [], HAVE_FAAD=no)
297 LIB_SUBST_FLAGS(faad)
299 ########################################################################### mad
301 LIB_ARG_WITH([mad], [-lmad])
303 AC_CHECK_HEADER(mad.h, [], HAVE_MAD=no)
304 AC_CHECK_LIB([mad], [mad_stream_init], [], HAVE_MAD=no)
307 ###################################################################### libid3tag
309 LIB_ARG_WITH([id3tag], [-lid3tag -lz])
311 AC_CHECK_HEADER(id3tag.h, [], HAVE_ID3TAG=no)
312 AC_CHECK_LIB([id3tag], [id3_file_fdopen], [], HAVE_ID3TAG=no)
313 LIB_SUBST_FLAGS(id3tag)
315 ########################################################################### oss
317 LIB_ARG_WITH([oss], [])
318 AC_CHECK_HEADER(sys/soundcard.h, [HAVE_OSS=yes], [HAVE_OSS=no])
319 AC_CHECK_LIB(ossaudio, _oss_ioctl, [oss_ldflags="$oss_ldflags -lossaudio"], [])
322 ########################################################################### alsa
324 LIB_ARG_WITH([alsa], [-lasound])
326 AC_CHECK_HEADER(alsa/asoundlib.h, [], HAVE_ALSA=no)
327 AC_CHECK_LIB([asound], [snd_pcm_open], [], HAVE_ALSA=no)
328 LIB_SUBST_FLAGS(alsa)
330 ######################################################################### pthread
332 LIB_ARG_WITH([pthread], [-lpthread])
334 AC_CHECK_HEADER(pthread.h, [], HAVE_PTHREAD=no)
335 AC_CHECK_LIB([pthread], [pthread_create], [], HAVE_PTHREAD=no)
336 LIB_SUBST_FLAGS(pthread)
338 ########################################################################### libao
340 LIB_ARG_WITH([ao], [-lao])
342 AC_CHECK_HEADER(ao/ao.h, [], HAVE_AO=no)
343 AC_CHECK_LIB([ao], [ao_initialize], [], HAVE_AO=no)
346 AC_DEFUN([NEED_AO_OBJECTS], [{ test $HAVE_AO = yes -a $HAVE_PTHREAD = yes; }])
347 ######################################################################## readline
349 AC_SEARCH_LIBS([tgetent], [tinfo curses terminfo termcap])
350 LIB_ARG_WITH([readline], [-lreadline $LIBS])
352 AC_CHECK_HEADER([readline/readline.h], [], [HAVE_READLINE=no])
353 AC_CHECK_LIB([readline], [rl_free_keymap], [], HAVE_READLINE=no)
356 [AC_DEFINE(RL_FREE_KEYMAP_DECLARED, 1, readline >= 6.3)],
360 #include <readline/readline.h>
363 LIB_SUBST_FLAGS(readline)
365 ############################################################# libsamplerate
367 LIB_ARG_WITH([samplerate], [-lsamplerate])
369 AC_CHECK_HEADER(samplerate.h, [], HAVE_SAMPLERATE=no)
370 AC_CHECK_LIB([samplerate], [src_process], [], HAVE_SAMPLERATE=no)
371 LIB_SUBST_FLAGS(samplerate)
373 ######################################################################### ubsan
374 AC_ARG_ENABLE([ubsan], [AS_HELP_STRING(--enable-ubsan,
375 [Detect and report undefined behaviour.])],
376 [ENABLE_UBSAN=yes], [ENABLE_UBSAN=no])
377 AC_SUBST(ENABLE_UBSAN)
378 ######################################################################### server
379 if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes; then
381 executables="$executables server upgrade_db"
422 if test "$CRYPTOLIB" = openssl; then
423 server_objs="$server_objs openssl"
425 server_objs="$server_objs gcrypt"
427 AS_IF([test $NEED_OGG_OBJECTS = yes],
428 [server_objs="$server_objs ogg_afh_common"])
429 AS_IF([test $NEED_VORBIS_OBJECTS = yes],
430 [server_objs="$server_objs ogg_afh"])
431 AS_IF([test $NEED_SPEEX_OBJECTS = yes],
432 [server_objs="$server_objs spx_afh spx_common"])
433 AS_IF([test $NEED_OPUS_OBJECTS = yes],
434 [server_objs="$server_objs opus_afh opus_common"])
435 AS_IF([test $NEED_FLAC_OBJECTS = yes],
436 [server_objs="$server_objs flac_afh"])
437 if test $HAVE_FAAD = yes; then
438 server_objs="$server_objs aac_afh mp4"
440 AC_SUBST(server_objs, add_dot_o($server_objs))
444 ############################################################# upgrade_db
454 AC_SUBST(upgrade_db_objs, add_dot_o($upgrade_db_objs))
455 ############################################################# client
456 if test -n "$CRYPTOLIB"; then
458 executables="$executables client"
476 if test "$CRYPTOLIB" = openssl; then
477 client_objs="$client_objs openssl"
479 client_objs="$client_objs gcrypt"
481 if test $HAVE_READLINE = yes; then
482 client_objs="$client_objs interactive"
484 AC_SUBST(client_objs, add_dot_o($client_objs))
488 ############################################################# audiod
489 if test -n "$CRYPTOLIB"; then
491 executables="$executables audiod"
492 audiod_audio_formats="wma"
493 audiod_objs="$audiod_objs
532 if test "$CRYPTOLIB" = openssl; then
533 audiod_objs="$audiod_objs openssl"
535 audiod_objs="$audiod_objs gcrypt"
537 AS_IF([test $NEED_VORBIS_OBJECTS = yes], [
538 audiod_objs="$audiod_objs oggdec_filter"
539 audiod_audio_formats="$audiod_audio_formats ogg"
541 AS_IF([test $NEED_SPEEX_OBJECTS = yes], [
542 audiod_objs="$audiod_objs spxdec_filter spx_common"
543 audiod_audio_formats="$audiod_audio_formats spx"
545 AS_IF([test $NEED_OPUS_OBJECTS = yes], [
546 audiod_objs="$audiod_objs opusdec_filter opus_common"
547 audiod_audio_formats="$audiod_audio_formats opus"
549 AS_IF([test $NEED_FLAC_OBJECTS = yes], [
550 audiod_objs="$audiod_objs flacdec_filter"
551 audiod_audio_formats="$audiod_audio_formats flac"
553 if test $HAVE_FAAD = yes; then
554 audiod_objs="$audiod_objs aacdec_filter"
555 audiod_audio_formats="$audiod_audio_formats aac"
557 if test $HAVE_MAD = yes; then
558 audiod_audio_formats="$audiod_audio_formats mp3"
559 audiod_objs="$audiod_objs mp3dec_filter"
561 if test $HAVE_OSS = yes; then
562 audiod_objs="$audiod_objs oss_write"
564 if test $HAVE_ALSA = yes; then
565 audiod_objs="$audiod_objs alsa_write"
568 audiod_objs="$audiod_objs ao_write"
570 if test $HAVE_SAMPLERATE = yes; then
571 audiod_objs="$audiod_objs resample_filter check_wav"
573 AC_SUBST(audiod_objs, add_dot_o($audiod_objs))
575 names="$(for i in $audiod_audio_formats; do printf \"$i\",' ' ; done)"
576 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMAT_ARRAY, $names, array of audio formats supported by audiod)
580 ########################################################################### mixer
581 if test $HAVE_OSS = yes -o $HAVE_ALSA = yes; then
583 executables="$executables mixer"
584 mixer_objs="mixer exec string fd time lsu version"
585 if test $HAVE_OSS = yes; then
586 mixer_objs="$mixer_objs oss_mix"
588 if test $HAVE_ALSA = yes; then
589 mixer_objs="$mixer_objs alsa_mix"
591 AC_SUBST(mixer_objs, add_dot_o($mixer_objs))
594 AC_MSG_WARN([no mixer support])
596 ########################################################################### gui
597 if test $HAVE_CURSES = yes; then
599 executables="$executables gui"
614 AC_SUBST(gui_objs, add_dot_o($gui_objs))
617 AC_MSG_WARN([no curses lib, cannot build para_gui])
619 ######################################################################## filter
645 AS_IF([test $NEED_VORBIS_OBJECTS = yes],
646 [filter_objs="$filter_objs oggdec_filter"])
647 AS_IF([test $NEED_SPEEX_OBJECTS = yes],
648 [filter_objs="$filter_objs spxdec_filter spx_common"])
649 AS_IF([test $NEED_OPUS_OBJECTS = yes],
650 [filter_objs="$filter_objs opusdec_filter opus_common"])
651 AS_IF([test $NEED_FLAC_OBJECTS = yes],
652 [filter_objs="$filter_objs flacdec_filter"])
653 if test $HAVE_FAAD = yes; then
654 filter_objs="$filter_objs aacdec_filter"
656 if test $HAVE_MAD = yes; then
657 filter_objs="$filter_objs mp3dec_filter"
659 if test $HAVE_SAMPLERATE = yes; then
660 filter_objs="$filter_objs resample_filter check_wav"
662 AC_SUBST(filter_objs, add_dot_o($filter_objs))
663 ########################################################################## recv
684 AS_IF([test $NEED_OGG_OBJECTS = yes], [recv_objs="$recv_objs ogg_afh_common"])
685 AS_IF([test $NEED_VORBIS_OBJECTS = yes], [recv_objs="$recv_objs ogg_afh"])
686 AS_IF([test $NEED_SPEEX_OBJECTS = yes],
687 [recv_objs="$recv_objs spx_afh spx_common"])
688 AS_IF([test $NEED_OPUS_OBJECTS = yes],
689 [recv_objs="$recv_objs opus_afh opus_common"])
690 AS_IF([test $NEED_FLAC_OBJECTS = yes], [recv_objs="$recv_objs flac_afh"])
692 if test $HAVE_FAAD = yes; then
693 recv_objs="$recv_objs aac_afh mp4"
695 AC_SUBST(recv_objs, add_dot_o($recv_objs))
696 ########################################################################### afh
697 audio_format_handlers="mp3 wma"
709 AS_IF([test $NEED_OGG_OBJECTS = yes], [afh_objs="$afh_objs ogg_afh_common"])
710 AS_IF([test $NEED_VORBIS_OBJECTS = yes], [
711 afh_objs="$afh_objs ogg_afh"
712 audio_format_handlers="$audio_format_handlers ogg"
714 AS_IF([test $NEED_SPEEX_OBJECTS = yes], [
715 afh_objs="$afh_objs spx_afh spx_common"
716 audio_format_handlers="$audio_format_handlers spx"
718 AS_IF([test $NEED_OPUS_OBJECTS = yes], [
719 afh_objs="$afh_objs opus_afh opus_common"
720 audio_format_handlers="$audio_format_handlers opus"
722 AS_IF([test $NEED_FLAC_OBJECTS = yes], [
723 afh_objs="$afh_objs flac_afh"
724 audio_format_handlers="$audio_format_handlers flac"
726 if test $HAVE_FAAD = yes; then
727 afh_objs="$afh_objs aac_afh mp4"
728 audio_format_handlers="$audio_format_handlers aac"
730 AC_SUBST(afh_objs, add_dot_o($afh_objs))
731 ########################################################################## play
765 AS_IF([test $NEED_OGG_OBJECTS = yes], [play_objs="$play_objs ogg_afh_common"])
766 AS_IF([test $NEED_VORBIS_OBJECTS = yes],
767 [play_objs="$play_objs oggdec_filter ogg_afh"])
768 AS_IF([test $NEED_SPEEX_OBJECTS = yes],
769 [play_objs="$play_objs spxdec_filter spx_afh spx_common"])
770 AS_IF([test $NEED_OPUS_OBJECTS = yes],
771 [play_objs="$play_objs opusdec_filter opus_afh opus_common"])
772 AS_IF([test $NEED_FLAC_OBJECTS = yes],
773 [play_objs="$play_objs flacdec_filter flac_afh"])
774 if test $HAVE_FAAD = yes; then
775 play_objs="$play_objs aac_afh aacdec_filter mp4"
777 if test $HAVE_MAD = yes; then
778 play_objs="$play_objs mp3dec_filter"
780 if test $HAVE_OSS = yes; then
781 play_objs="$play_objs oss_write"
783 if test $HAVE_ALSA = yes; then
784 play_objs="$play_objs alsa_write"
787 play_objs="$play_objs ao_write"
789 if test $HAVE_READLINE = yes; then
790 play_objs="$play_objs interactive"
792 if test $HAVE_SAMPLERATE = yes; then
793 play_objs="$play_objs resample_filter check_wav"
795 AC_SUBST(play_objs, add_dot_o($play_objs))
796 ######################################################################### write
812 write_objs="$write_objs ao_write"
814 if test $HAVE_OSS = yes; then
815 write_objs="$write_objs oss_write"
817 if test $HAVE_ALSA = yes; then
818 write_objs="$write_objs alsa_write"
820 AC_SUBST(write_objs, add_dot_o($write_objs))
821 ######################################################################## audioc
831 if test $HAVE_READLINE = yes; then
832 audioc_objs="$audioc_objs
838 AC_SUBST(audioc_objs, add_dot_o($audioc_objs))
840 AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers",
841 [formats supported by para_server and para_afh])
842 AC_SUBST(executables)
846 paraslash configuration:
847 ~~~~~~~~~~~~~~~~~~~~~~~~
848 crypto lib: ${CRYPTOLIB:-[none]}
849 readline (interactive CLIs): $HAVE_READLINE
850 id3 version 2 support: $HAVE_ID3TAG
852 audio format handlers: $audio_format_handlers
855 para_server: $build_server
857 para_mixer: $build_mixer
858 para_client: $build_client
859 para_audiod: $build_audiod