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 -lmp4ff])
296 AC_CHECK_HEADER(neaacdec.h, [], HAVE_FAAD=no)
297 AC_CHECK_HEADER(mp4ff.h, [], HAVE_FAAD=no)
298 AC_CHECK_LIB([faad], [NeAACDecOpen], [], HAVE_FAAD=no)
299 AC_CHECK_LIB([mp4ff], [mp4ff_meta_get_artist], [], HAVE_FAAD=no)
300 LIB_SUBST_FLAGS(faad)
302 ########################################################################### mad
304 LIB_ARG_WITH([mad], [-lmad])
306 AC_CHECK_HEADER(mad.h, [], HAVE_MAD=no)
307 AC_CHECK_LIB([mad], [mad_stream_init], [], HAVE_MAD=no)
310 ###################################################################### libid3tag
312 LIB_ARG_WITH([id3tag], [-lid3tag -lz])
314 AC_CHECK_HEADER(id3tag.h, [], HAVE_ID3TAG=no)
315 AC_CHECK_LIB([id3tag], [id3_file_fdopen], [], HAVE_ID3TAG=no)
316 LIB_SUBST_FLAGS(id3tag)
318 ########################################################################### oss
320 LIB_ARG_WITH([oss], [])
321 AC_CHECK_HEADER(sys/soundcard.h, [HAVE_OSS=yes], [HAVE_OSS=no])
322 AC_CHECK_LIB(ossaudio, _oss_ioctl, [oss_ldflags="$oss_ldflags -lossaudio"], [])
325 ########################################################################### alsa
327 LIB_ARG_WITH([alsa], [-lasound])
329 AC_CHECK_HEADER(alsa/asoundlib.h, [], HAVE_ALSA=no)
330 AC_CHECK_LIB([asound], [snd_pcm_open], [], HAVE_ALSA=no)
331 LIB_SUBST_FLAGS(alsa)
333 ######################################################################### pthread
335 LIB_ARG_WITH([pthread], [-lpthread])
337 AC_CHECK_HEADER(pthread.h, [], HAVE_PTHREAD=no)
338 AC_CHECK_LIB([pthread], [pthread_create], [], HAVE_PTHREAD=no)
339 LIB_SUBST_FLAGS(pthread)
341 ########################################################################### libao
343 LIB_ARG_WITH([ao], [-lao])
345 AC_CHECK_HEADER(ao/ao.h, [], HAVE_AO=no)
346 AC_CHECK_LIB([ao], [ao_initialize], [], HAVE_AO=no)
349 AC_DEFUN([NEED_AO_OBJECTS], [{ test $HAVE_AO = yes -a $HAVE_PTHREAD = yes; }])
350 ######################################################################## readline
352 AC_SEARCH_LIBS([tgetent], [tinfo curses terminfo termcap])
353 LIB_ARG_WITH([readline], [-lreadline $LIBS])
355 AC_CHECK_HEADER([readline/readline.h], [], [HAVE_READLINE=no])
356 AC_CHECK_LIB([readline], [rl_free_keymap], [], HAVE_READLINE=no)
359 [AC_DEFINE(RL_FREE_KEYMAP_DECLARED, 1, readline >= 6.3)],
363 #include <readline/readline.h>
366 LIB_SUBST_FLAGS(readline)
368 ############################################################# libsamplerate
370 LIB_ARG_WITH([samplerate], [-lsamplerate])
372 AC_CHECK_HEADER(samplerate.h, [], HAVE_SAMPLERATE=no)
373 AC_CHECK_LIB([samplerate], [src_process], [], HAVE_SAMPLERATE=no)
374 LIB_SUBST_FLAGS(samplerate)
376 ######################################################################### ubsan
377 AC_ARG_ENABLE([ubsan], [AS_HELP_STRING(--enable-ubsan,
378 [Detect and report undefined behaviour.])],
379 [ENABLE_UBSAN=yes], [ENABLE_UBSAN=no])
380 AC_SUBST(ENABLE_UBSAN)
381 ######################################################################### server
382 if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes && test -n "$BISON" && \
383 test -n "$FLEX"; then
385 executables="$executables server upgrade_db"
386 server_errlist_objs="
426 if test "$CRYPTOLIB" = openssl; then
427 server_errlist_objs="$server_errlist_objs openssl"
429 server_errlist_objs="$server_errlist_objs gcrypt"
431 NEED_OGG_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh_common"
432 NEED_VORBIS_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh"
433 NEED_SPEEX_OBJECTS() && server_errlist_objs="$server_errlist_objs spx_afh spx_common"
434 NEED_OPUS_OBJECTS() && server_errlist_objs="$server_errlist_objs opus_afh opus_common"
435 NEED_FLAC_OBJECTS && server_errlist_objs="$server_errlist_objs flac_afh"
436 if test $HAVE_FAAD = yes; then
437 server_errlist_objs="$server_errlist_objs aac_afh"
439 server_objs="$server_errlist_objs"
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"
459 client_errlist_objs="
476 if test "$CRYPTOLIB" = openssl; then
477 client_errlist_objs="$client_errlist_objs openssl"
479 client_errlist_objs="$client_errlist_objs gcrypt"
481 if test $HAVE_READLINE = yes; then
482 client_errlist_objs="$client_errlist_objs interactive"
484 client_objs="$client_errlist_objs"
485 AC_SUBST(client_objs, add_dot_o($client_errlist_objs))
489 ############################################################# audiod
490 if test -n "$CRYPTOLIB"; then
492 executables="$executables audiod"
493 audiod_audio_formats="wma"
494 audiod_errlist_objs="$audiod_errlist_objs
533 if test "$CRYPTOLIB" = openssl; then
534 audiod_errlist_objs="$audiod_errlist_objs openssl"
536 audiod_errlist_objs="$audiod_errlist_objs gcrypt"
538 NEED_VORBIS_OBJECTS && {
539 audiod_errlist_objs="$audiod_errlist_objs oggdec_filter"
540 audiod_audio_formats="$audiod_audio_formats ogg"
542 NEED_SPEEX_OBJECTS && {
543 audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common"
544 audiod_audio_formats="$audiod_audio_formats spx"
546 NEED_OPUS_OBJECTS && {
547 audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common"
548 audiod_audio_formats="$audiod_audio_formats opus"
550 NEED_FLAC_OBJECTS && {
551 audiod_errlist_objs="$audiod_errlist_objs flacdec_filter"
552 audiod_audio_formats="$audiod_audio_formats flac"
554 if test $HAVE_FAAD = yes; then
555 audiod_errlist_objs="$audiod_errlist_objs aacdec_filter"
556 audiod_audio_formats="$audiod_audio_formats aac"
558 if test $HAVE_MAD = yes; then
559 audiod_audio_formats="$audiod_audio_formats mp3"
560 audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter"
562 if test $HAVE_OSS = yes; then
563 audiod_errlist_objs="$audiod_errlist_objs oss_write"
565 if test $HAVE_ALSA = yes; then
566 audiod_errlist_objs="$audiod_errlist_objs alsa_write"
569 audiod_errlist_objs="$audiod_errlist_objs ao_write"
571 if test $HAVE_SAMPLERATE = yes; then
572 audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav"
574 audiod_objs="$audiod_errlist_objs"
575 AC_SUBST(audiod_objs, add_dot_o($audiod_objs))
577 enum="$(for i in $audiod_audio_formats; do printf "AUDIO_FORMAT_${i}, " | tr '[a-z]' '[A-Z]'; done)"
578 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMATS_ENUM, $enum NUM_AUDIO_FORMATS,
579 enum of audio formats supported by audiod)
580 names="$(for i in $audiod_audio_formats; do printf \"$i\",' ' ; done)"
581 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMAT_ARRAY, $names, array of audio formats supported by audiod)
585 ########################################################################### mixer
586 if test $HAVE_OSS = yes -o $HAVE_ALSA = yes; then
588 executables="$executables mixer"
589 mixer_errlist_objs="mixer exec string fd lsu version"
590 if test $HAVE_OSS = yes; then
591 mixer_errlist_objs="$mixer_errlist_objs oss_mix"
593 if test $HAVE_ALSA = yes; then
594 mixer_errlist_objs="$mixer_errlist_objs alsa_mix"
596 mixer_objs="$mixer_errlist_objs"
597 AC_SUBST(mixer_objs, add_dot_o($mixer_objs))
600 AC_MSG_WARN([no mixer support])
602 ########################################################################### gui
603 if test $HAVE_CURSES = yes; then
605 executables="$executables gui"
620 gui_objs="$gui_errlist_objs"
621 AC_SUBST(gui_objs, add_dot_o($gui_objs))
624 AC_MSG_WARN([no curses lib, cannot build para_gui])
626 ######################################################################## filter
627 filter_errlist_objs="
652 NEED_VORBIS_OBJECTS && filter_errlist_objs="$filter_errlist_objs oggdec_filter"
653 NEED_SPEEX_OBJECTS && filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common"
654 NEED_OPUS_OBJECTS && filter_errlist_objs="$filter_errlist_objs opusdec_filter opus_common"
655 NEED_FLAC_OBJECTS && filter_errlist_objs="$filter_errlist_objs flacdec_filter"
656 if test $HAVE_FAAD = yes; then
657 filter_errlist_objs="$filter_errlist_objs aacdec_filter"
659 if test $HAVE_MAD = yes; then
660 filter_errlist_objs="$filter_errlist_objs mp3dec_filter"
662 if test $HAVE_SAMPLERATE = yes; then
663 filter_errlist_objs="$filter_errlist_objs resample_filter check_wav"
665 filter_objs="$filter_errlist_objs"
667 AC_SUBST(filter_objs, add_dot_o($filter_objs))
668 ########################################################################## recv
689 NEED_OGG_OBJECTS && recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
690 NEED_VORBIS_OBJECTS && recv_errlist_objs="$recv_errlist_objs ogg_afh"
691 NEED_SPEEX_OBJECTS && recv_errlist_objs="$recv_errlist_objs spx_afh spx_common"
692 NEED_OPUS_OBJECTS && recv_errlist_objs="$recv_errlist_objs opus_afh opus_common"
693 NEED_FLAC_OBJECTS && recv_errlist_objs="$recv_errlist_objs flac_afh"
695 if test $HAVE_FAAD = yes; then
696 recv_errlist_objs="$recv_errlist_objs aac_afh"
698 recv_objs="$recv_errlist_objs"
699 AC_SUBST(recv_objs, add_dot_o($recv_objs))
700 ########################################################################### afh
701 audio_format_handlers="mp3 wma"
713 NEED_OGG_OBJECTS && afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
714 NEED_VORBIS_OBJECTS && {
715 afh_errlist_objs="$afh_errlist_objs ogg_afh"
716 audio_format_handlers="$audio_format_handlers ogg"
718 NEED_SPEEX_OBJECTS && {
719 afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
720 audio_format_handlers="$audio_format_handlers spx"
722 NEED_OPUS_OBJECTS && {
723 afh_errlist_objs="$afh_errlist_objs opus_afh opus_common"
724 audio_format_handlers="$audio_format_handlers opus"
726 NEED_FLAC_OBJECTS && {
727 afh_errlist_objs="$afh_errlist_objs flac_afh"
728 audio_format_handlers="$audio_format_handlers flac"
730 if test $HAVE_FAAD = yes; then
731 afh_errlist_objs="$afh_errlist_objs aac_afh"
732 audio_format_handlers="$audio_format_handlers aac"
735 afh_objs="$afh_errlist_objs"
737 AC_SUBST(afh_objs, add_dot_o($afh_objs))
738 ########################################################################## play
772 NEED_OGG_OBJECTS && play_errlist_objs="$play_errlist_objs ogg_afh_common"
773 NEED_VORBIS_OBJECTS && {
774 play_errlist_objs="$play_errlist_objs oggdec_filter ogg_afh"
776 NEED_SPEEX_OBJECTS && {
777 play_errlist_objs="$play_errlist_objs spxdec_filter spx_afh spx_common"
780 play_errlist_objs="$play_errlist_objs
785 NEED_FLAC_OBJECTS && {
786 play_errlist_objs="$play_errlist_objs flacdec_filter flac_afh"
788 if test $HAVE_FAAD = yes; then
789 play_errlist_objs="$play_errlist_objs aac_afh aacdec_filter"
791 if test $HAVE_MAD = yes; then
792 play_errlist_objs="$play_errlist_objs mp3dec_filter"
794 if test $HAVE_OSS = yes; then
795 play_errlist_objs="$play_errlist_objs oss_write"
797 if test $HAVE_ALSA = yes; then
798 play_errlist_objs="$play_errlist_objs alsa_write"
801 play_errlist_objs="$play_errlist_objs ao_write"
803 if test $HAVE_READLINE = yes; then
804 play_errlist_objs="$play_errlist_objs interactive"
806 if test $HAVE_SAMPLERATE = yes; then
807 play_errlist_objs="$play_errlist_objs resample_filter check_wav"
810 play_objs="$play_errlist_objs"
811 AC_SUBST(play_objs, add_dot_o($play_objs))
812 ######################################################################### write
828 write_errlist_objs="$write_errlist_objs ao_write"
830 if test $HAVE_OSS = yes; then
831 write_errlist_objs="$write_errlist_objs oss_write"
833 if test $HAVE_ALSA = yes; then
834 write_errlist_objs="$write_errlist_objs alsa_write"
836 write_objs="$write_errlist_objs"
837 AC_SUBST(write_objs, add_dot_o($write_objs))
838 ######################################################################## audioc
839 audioc_errlist_objs="
847 if test $HAVE_READLINE = yes; then
848 audioc_errlist_objs="$audioc_errlist_objs
855 audioc_objs="$audioc_errlist_objs"
856 AC_SUBST(audioc_objs, add_dot_o($audioc_objs))
858 AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers",
859 [formats supported by para_server and para_afh])
860 AC_SUBST(executables)
864 paraslash configuration:
865 ~~~~~~~~~~~~~~~~~~~~~~~~
866 crypto lib: ${CRYPTOLIB:-[none]}
867 unix socket credentials: $have_ucred
868 readline (interactive CLIs): $HAVE_READLINE
869 id3 version 2 support: $HAVE_ID3TAG
871 audio format handlers: $audio_format_handlers
874 para_server: $build_server
876 para_mixer: $build_mixer
877 para_client: $build_client
878 para_audiod: $build_audiod