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]))
50 AC_USE_SYSTEM_EXTENSIONS
53 AC_PATH_PROG([BISON], [bison])
54 AC_PATH_PROG([FLEX], [flex])
56 AC_PATH_PROG([M4], [m4])
57 test -z "$M4" && AC_MSG_ERROR(
58 [The m4 macro processor is required to build this package])
63 executables="recv filter audioc write afh play"
64 ########################################################################### osl
66 LIB_ARG_WITH([osl], [-losl])
68 AC_CHECK_HEADER(osl.h, [], [HAVE_OSL=no])
69 AC_CHECK_LIB([osl], [osl_open_table], [], [HAVE_OSL=no])
72 ######################################################################## lopsub
74 AC_PATH_PROG([LOPSUBGEN], [lopsubgen])
75 test -z "$LOPSUBGEN" && HAVE_LOPSUB=no
77 LIB_ARG_WITH([lopsub], [-llopsub])
78 AC_CHECK_HEADER(lopsub.h, [], [HAVE_LOPSUB=no])
79 AC_CHECK_LIB([lopsub], [lls_merge], [], [HAVE_LOPSUB=no])
80 if test $HAVE_LOPSUB = no; then AC_MSG_ERROR([
81 The lopsub library is required to build this software, but
82 the above checks indicate it is not installed on your system.
83 Run the following command to download a copy.
84 git clone git://git.tuebingen.mpg.de/lopsub.git
85 Install the library, then run this configure script again.
88 LIB_SUBST_FLAGS([lopsub])
90 ######################################################################## openssl
93 LIB_ARG_WITH([openssl], [-lssl -lcrypto])
94 AC_CHECK_HEADER(openssl/ssl.h, [], [HAVE_OPENSSL=no])
95 AC_CHECK_LIB([crypto], [RAND_bytes], [], [HAVE_OPENSSL=no])
96 LIB_SUBST_FLAGS(openssl)
97 if test $HAVE_OPENSSL = yes; then
98 AC_CHECK_LIB([crypto], [RSA_set0_key],
99 AC_DEFINE([HAVE_RSA_SET0_KEY], [1], [openssl-1.1]))
102 ######################################################################### gcrypt
105 LIB_ARG_WITH([gcrypt], [-lgcrypt])
106 AC_CHECK_HEADER(gcrypt.h, [], [HAVE_GCRYPT=no])
107 AC_CHECK_LIB([gcrypt], [gcry_randomize], [], [HAVE_GCRYPT=no])
108 LIB_SUBST_FLAGS(gcrypt)
110 ######################################################################### crypto
111 AC_ARG_ENABLE(cryptolib, [AS_HELP_STRING(--enable-cryptolib=lib, [
112 Force using crypto library "lib". This package requires either
113 openssl or libgcrypt being installed. Possible values for "lib"
114 are thus "openssl" and "gcrypt". If this option is not given,
115 openssl is tried first. If openssl was not found, gcrypt is
118 CRYPTOLIB="$enable_cryptolib"
119 case "$enable_cryptolib" in
121 test $HAVE_OPENSSL = no && AC_MSG_ERROR(openssl not found)
122 crypto_ldflags="$openssl_ldflags"
125 test $HAVE_GCRYPT = no && AC_MSG_ERROR(gcrypt not found)
126 crypto_ldflags="$gcrypt_ldflags"
130 if test $HAVE_GCRYPT = yes; then
132 crypto_ldflags="$gcrypt_ldflags"
134 if test $HAVE_OPENSSL = yes; then
136 crypto_ldflags="$openssl_ldflags"
140 AC_MSG_ERROR([invalid value "$enable_cryptolib" for --enable-cryptolib])
143 AC_SUBST(crypto_ldflags)
144 ########################################################################## iconv
147 AC_SEARCH_LIBS([libiconv_open], [iconv],
148 [iconv_ldflags="$LIBS"],
151 AC_SUBST(iconv_ldflags)
152 AC_MSG_CHECKING([whether iconv needs const char ** cast])
157 size_t iconv(iconv_t cd, const char **inbuf,
158 size_t *inbytesleft, char **outbuf,
159 size_t *outbytesleft);
162 [cast='(const char **)'; msg=yes],
165 AC_DEFINE_UNQUOTED(ICONV_CAST, $cast, [cast for second arg to iconv()])
168 ########################################################################### ucred
169 AC_CHECK_TYPE([struct ucred], [
170 AC_DEFINE(HAVE_UCRED, 1, define to 1 you have struct ucred)
172 #include <sys/types.h>
173 #include <sys/socket.h>
175 ################################################################### FNM_EXTMATCH
176 AC_MSG_CHECKING(for extended wildcard pattern matching)
177 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
180 unsigned n = FNM_EXTMATCH;
181 ]])], [have_fnm_extmatch=yes], [have_fnm_extmatch=no])
182 AC_MSG_RESULT($have_fnm_extmatch)
183 if test $have_fnm_extmatch = yes; then
184 AC_DEFINE(HAVE_FNM_EXTMATCH, 1, define to 1 if FNM_EXTMATCH is defined)
186 ########################################################################### curses
188 LIB_ARG_WITH([curses], [])
190 AC_CHECK_HEADER(curses.h, [], [HAVE_CURSES=no])
191 AC_SEARCH_LIBS([initscr], [ncursesw curses], [], [HAVE_CURSES=no])
192 curses_ldflags="$curses_ldflags $LIBS"
193 LIB_SUBST_FLAGS(curses)
195 ########################################################################### ip_mreqn
196 AC_CHECK_TYPE([struct ip_mreqn], [
197 AC_DEFINE(HAVE_IP_MREQN, 1, define to 1 if you have struct ip_mreqn)
202 ########################################################################### ogg
204 LIB_ARG_WITH([ogg], [-logg])
206 AC_CHECK_HEADERS([ogg/ogg.h], [], [HAVE_OGG=no])
207 AC_CHECK_LIB([ogg], [ogg_stream_init], [], [HAVE_OGG=no])
208 AC_CHECK_LIB([ogg], [ogg_stream_flush_fill], [
209 AC_DEFINE(HAVE_OGG_STREAM_FLUSH_FILL, 1, [libogg >= 1.3.0])])
212 ######################################################################### vorbis
214 LIB_ARG_WITH([vorbis], [-lvorbis -lvorbisfile])
216 AC_CHECK_HEADERS([vorbis/codec.h], [], [HAVE_VORBIS=no])
217 AC_CHECK_LIB([vorbis], [vorbis_info_init], [], [HAVE_VORBIS=no])
218 LIB_SUBST_FLAGS(vorbis)
220 ######################################################################### speex
222 LIB_ARG_WITH([speex], [-lspeex])
224 AC_CHECK_HEADERS([speex/speex.h], [], [HAVE_SPEEX=no])
225 AC_CHECK_LIB([speex], [speex_decoder_init], [], [HAVE_SPEEX=no])
226 LIB_SUBST_FLAGS(speex)
228 ######################################################################### opus
230 LIB_ARG_WITH([opus], [-lopus])
232 AC_CHECK_HEADERS([opus/opus.h], [], [HAVE_OPUS=no])
233 AC_CHECK_LIB([opus], [opus_multistream_decode], [], [HAVE_OPUS=no])
234 LIB_SUBST_FLAGS(opus)
236 ########################################################################### flac
238 LIB_ARG_WITH([flac], [-lFLAC -lm])
240 AC_CHECK_HEADER(FLAC/stream_decoder.h, [], HAVE_FLAC=no)
241 AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], HAVE_FLAC=no)
242 LIB_SUBST_FLAGS(flac)
245 # some helper functions for codecs which use the ogg container format
246 AC_DEFUN([NEED_OGG_OBJECTS], [{
247 test "$HAVE_OGG" = 'yes' -a \( \
248 "$HAVE_VORBIS" = 'yes' \
249 -o "$HAVE_SPEEX" = 'yes' \
250 -o "$HAVE_OPUS" = 'yes' \
251 -o "$HAVE_FLAC" = 'yes' \
254 AC_DEFUN([NEED_VORBIS_OBJECTS], [{
255 test "$HAVE_OGG" = 'yes' -a "$HAVE_VORBIS" = 'yes'
257 AC_DEFUN([NEED_SPEEX_OBJECTS], [{
258 test "$HAVE_OGG" = 'yes' -a "$HAVE_SPEEX" = 'yes'
260 AC_DEFUN([NEED_OPUS_OBJECTS], [{
261 test "$HAVE_OGG" = 'yes' -a "$HAVE_OPUS" = 'yes'
263 AC_DEFUN([NEED_FLAC_OBJECTS], [{
264 test "$HAVE_OGG" = 'yes' -a "$HAVE_FLAC" = 'yes'
266 ########################################################################### faad
268 LIB_ARG_WITH([faad], [-lfaad -lmp4ff])
270 AC_CHECK_HEADER(neaacdec.h, [], HAVE_FAAD=no)
271 AC_CHECK_HEADER(mp4ff.h, [], HAVE_FAAD=no)
272 AC_CHECK_LIB([faad], [NeAACDecOpen], [], HAVE_FAAD=no)
273 AC_CHECK_LIB([mp4ff], [mp4ff_meta_get_artist], [], HAVE_FAAD=no)
274 LIB_SUBST_FLAGS(faad)
276 ########################################################################### mad
278 LIB_ARG_WITH([mad], [-lmad])
280 AC_CHECK_HEADER(mad.h, [], HAVE_MAD=no)
281 AC_CHECK_LIB([mad], [mad_stream_init], [], HAVE_MAD=no)
284 ###################################################################### libid3tag
286 LIB_ARG_WITH([id3tag], [-lid3tag -lz])
288 AC_CHECK_HEADER(id3tag.h, [], HAVE_ID3TAG=no)
289 AC_CHECK_LIB([id3tag], [id3_file_fdopen], [], HAVE_ID3TAG=no)
290 LIB_SUBST_FLAGS(id3tag)
292 ########################################################################### oss
294 LIB_ARG_WITH([oss], [])
295 AC_CHECK_HEADER(sys/soundcard.h, [HAVE_OSS=yes], [HAVE_OSS=no])
296 AC_CHECK_LIB(ossaudio, _oss_ioctl, [oss_ldflags="$oss_ldflags -lossaudio"], [])
299 ########################################################################### alsa
301 LIB_ARG_WITH([alsa], [-lasound])
303 AC_CHECK_HEADER(alsa/asoundlib.h, [], HAVE_ALSA=no)
304 AC_CHECK_LIB([asound], [snd_pcm_open], [], HAVE_ALSA=no)
305 LIB_SUBST_FLAGS(alsa)
307 ######################################################################### pthread
309 LIB_ARG_WITH([pthread], [-lpthread])
311 AC_CHECK_HEADER(pthread.h, [], HAVE_PTHREAD=no)
312 AC_CHECK_LIB([pthread], [pthread_create], [], HAVE_PTHREAD=no)
313 LIB_SUBST_FLAGS(pthread)
315 ########################################################################### libao
317 LIB_ARG_WITH([ao], [-lao])
319 AC_CHECK_HEADER(ao/ao.h, [], HAVE_AO=no)
320 AC_CHECK_LIB([ao], [ao_initialize], [], HAVE_AO=no)
323 AC_DEFUN([NEED_AO_OBJECTS], [{ test $HAVE_AO = yes -a $HAVE_PTHREAD = yes; }])
324 ######################################################################## readline
326 AC_SEARCH_LIBS([tgetent], [tinfo curses terminfo termcap])
327 LIB_ARG_WITH([readline], [-lreadline $LIBS])
329 AC_CHECK_HEADER([readline/readline.h], [], [HAVE_READLINE=no])
330 AC_CHECK_LIB([readline], [rl_free_keymap], [], HAVE_READLINE=no)
333 [AC_DEFINE(RL_FREE_KEYMAP_DECLARED, 1, readline >= 6.3)],
337 #include <readline/readline.h>
340 LIB_SUBST_FLAGS(readline)
342 ############################################################# libsamplerate
344 LIB_ARG_WITH([samplerate], [-lsamplerate])
346 AC_CHECK_HEADER(samplerate.h, [], HAVE_SAMPLERATE=no)
347 AC_CHECK_LIB([samplerate], [src_process], [], HAVE_SAMPLERATE=no)
348 LIB_SUBST_FLAGS(samplerate)
350 ######################################################################### server
351 if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes && test -n "$BISON" && \
352 test -n "$FLEX"; then
354 executables="$executables server"
355 server_errlist_objs="
395 if test "$CRYPTOLIB" = openssl; then
396 server_errlist_objs="$server_errlist_objs crypt"
398 server_errlist_objs="$server_errlist_objs gcrypt"
400 NEED_OGG_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh_common"
401 NEED_VORBIS_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh"
402 NEED_SPEEX_OBJECTS() && server_errlist_objs="$server_errlist_objs spx_afh spx_common"
403 NEED_OPUS_OBJECTS() && server_errlist_objs="$server_errlist_objs opus_afh opus_common"
404 NEED_FLAC_OBJECTS && server_errlist_objs="$server_errlist_objs flac_afh"
405 if test $HAVE_FAAD = yes; then
406 server_errlist_objs="$server_errlist_objs aac_afh"
408 server_objs="$server_errlist_objs"
409 AC_SUBST(server_objs, add_dot_o($server_objs))
413 ############################################################# client
414 if test -n "$CRYPTOLIB"; then
416 executables="$executables client"
417 client_errlist_objs="
433 if test "$CRYPTOLIB" = openssl; then
434 client_errlist_objs="$client_errlist_objs crypt"
436 client_errlist_objs="$client_errlist_objs gcrypt"
438 if test $HAVE_READLINE = yes; then
439 client_errlist_objs="$client_errlist_objs interactive"
441 client_objs="$client_errlist_objs"
442 AC_SUBST(client_objs, add_dot_o($client_errlist_objs))
446 ############################################################# audiod
447 if test -n "$CRYPTOLIB"; then
449 executables="$executables audiod"
450 audiod_audio_formats="wma"
451 audiod_errlist_objs="$audiod_errlist_objs
489 if test "$CRYPTOLIB" = openssl; then
490 audiod_errlist_objs="$audiod_errlist_objs crypt"
492 audiod_errlist_objs="$audiod_errlist_objs gcrypt"
494 NEED_VORBIS_OBJECTS && {
495 audiod_errlist_objs="$audiod_errlist_objs oggdec_filter"
496 audiod_audio_formats="$audiod_audio_formats ogg"
498 NEED_SPEEX_OBJECTS && {
499 audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common"
500 audiod_audio_formats="$audiod_audio_formats spx"
502 NEED_OPUS_OBJECTS && {
503 audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common"
504 audiod_audio_formats="$audiod_audio_formats opus"
506 NEED_FLAC_OBJECTS && {
507 audiod_errlist_objs="$audiod_errlist_objs flacdec_filter"
508 audiod_audio_formats="$audiod_audio_formats flac"
510 if test $HAVE_FAAD = yes; then
511 audiod_errlist_objs="$audiod_errlist_objs aacdec_filter"
512 audiod_audio_formats="$audiod_audio_formats aac"
514 if test $HAVE_MAD = yes; then
515 audiod_audio_formats="$audiod_audio_formats mp3"
516 audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter"
518 if test $HAVE_OSS = yes; then
519 audiod_errlist_objs="$audiod_errlist_objs oss_write"
521 if test $HAVE_ALSA = yes; then
522 audiod_errlist_objs="$audiod_errlist_objs alsa_write"
525 audiod_errlist_objs="$audiod_errlist_objs ao_write"
527 if test $HAVE_SAMPLERATE = yes; then
528 audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav"
530 audiod_objs="$audiod_errlist_objs"
531 AC_SUBST(audiod_objs, add_dot_o($audiod_objs))
533 enum="$(for i in $audiod_audio_formats; do printf "AUDIO_FORMAT_${i}, " | tr '[a-z]' '[A-Z]'; done)"
534 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMATS_ENUM, $enum NUM_AUDIO_FORMATS,
535 enum of audio formats supported by audiod)
536 names="$(for i in $audiod_audio_formats; do printf \"$i\",' ' ; done)"
537 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMAT_ARRAY, $names, array of audio formats supported by audiod)
541 ########################################################################### mixer
542 if test $HAVE_OSS = yes -o $HAVE_ALSA = yes; then
544 executables="$executables mixer"
545 mixer_errlist_objs="mixer exec string fd version"
546 if test $HAVE_OSS = yes; then
547 mixer_errlist_objs="$mixer_errlist_objs oss_mix"
549 if test $HAVE_ALSA = yes; then
550 mixer_errlist_objs="$mixer_errlist_objs alsa_mix"
552 mixer_objs="$mixer_errlist_objs"
553 AC_SUBST(mixer_objs, add_dot_o($mixer_objs))
556 AC_MSG_WARN([no mixer support])
558 ########################################################################### gui
559 if test $HAVE_CURSES = yes; then
561 executables="$executables gui"
575 gui_objs="$gui_errlist_objs"
576 AC_SUBST(gui_objs, add_dot_o($gui_objs))
579 AC_MSG_WARN([no curses lib, cannot build para_gui])
581 ######################################################################## filter
582 filter_errlist_objs="
606 NEED_VORBIS_OBJECTS && filter_errlist_objs="$filter_errlist_objs oggdec_filter"
607 NEED_SPEEX_OBJECTS && filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common"
608 NEED_OPUS_OBJECTS && filter_errlist_objs="$filter_errlist_objs opusdec_filter opus_common"
609 NEED_FLAC_OBJECTS && filter_errlist_objs="$filter_errlist_objs flacdec_filter"
610 if test $HAVE_FAAD = yes; then
611 filter_errlist_objs="$filter_errlist_objs aacdec_filter"
613 if test $HAVE_MAD = yes; then
614 filter_errlist_objs="$filter_errlist_objs mp3dec_filter"
616 if test $HAVE_SAMPLERATE = yes; then
617 filter_errlist_objs="$filter_errlist_objs resample_filter check_wav"
619 filter_objs="$filter_errlist_objs"
621 AC_SUBST(filter_objs, add_dot_o($filter_objs))
622 ########################################################################## recv
643 NEED_OGG_OBJECTS && recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
644 NEED_VORBIS_OBJECTS && recv_errlist_objs="$recv_errlist_objs ogg_afh"
645 NEED_SPEEX_OBJECTS && recv_errlist_objs="$recv_errlist_objs spx_afh spx_common"
646 NEED_OPUS_OBJECTS && recv_errlist_objs="$recv_errlist_objs opus_afh opus_common"
647 NEED_FLAC_OBJECTS && recv_errlist_objs="$recv_errlist_objs flac_afh"
649 if test $HAVE_FAAD = yes; then
650 recv_errlist_objs="$recv_errlist_objs aac_afh"
652 recv_objs="$recv_errlist_objs"
653 AC_SUBST(recv_objs, add_dot_o($recv_objs))
654 ########################################################################### afh
655 audio_format_handlers="mp3 wma"
667 NEED_OGG_OBJECTS && afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
668 NEED_VORBIS_OBJECTS && {
669 afh_errlist_objs="$afh_errlist_objs ogg_afh"
670 audio_format_handlers="$audio_format_handlers ogg"
672 NEED_SPEEX_OBJECTS && {
673 afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
674 audio_format_handlers="$audio_format_handlers spx"
676 NEED_OPUS_OBJECTS && {
677 afh_errlist_objs="$afh_errlist_objs opus_afh opus_common"
678 audio_format_handlers="$audio_format_handlers opus"
680 NEED_FLAC_OBJECTS && {
681 afh_errlist_objs="$afh_errlist_objs flac_afh"
682 audio_format_handlers="$audio_format_handlers flac"
684 if test $HAVE_FAAD = yes; then
685 afh_errlist_objs="$afh_errlist_objs aac_afh"
686 audio_format_handlers="$audio_format_handlers aac"
689 afh_objs="$afh_errlist_objs"
691 AC_SUBST(afh_objs, add_dot_o($afh_objs))
692 ########################################################################## play
725 NEED_OGG_OBJECTS && play_errlist_objs="$play_errlist_objs ogg_afh_common"
726 NEED_VORBIS_OBJECTS && {
727 play_errlist_objs="$play_errlist_objs oggdec_filter ogg_afh"
729 NEED_SPEEX_OBJECTS && {
730 play_errlist_objs="$play_errlist_objs spxdec_filter spx_afh spx_common"
733 play_errlist_objs="$play_errlist_objs
738 NEED_FLAC_OBJECTS && {
739 play_errlist_objs="$play_errlist_objs flacdec_filter flac_afh"
741 if test $HAVE_FAAD = yes; then
742 play_errlist_objs="$play_errlist_objs aac_afh aacdec_filter"
744 if test $HAVE_MAD = yes; then
745 play_errlist_objs="$play_errlist_objs mp3dec_filter"
747 if test $HAVE_OSS = yes; then
748 play_errlist_objs="$play_errlist_objs oss_write"
750 if test $HAVE_ALSA = yes; then
751 play_errlist_objs="$play_errlist_objs alsa_write"
754 play_errlist_objs="$play_errlist_objs ao_write"
756 if test $HAVE_READLINE = yes; then
757 play_errlist_objs="$play_errlist_objs interactive"
759 if test $HAVE_SAMPLERATE = yes; then
760 play_errlist_objs="$play_errlist_objs resample_filter check_wav"
763 play_objs="$play_errlist_objs"
764 AC_SUBST(play_objs, add_dot_o($play_objs))
765 ######################################################################### write
781 write_errlist_objs="$write_errlist_objs ao_write"
783 if test $HAVE_OSS = yes; then
784 write_errlist_objs="$write_errlist_objs oss_write"
786 if test $HAVE_ALSA = yes; then
787 write_errlist_objs="$write_errlist_objs alsa_write"
789 write_objs="$write_errlist_objs"
790 AC_SUBST(write_objs, add_dot_o($write_objs))
791 ######################################################################## audioc
792 audioc_errlist_objs="
799 if test $HAVE_READLINE = yes; then
800 audioc_errlist_objs="$audioc_errlist_objs
807 audioc_objs="$audioc_errlist_objs"
808 AC_SUBST(audioc_objs, add_dot_o($audioc_objs))
809 ################################################################## status items
811 status_items="basename status num_played mtime bitrate frequency file_size
812 status_flags format score techinfo afs_mode
813 attributes_txt decoder_flags audiod_status play_time attributes_bitmap
814 offset seconds_total stream_start current_time audiod_uptime image_id
815 lyrics_id duration directory lyrics_name image_name path hash channels
816 last_played num_chunks chunk_time amplification artist title year album
817 comment max_chunk_size"
820 for i in $status_items; do
821 result="$result SI_$(echo $i | tr 'a-z' 'A-Z'), "
823 AC_DEFINE_UNQUOTED(STATUS_ITEM_ENUM, [$result],
824 [enum of all status items])
827 for i in $status_items; do
828 result="$result \"$i\", "
830 AC_DEFINE_UNQUOTED(STATUS_ITEM_ARRAY, [$result],
831 [char * array of all status items])
833 AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers",
834 [formats supported by para_server and para_afh])
836 AC_SUBST(executables)
840 paraslash configuration:
841 ~~~~~~~~~~~~~~~~~~~~~~~~
842 crypto lib: ${CRYPTOLIB:-[none]}
843 unix socket credentials: $have_ucred
844 readline (interactive CLIs): $HAVE_READLINE
845 id3 version 2 support: $HAVE_ID3TAG
847 audio format handlers: $audio_format_handlers
849 para_server: $build_server
851 para_mixer: $build_mixer
852 para_client: $build_client
853 para_audiod: $build_audiod