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)
41 AC_SUBST(HAVE_[]m4_toupper([$1]))
46 AC_SUBST(HAVE_[]m4_toupper([$1]))
50 AC_DEFUN([REQUIRE_EXECUTABLE], [
51 AC_PATH_PROG(m4_toupper([$1]), [$1])
52 test -z "$m4_toupper([$1])" && AC_MSG_ERROR(
53 [$1 is required to build this package])
56 AC_USE_SYSTEM_EXTENSIONS
61 REQUIRE_EXECUTABLE([bison])
62 REQUIRE_EXECUTABLE([flex])
63 REQUIRE_EXECUTABLE([m4])
65 executables="recv filter audioc write afh play"
66 ########################################################################### osl
68 LIB_ARG_WITH([osl], [-losl])
70 AC_CHECK_HEADER(osl.h, [], [HAVE_OSL=no])
71 AC_CHECK_LIB([osl], [osl_open_table], [], [HAVE_OSL=no])
74 ######################################################################## lopsub
76 AC_PATH_PROG([LOPSUBGEN], [lopsubgen])
77 test -z "$LOPSUBGEN" && HAVE_LOPSUB=no
79 LIB_ARG_WITH([lopsub], [-llopsub])
80 AC_CHECK_HEADER(lopsub.h, [], [HAVE_LOPSUB=no])
81 AC_CHECK_LIB([lopsub], [lls_merge], [], [HAVE_LOPSUB=no])
82 if test $HAVE_LOPSUB = no; then AC_MSG_ERROR([
83 The lopsub library is required to build this software, but
84 the above checks indicate it is not installed on your system.
85 Run the following command to download a copy.
86 git clone git://git.tuebingen.mpg.de/lopsub.git
87 Install the library, then run this configure script again.
90 LIB_SUBST_FLAGS([lopsub])
92 ######################################################################## openssl
95 LIB_ARG_WITH([openssl], [-lssl -lcrypto])
96 AC_CHECK_HEADER(openssl/ssl.h, [], [HAVE_OPENSSL=no])
97 AC_CHECK_LIB([crypto], [RAND_bytes], [], [HAVE_OPENSSL=no])
98 LIB_SUBST_FLAGS(openssl)
99 if test $HAVE_OPENSSL = yes; then
100 HAVE_RSA_SET0_KEY=yes
101 AC_CHECK_DECL([RSA_set0_key], [], [], [#include <openssl/rsa.h>])
102 AC_CHECK_LIB([crypto], [RSA_set0_key], [], [])
103 if test "$ac_cv_have_decl_RSA_set0_key" != "$ac_cv_lib_crypto_RSA_set0_key"; then
104 AC_MSG_ERROR([openssl header/library mismatch])
106 if test "$ac_cv_have_decl_RSA_set0_key" = yes; then
107 AC_DEFINE([HAVE_RSA_SET0_KEY], [1], [openssl >= 1.1])
110 Old openssl library detected. Support for openssl-1.0 and earlier
111 will be removed in the next major paraslash release. Please upgrade
112 your openssl installation.])
114 HAVE_CRYPTO_CLEANUP_ALL_EX_DATA=yes
115 AC_CHECK_DECL([CRYPTO_cleanup_all_ex_data], [],
116 [HAVE_CRYPTO_CLEANUP_ALL_EX_DATA=no],
117 [#include <openssl/rsa.h>])
118 AC_CHECK_LIB([crypto], [CRYPTO_cleanup_all_ex_data], [],
119 [HAVE_CRYPTO_CLEANUP_ALL_EX_DATA=no])
120 test $HAVE_CRYPTO_CLEANUP_ALL_EX_DATA = yes &&
121 AC_DEFINE([HAVE_CRYPTO_CLEANUP_ALL_EX_DATA], [1],
122 [not available on FreeBSD 12])
123 HAVE_OPENSSL_THREAD_STOP=yes
124 AC_CHECK_DECL([OPENSSL_thread_stop], [],
125 [HAVE_OPENSSL_THREAD_STOP=no],
126 [#include <openssl/crypto.h>])
127 AC_CHECK_LIB([crypto], [OPENSSL_thread_stop], [],
128 [HAVE_OPENSSL_THREAD_STOP=no])
129 test $HAVE_OPENSSL_THREAD_STOP = yes &&
130 AC_DEFINE([HAVE_OPENSSL_THREAD_STOP], [1],
131 [not available on openssl-1.0])
134 ######################################################################### gcrypt
137 LIB_ARG_WITH([gcrypt], [-lgcrypt])
138 AC_CHECK_HEADER(gcrypt.h, [], [HAVE_GCRYPT=no])
139 AC_CHECK_LIB([gcrypt], [gcry_randomize], [], [HAVE_GCRYPT=no])
140 LIB_SUBST_FLAGS(gcrypt)
142 ######################################################################### crypto
143 AC_ARG_ENABLE(cryptolib, [AS_HELP_STRING(--enable-cryptolib=lib, [
144 Force using crypto library "lib". This package requires either
145 openssl or libgcrypt being installed. Possible values for "lib"
146 are thus "openssl" and "gcrypt". If this option is not given,
147 openssl is tried first. If openssl was not found, gcrypt is
150 CRYPTOLIB="$enable_cryptolib"
151 case "$enable_cryptolib" in
153 test $HAVE_OPENSSL = no && AC_MSG_ERROR(openssl not found)
154 crypto_ldflags="$openssl_ldflags"
157 test $HAVE_GCRYPT = no && AC_MSG_ERROR(gcrypt not found)
158 crypto_ldflags="$gcrypt_ldflags"
162 if test $HAVE_GCRYPT = yes; then
164 crypto_ldflags="$gcrypt_ldflags"
166 if test $HAVE_OPENSSL = yes; then
168 crypto_ldflags="$openssl_ldflags"
172 AC_MSG_ERROR([invalid value "$enable_cryptolib" for --enable-cryptolib])
175 AC_SUBST(crypto_ldflags)
177 ########################################################################## iconv
180 AC_SEARCH_LIBS([libiconv_open], [iconv],
181 [iconv_ldflags="$LIBS"],
184 AC_SUBST(iconv_ldflags)
185 AC_MSG_CHECKING([whether iconv needs const char ** cast])
190 size_t iconv(iconv_t cd, const char **inbuf,
191 size_t *inbytesleft, char **outbuf,
192 size_t *outbytesleft);
195 [cast='(const char **)'; msg=yes],
198 AC_DEFINE_UNQUOTED(ICONV_CAST, $cast, [cast for second arg to iconv()])
201 ########################################################################### ucred
202 AC_CHECK_TYPE([struct ucred], [
203 AC_DEFINE(HAVE_UCRED, 1, define to 1 you have struct ucred)
205 #include <sys/types.h>
206 #include <sys/socket.h>
208 ################################################################### FNM_EXTMATCH
209 AC_MSG_CHECKING(for extended wildcard pattern matching)
210 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
213 unsigned n = FNM_EXTMATCH;
214 ]])], [have_fnm_extmatch=yes], [have_fnm_extmatch=no])
215 AC_MSG_RESULT($have_fnm_extmatch)
216 if test $have_fnm_extmatch = yes; then
217 AC_DEFINE(HAVE_FNM_EXTMATCH, 1, define to 1 if FNM_EXTMATCH is defined)
219 ########################################################################### curses
221 LIB_ARG_WITH([curses], [])
223 AC_CHECK_HEADER(curses.h, [], [HAVE_CURSES=no])
224 AC_SEARCH_LIBS([initscr], [ncursesw curses], [], [HAVE_CURSES=no])
225 curses_ldflags="$curses_ldflags $LIBS"
226 LIB_SUBST_FLAGS(curses)
228 ########################################################################### ip_mreqn
229 AC_CHECK_TYPE([struct ip_mreqn], [
230 AC_DEFINE(HAVE_IP_MREQN, 1, define to 1 if you have struct ip_mreqn)
235 ########################################################################### ogg
237 LIB_ARG_WITH([ogg], [-logg])
239 AC_CHECK_HEADERS([ogg/ogg.h], [], [HAVE_OGG=no])
240 AC_CHECK_LIB([ogg], [ogg_stream_init], [], [HAVE_OGG=no])
241 AC_CHECK_LIB([ogg], [ogg_stream_flush_fill], [
242 AC_DEFINE(HAVE_OGG_STREAM_FLUSH_FILL, 1, [libogg >= 1.3.0])])
245 ######################################################################### vorbis
247 LIB_ARG_WITH([vorbis], [-lvorbis -lvorbisfile])
249 AC_CHECK_HEADERS([vorbis/codec.h], [], [HAVE_VORBIS=no])
250 AC_CHECK_LIB([vorbis], [vorbis_info_init], [], [HAVE_VORBIS=no])
251 LIB_SUBST_FLAGS(vorbis)
253 ######################################################################### speex
255 LIB_ARG_WITH([speex], [-lspeex])
257 AC_CHECK_HEADERS([speex/speex.h], [], [HAVE_SPEEX=no])
258 AC_CHECK_LIB([speex], [speex_decoder_init], [], [HAVE_SPEEX=no])
259 LIB_SUBST_FLAGS(speex)
261 ######################################################################### opus
263 LIB_ARG_WITH([opus], [-lopus])
265 AC_CHECK_HEADERS([opus/opus.h], [], [HAVE_OPUS=no])
266 AC_CHECK_LIB([opus], [opus_multistream_decode], [], [HAVE_OPUS=no])
267 LIB_SUBST_FLAGS(opus)
269 ########################################################################### flac
271 LIB_ARG_WITH([flac], [-lFLAC -lm])
273 AC_CHECK_HEADER(FLAC/stream_decoder.h, [], HAVE_FLAC=no)
274 AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], HAVE_FLAC=no)
275 LIB_SUBST_FLAGS(flac)
278 # some helpers for the ogg container format
279 AS_IF([test "$HAVE_OGG" = 'yes' -a \( \
280 "$HAVE_VORBIS" = 'yes' \
281 -o "$HAVE_SPEEX" = 'yes' \
282 -o "$HAVE_OPUS" = 'yes' \
283 -o "$HAVE_FLAC" = 'yes' \
284 \)], [NEED_OGG_OBJECTS=yes], [NEED_OGG_OBJECTS=no])
285 AC_SUBST([NEED_OGG_OBJECTS])
286 AS_IF([test "$HAVE_OGG" = 'yes' -a "$HAVE_VORBIS" = 'yes'],
287 [NEED_VORBIS_OBJECTS=yes], [NEED_VORBIS_OBJECTS=no])
288 AC_SUBST([NEED_VORBIS_OBJECTS])
289 AS_IF([test "$HAVE_OGG" = 'yes' -a "$HAVE_SPEEX" = 'yes'],
290 [NEED_SPEEX_OBJECTS=yes], [NEED_SPEEX_OBJECTS=no])
291 AC_SUBST([NEED_SPEEX_OBJECTS])
292 AS_IF([test "$HAVE_OGG" = 'yes' -a "$HAVE_OPUS" = 'yes'],
293 [NEED_OPUS_OBJECTS=yes], [NEED_OPUS_OBJECTS=no])
294 AC_SUBST([NEED_OPUS_OBJECTS])
295 AS_IF([test "$HAVE_OGG" = 'yes' -a "$HAVE_FLAC" = 'yes'],
296 [NEED_FLAC_OBJECTS=yes], [NEED_FLAC_OBJECTS=no])
297 AC_SUBST([NEED_FLAC_OBJECTS])
298 ########################################################################### faad
300 LIB_ARG_WITH([faad], [-lfaad])
302 AC_CHECK_HEADER(neaacdec.h, [], HAVE_FAAD=no)
303 AC_CHECK_LIB([faad], [NeAACDecOpen], [], HAVE_FAAD=no)
304 LIB_SUBST_FLAGS(faad)
306 ########################################################################### mad
308 LIB_ARG_WITH([mad], [-lmad])
310 AC_CHECK_HEADER(mad.h, [], HAVE_MAD=no)
311 AC_CHECK_LIB([mad], [mad_stream_init], [], HAVE_MAD=no)
314 ###################################################################### libid3tag
316 LIB_ARG_WITH([id3tag], [-lid3tag -lz])
318 AC_CHECK_HEADER(id3tag.h, [], HAVE_ID3TAG=no)
319 AC_CHECK_LIB([id3tag], [id3_file_fdopen], [], HAVE_ID3TAG=no)
320 LIB_SUBST_FLAGS(id3tag)
322 ########################################################################### oss
324 LIB_ARG_WITH([oss], [])
325 AC_CHECK_HEADER(sys/soundcard.h, [HAVE_OSS=yes], [HAVE_OSS=no])
326 AC_CHECK_LIB(ossaudio, _oss_ioctl, [oss_ldflags="$oss_ldflags -lossaudio"], [])
329 ########################################################################### alsa
331 LIB_ARG_WITH([alsa], [-lasound])
333 AC_CHECK_HEADER(alsa/asoundlib.h, [], HAVE_ALSA=no)
334 AC_CHECK_LIB([asound], [snd_pcm_open], [], HAVE_ALSA=no)
335 LIB_SUBST_FLAGS(alsa)
337 ######################################################################### pthread
339 LIB_ARG_WITH([pthread], [-lpthread])
341 AC_CHECK_HEADER(pthread.h, [], HAVE_PTHREAD=no)
342 AC_CHECK_LIB([pthread], [pthread_create], [], HAVE_PTHREAD=no)
343 LIB_SUBST_FLAGS(pthread)
345 ########################################################################### libao
347 LIB_ARG_WITH([ao], [-lao])
349 AC_CHECK_HEADER(ao/ao.h, [], HAVE_AO=no)
350 AC_CHECK_LIB([ao], [ao_initialize], [], HAVE_AO=no)
353 AC_DEFUN([NEED_AO_OBJECTS], [{ test $HAVE_AO = yes -a $HAVE_PTHREAD = yes; }])
354 ######################################################################## readline
356 AC_SEARCH_LIBS([tgetent], [tinfo curses terminfo termcap])
357 LIB_ARG_WITH([readline], [-lreadline $LIBS])
359 AC_CHECK_HEADER([readline/readline.h], [], [HAVE_READLINE=no])
360 AC_CHECK_LIB([readline], [rl_free_keymap], [], HAVE_READLINE=no)
363 [AC_DEFINE(RL_FREE_KEYMAP_DECLARED, 1, readline >= 6.3)],
367 #include <readline/readline.h>
370 LIB_SUBST_FLAGS(readline)
372 ############################################################# libsamplerate
374 LIB_ARG_WITH([samplerate], [-lsamplerate])
376 AC_CHECK_HEADER(samplerate.h, [], HAVE_SAMPLERATE=no)
377 AC_CHECK_LIB([samplerate], [src_process], [], HAVE_SAMPLERATE=no)
378 LIB_SUBST_FLAGS(samplerate)
380 ######################################################################### ubsan
381 AC_ARG_ENABLE([ubsan], [AS_HELP_STRING(--enable-ubsan,
382 [Detect and report undefined behaviour.])],
383 [ENABLE_UBSAN=yes], [ENABLE_UBSAN=no])
384 AC_SUBST(ENABLE_UBSAN)
385 ######################################################### server and upgrade_db
386 if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes; then
388 executables="$executables server upgrade_db"
392 ############################################################# client
393 if test -n "$CRYPTOLIB"; then
395 executables="$executables client"
413 if test "$CRYPTOLIB" = openssl; then
414 client_objs="$client_objs openssl"
416 client_objs="$client_objs gcrypt"
418 if test $HAVE_READLINE = yes; then
419 client_objs="$client_objs interactive"
421 AC_SUBST(client_objs, add_dot_o($client_objs))
425 ############################################################# audiod
426 if test -n "$CRYPTOLIB"; then
428 executables="$executables audiod"
429 audiod_audio_formats="wma"
430 audiod_objs="$audiod_objs
469 if test "$CRYPTOLIB" = openssl; then
470 audiod_objs="$audiod_objs openssl"
472 audiod_objs="$audiod_objs gcrypt"
474 AS_IF([test $NEED_VORBIS_OBJECTS = yes], [
475 audiod_objs="$audiod_objs oggdec_filter"
476 audiod_audio_formats="$audiod_audio_formats ogg"
478 AS_IF([test $NEED_SPEEX_OBJECTS = yes], [
479 audiod_objs="$audiod_objs spxdec_filter spx_common"
480 audiod_audio_formats="$audiod_audio_formats spx"
482 AS_IF([test $NEED_OPUS_OBJECTS = yes], [
483 audiod_objs="$audiod_objs opusdec_filter opus_common"
484 audiod_audio_formats="$audiod_audio_formats opus"
486 AS_IF([test $NEED_FLAC_OBJECTS = yes], [
487 audiod_objs="$audiod_objs flacdec_filter"
488 audiod_audio_formats="$audiod_audio_formats flac"
490 if test $HAVE_FAAD = yes; then
491 audiod_objs="$audiod_objs aacdec_filter"
492 audiod_audio_formats="$audiod_audio_formats aac"
494 if test $HAVE_MAD = yes; then
495 audiod_audio_formats="$audiod_audio_formats mp3"
496 audiod_objs="$audiod_objs mp3dec_filter"
498 if test $HAVE_OSS = yes; then
499 audiod_objs="$audiod_objs oss_write"
501 if test $HAVE_ALSA = yes; then
502 audiod_objs="$audiod_objs alsa_write"
505 audiod_objs="$audiod_objs ao_write"
507 if test $HAVE_SAMPLERATE = yes; then
508 audiod_objs="$audiod_objs resample_filter check_wav"
510 AC_SUBST(audiod_objs, add_dot_o($audiod_objs))
512 names="$(for i in $audiod_audio_formats; do printf \"$i\",' ' ; done)"
513 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMAT_ARRAY, $names, array of audio formats supported by audiod)
517 ########################################################################### mixer
518 if test $HAVE_OSS = yes -o $HAVE_ALSA = yes; then
520 executables="$executables mixer"
521 mixer_objs="mixer exec string fd time lsu version"
522 if test $HAVE_OSS = yes; then
523 mixer_objs="$mixer_objs oss_mix"
525 if test $HAVE_ALSA = yes; then
526 mixer_objs="$mixer_objs alsa_mix"
528 AC_SUBST(mixer_objs, add_dot_o($mixer_objs))
531 AC_MSG_WARN([no mixer support])
533 ########################################################################### gui
534 if test $HAVE_CURSES = yes; then
536 executables="$executables gui"
551 AC_SUBST(gui_objs, add_dot_o($gui_objs))
554 AC_MSG_WARN([no curses lib, cannot build para_gui])
556 ######################################################################## filter
582 AS_IF([test $NEED_VORBIS_OBJECTS = yes],
583 [filter_objs="$filter_objs oggdec_filter"])
584 AS_IF([test $NEED_SPEEX_OBJECTS = yes],
585 [filter_objs="$filter_objs spxdec_filter spx_common"])
586 AS_IF([test $NEED_OPUS_OBJECTS = yes],
587 [filter_objs="$filter_objs opusdec_filter opus_common"])
588 AS_IF([test $NEED_FLAC_OBJECTS = yes],
589 [filter_objs="$filter_objs flacdec_filter"])
590 if test $HAVE_FAAD = yes; then
591 filter_objs="$filter_objs aacdec_filter"
593 if test $HAVE_MAD = yes; then
594 filter_objs="$filter_objs mp3dec_filter"
596 if test $HAVE_SAMPLERATE = yes; then
597 filter_objs="$filter_objs resample_filter check_wav"
599 AC_SUBST(filter_objs, add_dot_o($filter_objs))
600 ########################################################################## recv
621 AS_IF([test $NEED_OGG_OBJECTS = yes], [recv_objs="$recv_objs ogg_afh_common"])
622 AS_IF([test $NEED_VORBIS_OBJECTS = yes], [recv_objs="$recv_objs ogg_afh"])
623 AS_IF([test $NEED_SPEEX_OBJECTS = yes],
624 [recv_objs="$recv_objs spx_afh spx_common"])
625 AS_IF([test $NEED_OPUS_OBJECTS = yes],
626 [recv_objs="$recv_objs opus_afh opus_common"])
627 AS_IF([test $NEED_FLAC_OBJECTS = yes], [recv_objs="$recv_objs flac_afh"])
629 if test $HAVE_FAAD = yes; then
630 recv_objs="$recv_objs aac_afh mp4"
632 AC_SUBST(recv_objs, add_dot_o($recv_objs))
633 ########################################################################### afh
634 audio_format_handlers="mp3 wma"
646 AS_IF([test $NEED_OGG_OBJECTS = yes], [afh_objs="$afh_objs ogg_afh_common"])
647 AS_IF([test $NEED_VORBIS_OBJECTS = yes], [
648 afh_objs="$afh_objs ogg_afh"
649 audio_format_handlers="$audio_format_handlers ogg"
651 AS_IF([test $NEED_SPEEX_OBJECTS = yes], [
652 afh_objs="$afh_objs spx_afh spx_common"
653 audio_format_handlers="$audio_format_handlers spx"
655 AS_IF([test $NEED_OPUS_OBJECTS = yes], [
656 afh_objs="$afh_objs opus_afh opus_common"
657 audio_format_handlers="$audio_format_handlers opus"
659 AS_IF([test $NEED_FLAC_OBJECTS = yes], [
660 afh_objs="$afh_objs flac_afh"
661 audio_format_handlers="$audio_format_handlers flac"
663 if test $HAVE_FAAD = yes; then
664 afh_objs="$afh_objs aac_afh mp4"
665 audio_format_handlers="$audio_format_handlers aac"
667 AC_SUBST(afh_objs, add_dot_o($afh_objs))
668 ########################################################################## play
702 AS_IF([test $NEED_OGG_OBJECTS = yes], [play_objs="$play_objs ogg_afh_common"])
703 AS_IF([test $NEED_VORBIS_OBJECTS = yes],
704 [play_objs="$play_objs oggdec_filter ogg_afh"])
705 AS_IF([test $NEED_SPEEX_OBJECTS = yes],
706 [play_objs="$play_objs spxdec_filter spx_afh spx_common"])
707 AS_IF([test $NEED_OPUS_OBJECTS = yes],
708 [play_objs="$play_objs opusdec_filter opus_afh opus_common"])
709 AS_IF([test $NEED_FLAC_OBJECTS = yes],
710 [play_objs="$play_objs flacdec_filter flac_afh"])
711 if test $HAVE_FAAD = yes; then
712 play_objs="$play_objs aac_afh aacdec_filter mp4"
714 if test $HAVE_MAD = yes; then
715 play_objs="$play_objs mp3dec_filter"
717 if test $HAVE_OSS = yes; then
718 play_objs="$play_objs oss_write"
720 if test $HAVE_ALSA = yes; then
721 play_objs="$play_objs alsa_write"
724 play_objs="$play_objs ao_write"
726 if test $HAVE_READLINE = yes; then
727 play_objs="$play_objs interactive"
729 if test $HAVE_SAMPLERATE = yes; then
730 play_objs="$play_objs resample_filter check_wav"
732 AC_SUBST(play_objs, add_dot_o($play_objs))
733 ######################################################################### write
749 write_objs="$write_objs ao_write"
751 if test $HAVE_OSS = yes; then
752 write_objs="$write_objs oss_write"
754 if test $HAVE_ALSA = yes; then
755 write_objs="$write_objs alsa_write"
757 AC_SUBST(write_objs, add_dot_o($write_objs))
758 ######################################################################## audioc
768 if test $HAVE_READLINE = yes; then
769 audioc_objs="$audioc_objs
775 AC_SUBST(audioc_objs, add_dot_o($audioc_objs))
777 AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers",
778 [formats supported by para_server and para_afh])
779 AC_SUBST(executables)
783 paraslash configuration:
784 ~~~~~~~~~~~~~~~~~~~~~~~~
785 crypto lib: ${CRYPTOLIB:-[none]}
786 readline (interactive CLIs): $HAVE_READLINE
787 id3 version 2 support: $HAVE_ID3TAG
789 audio format handlers: $audio_format_handlers
792 para_server: $build_server
794 para_mixer: $build_mixer
795 para_client: $build_client
796 para_audiod: $build_audiod