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([M4], [m4])
54 test -z "$M4" && AC_MSG_ERROR(
55 [The m4 macro processor is required to build this package])
60 executables="recv filter audioc write afh play"
61 ########################################################################### osl
63 LIB_ARG_WITH([osl], [-losl])
65 AC_CHECK_HEADER(osl.h, [], [HAVE_OSL=no])
66 AC_CHECK_LIB([osl], [osl_open_table], [], [HAVE_OSL=no])
69 ######################################################################## lopsub
71 AC_PATH_PROG([LOPSUBGEN], [lopsubgen])
72 test -z "$LOPSUBGEN" && HAVE_LOPSUB=no
74 LIB_ARG_WITH([lopsub], [-llopsub])
75 AC_CHECK_HEADER(lopsub.h, [], [HAVE_LOPSUB=no])
76 AC_CHECK_LIB([lopsub], [lls_merge], [], [HAVE_LOPSUB=no])
77 if test $HAVE_LOPSUB = no; then AC_MSG_ERROR([
78 The lopsub library is required to build this software, but
79 the above checks indicate it is not installed on your system.
80 Run the following command to download a copy.
81 git clone git://git.tuebingen.mpg.de/lopsub.git
82 Install the library, then run this configure script again.
85 LIB_SUBST_FLAGS([lopsub])
87 ######################################################################## openssl
90 LIB_ARG_WITH([openssl], [-lssl -lcrypto])
91 AC_CHECK_HEADER(openssl/ssl.h, [], [HAVE_OPENSSL=no])
92 AC_CHECK_LIB([crypto], [RAND_bytes], [], [HAVE_OPENSSL=no])
93 LIB_SUBST_FLAGS(openssl)
94 if test $HAVE_OPENSSL = yes; then
95 AC_CHECK_LIB([crypto], [RSA_set0_key],
96 AC_DEFINE([HAVE_RSA_SET0_KEY], [1], [openssl-1.1]))
99 ######################################################################### gcrypt
102 LIB_ARG_WITH([gcrypt], [-lgcrypt])
103 AC_CHECK_HEADER(gcrypt.h, [], [HAVE_GCRYPT=no])
104 AC_CHECK_LIB([gcrypt], [gcry_randomize], [], [HAVE_GCRYPT=no])
105 LIB_SUBST_FLAGS(gcrypt)
107 ######################################################################### crypto
108 AC_ARG_ENABLE(cryptolib, [AS_HELP_STRING(--enable-cryptolib=lib, [
109 Force using crypto library "lib". This package requires either
110 openssl or libgcrypt being installed. Possible values for "lib"
111 are thus "openssl" and "gcrypt". If this option is not given,
112 openssl is tried first. If openssl was not found, gcrypt is
115 CRYPTOLIB="$enable_cryptolib"
116 case "$enable_cryptolib" in
118 test $HAVE_OPENSSL = no && AC_MSG_ERROR(openssl not found)
119 crypto_ldflags="$openssl_ldflags"
122 test $HAVE_GCRYPT = no && AC_MSG_ERROR(gcrypt not found)
123 crypto_ldflags="$gcrypt_ldflags"
127 if test $HAVE_GCRYPT = yes; then
129 crypto_ldflags="$gcrypt_ldflags"
131 if test $HAVE_OPENSSL = yes; then
133 crypto_ldflags="$openssl_ldflags"
137 AC_MSG_ERROR([invalid value "$enable_cryptolib" for --enable-cryptolib])
140 AC_SUBST(crypto_ldflags)
141 ########################################################################## iconv
144 AC_SEARCH_LIBS([libiconv_open], [iconv],
145 [iconv_ldflags="$LIBS"],
148 AC_SUBST(iconv_ldflags)
149 AC_MSG_CHECKING([whether iconv needs const char ** cast])
154 size_t iconv(iconv_t cd, const char **inbuf,
155 size_t *inbytesleft, char **outbuf,
156 size_t *outbytesleft);
159 [cast='(const char **)'; msg=yes],
162 AC_DEFINE_UNQUOTED(ICONV_CAST, $cast, [cast for second arg to iconv()])
165 ########################################################################### ucred
166 AC_MSG_CHECKING(for struct ucred)
167 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
168 #include <sys/types.h>
169 #include <sys/socket.h>
171 struct ucred sucred; sucred.pid=0;
172 ]])],[have_ucred=yes],[have_ucred=no])
173 AC_MSG_RESULT($have_ucred)
174 if test ${have_ucred} = yes; then
175 AC_DEFINE(HAVE_UCRED, 1, define to 1 you have struct ucred)
177 ########################################################################### curses
179 LIB_ARG_WITH([curses], [])
181 AC_CHECK_HEADER(curses.h, [], [HAVE_CURSES=no])
182 AC_SEARCH_LIBS([initscr], [ncursesw curses], [], [HAVE_CURSES=no])
183 curses_ldflags="$curses_ldflags $LIBS"
184 LIB_SUBST_FLAGS(curses)
186 ########################################################################### ip_mreqn
187 AC_MSG_CHECKING(for struct ip_mreqn (UDPv4 multicast))
188 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
194 ]])],[have_ip_mreqn=yes],[have_ip_mreqn=no])
195 AC_MSG_RESULT($have_ip_mreqn)
196 if test ${have_ip_mreqn} = yes; then
197 AC_DEFINE(HAVE_IP_MREQN, 1, define to 1 if you have struct ip_mreqn)
199 ########################################################################### ogg
201 LIB_ARG_WITH([ogg], [-logg])
203 AC_CHECK_HEADERS([ogg/ogg.h], [], [HAVE_OGG=no])
204 AC_CHECK_LIB([ogg], [ogg_stream_init], [], [HAVE_OGG=no])
205 AC_CHECK_LIB([ogg], [ogg_stream_flush_fill], [
206 AC_DEFINE(HAVE_OGG_STREAM_FLUSH_FILL, 1, [libogg >= 1.3.0])])
209 ######################################################################### vorbis
211 LIB_ARG_WITH([vorbis], [-lvorbis -lvorbisfile])
213 AC_CHECK_HEADERS([vorbis/codec.h], [], [HAVE_VORBIS=no])
214 AC_CHECK_LIB([vorbis], [vorbis_info_init], [], [HAVE_VORBIS=no])
215 LIB_SUBST_FLAGS(vorbis)
217 ######################################################################### speex
219 LIB_ARG_WITH([speex], [-lspeex])
221 AC_CHECK_HEADERS([speex/speex.h], [], [HAVE_SPEEX=no])
222 AC_CHECK_LIB([speex], [speex_decoder_init], [], [HAVE_SPEEX=no])
223 LIB_SUBST_FLAGS(speex)
225 ######################################################################### opus
227 LIB_ARG_WITH([opus], [-lopus])
229 AC_CHECK_HEADERS([opus/opus.h], [], [HAVE_OPUS=no])
230 AC_CHECK_LIB([opus], [opus_multistream_decode], [], [HAVE_OPUS=no])
231 LIB_SUBST_FLAGS(opus)
233 ########################################################################### flac
235 LIB_ARG_WITH([flac], [-lFLAC -lm])
237 AC_CHECK_HEADER(FLAC/stream_decoder.h, [], HAVE_FLAC=no)
238 AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], HAVE_FLAC=no)
239 LIB_SUBST_FLAGS(flac)
242 # some helper functions for codecs which use the ogg container format
243 AC_DEFUN([NEED_OGG_OBJECTS], [{
244 test "$HAVE_OGG" = 'yes' -a \( \
245 "$HAVE_VORBIS" = 'yes' \
246 -o "$HAVE_SPEEX" = 'yes' \
247 -o "$HAVE_OPUS" = 'yes' \
248 -o "$HAVE_FLAC" = 'yes' \
251 AC_DEFUN([NEED_VORBIS_OBJECTS], [{
252 test "$HAVE_OGG" = 'yes' -a "$HAVE_VORBIS" = 'yes'
254 AC_DEFUN([NEED_SPEEX_OBJECTS], [{
255 test "$HAVE_OGG" = 'yes' -a "$HAVE_SPEEX" = 'yes'
257 AC_DEFUN([NEED_OPUS_OBJECTS], [{
258 test "$HAVE_OGG" = 'yes' -a "$HAVE_OPUS" = 'yes'
260 AC_DEFUN([NEED_FLAC_OBJECTS], [{
261 test "$HAVE_OGG" = 'yes' -a "$HAVE_FLAC" = 'yes'
263 ########################################################################### faad
265 LIB_ARG_WITH([faad], [-lfaad -lmp4ff])
267 AC_CHECK_HEADER(neaacdec.h, [], HAVE_FAAD=no)
268 AC_CHECK_HEADER(mp4ff.h, [], HAVE_FAAD=no)
269 AC_CHECK_LIB([faad], [NeAACDecOpen], [], HAVE_FAAD=no)
270 AC_CHECK_LIB([mp4ff], [mp4ff_meta_get_artist], [], HAVE_FAAD=no)
271 LIB_SUBST_FLAGS(faad)
273 ########################################################################### mad
275 LIB_ARG_WITH([mad], [-lmad])
277 AC_CHECK_HEADER(mad.h, [], HAVE_MAD=no)
278 AC_CHECK_LIB([mad], [mad_stream_init], [], HAVE_MAD=no)
281 ###################################################################### libid3tag
283 LIB_ARG_WITH([id3tag], [-lid3tag -lz])
285 AC_CHECK_HEADER(id3tag.h, [], HAVE_ID3TAG=no)
286 AC_CHECK_LIB([id3tag], [id3_file_fdopen], [], HAVE_ID3TAG=no)
287 LIB_SUBST_FLAGS(id3tag)
289 ########################################################################### oss
291 LIB_ARG_WITH([oss], [])
292 AC_CHECK_HEADER(sys/soundcard.h, [HAVE_OSS=yes], [HAVE_OSS=no])
293 AC_CHECK_LIB(ossaudio, _oss_ioctl, [oss_ldflags="$oss_ldflags -lossaudio"], [])
296 ########################################################################### alsa
298 LIB_ARG_WITH([alsa], [-lasound])
300 AC_CHECK_HEADER(alsa/asoundlib.h, [], HAVE_ALSA=no)
301 AC_CHECK_LIB([asound], [snd_pcm_open], [], HAVE_ALSA=no)
302 LIB_SUBST_FLAGS(alsa)
304 ######################################################################### pthread
306 LIB_ARG_WITH([pthread], [-lpthread])
308 AC_CHECK_HEADER(pthread.h, [], HAVE_PTHREAD=no)
309 AC_CHECK_LIB([pthread], [pthread_create], [], HAVE_PTHREAD=no)
310 LIB_SUBST_FLAGS(pthread)
312 ########################################################################### libao
314 LIB_ARG_WITH([ao], [-lao])
316 AC_CHECK_HEADER(ao/ao.h, [], HAVE_AO=no)
317 AC_CHECK_LIB([ao], [ao_initialize], [], HAVE_AO=no)
320 AC_DEFUN([NEED_AO_OBJECTS], [{ test $HAVE_AO = yes -a $HAVE_PTHREAD = yes; }])
321 ######################################################################## readline
323 AC_SEARCH_LIBS([tgetent], [tinfo curses terminfo termcap])
324 LIB_ARG_WITH([readline], [-lreadline $LIBS])
326 AC_CHECK_HEADER([readline/readline.h], [], [HAVE_READLINE=no])
327 AC_CHECK_LIB([readline], [rl_free_keymap], [], HAVE_READLINE=no)
330 [AC_DEFINE(RL_FREE_KEYMAP_DECLARED, 1, readline >= 6.3)],
334 #include <readline/readline.h>
337 LIB_SUBST_FLAGS(readline)
339 ############################################################# libsamplerate
341 LIB_ARG_WITH([samplerate], [-lsamplerate])
343 AC_CHECK_HEADER(samplerate.h, [], HAVE_SAMPLERATE=no)
344 AC_CHECK_LIB([samplerate], [src_process], [], HAVE_SAMPLERATE=no)
345 LIB_SUBST_FLAGS(samplerate)
347 ######################################################################### server
348 if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes; then
350 executables="$executables server"
351 server_errlist_objs="
390 if test "$CRYPTOLIB" = openssl; then
391 server_errlist_objs="$server_errlist_objs crypt"
393 server_errlist_objs="$server_errlist_objs gcrypt"
395 NEED_OGG_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh_common"
396 NEED_VORBIS_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh"
397 NEED_SPEEX_OBJECTS() && server_errlist_objs="$server_errlist_objs spx_afh spx_common"
398 NEED_OPUS_OBJECTS() && server_errlist_objs="$server_errlist_objs opus_afh opus_common"
399 NEED_FLAC_OBJECTS && server_errlist_objs="$server_errlist_objs flac_afh"
400 if test $HAVE_FAAD = yes; then
401 server_errlist_objs="$server_errlist_objs aac_afh"
403 server_objs="$server_errlist_objs"
404 AC_SUBST(server_objs, add_dot_o($server_objs))
408 ############################################################# client
409 if test -n "$CRYPTOLIB"; then
411 executables="$executables client"
412 client_errlist_objs="
428 if test "$CRYPTOLIB" = openssl; then
429 client_errlist_objs="$client_errlist_objs crypt"
431 client_errlist_objs="$client_errlist_objs gcrypt"
433 if test $HAVE_READLINE = yes; then
434 client_errlist_objs="$client_errlist_objs interactive"
436 client_objs="$client_errlist_objs"
437 AC_SUBST(client_objs, add_dot_o($client_errlist_objs))
441 ############################################################# audiod
442 if test -n "$CRYPTOLIB"; then
444 executables="$executables audiod"
445 audiod_audio_formats="wma"
446 audiod_errlist_objs="$audiod_errlist_objs
484 if test "$CRYPTOLIB" = openssl; then
485 audiod_errlist_objs="$audiod_errlist_objs crypt"
487 audiod_errlist_objs="$audiod_errlist_objs gcrypt"
489 NEED_VORBIS_OBJECTS && {
490 audiod_errlist_objs="$audiod_errlist_objs oggdec_filter"
491 audiod_audio_formats="$audiod_audio_formats ogg"
493 NEED_SPEEX_OBJECTS && {
494 audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common"
495 audiod_audio_formats="$audiod_audio_formats spx"
497 NEED_OPUS_OBJECTS && {
498 audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common"
499 audiod_audio_formats="$audiod_audio_formats opus"
501 NEED_FLAC_OBJECTS && {
502 audiod_errlist_objs="$audiod_errlist_objs flacdec_filter"
503 audiod_audio_formats="$audiod_audio_formats flac"
505 if test $HAVE_FAAD = yes; then
506 audiod_errlist_objs="$audiod_errlist_objs aacdec_filter"
507 audiod_audio_formats="$audiod_audio_formats aac"
509 if test $HAVE_MAD = yes; then
510 audiod_audio_formats="$audiod_audio_formats mp3"
511 audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter"
513 if test $HAVE_OSS = yes; then
514 audiod_errlist_objs="$audiod_errlist_objs oss_write"
516 if test $HAVE_ALSA = yes; then
517 audiod_errlist_objs="$audiod_errlist_objs alsa_write"
520 audiod_errlist_objs="$audiod_errlist_objs ao_write"
522 if test $HAVE_SAMPLERATE = yes; then
523 audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav"
525 audiod_objs="$audiod_errlist_objs"
526 AC_SUBST(audiod_objs, add_dot_o($audiod_objs))
528 enum="$(for i in $audiod_audio_formats; do printf "AUDIO_FORMAT_${i}, " | tr '[a-z]' '[A-Z]'; done)"
529 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMATS_ENUM, $enum NUM_AUDIO_FORMATS,
530 enum of audio formats supported by audiod)
531 names="$(for i in $audiod_audio_formats; do printf \"$i\",' ' ; done)"
532 AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMAT_ARRAY, $names, array of audio formats supported by audiod)
536 ########################################################################### mixer
537 if test $HAVE_OSS = yes -o $HAVE_ALSA = yes; then
539 executables="$executables mixer"
540 mixer_errlist_objs="mixer exec string fd version"
541 if test $HAVE_OSS = yes; then
542 mixer_errlist_objs="$mixer_errlist_objs oss_mix"
544 if test $HAVE_ALSA = yes; then
545 mixer_errlist_objs="$mixer_errlist_objs alsa_mix"
547 mixer_objs="$mixer_errlist_objs"
548 AC_SUBST(mixer_objs, add_dot_o($mixer_objs))
551 AC_MSG_WARN([no mixer support])
553 ########################################################################### gui
554 if test $HAVE_CURSES = yes; then
556 executables="$executables gui"
570 gui_objs="$gui_errlist_objs"
571 AC_SUBST(gui_objs, add_dot_o($gui_objs))
574 AC_MSG_WARN([no curses lib, cannot build para_gui])
576 ######################################################################## filter
577 filter_errlist_objs="
601 NEED_VORBIS_OBJECTS && filter_errlist_objs="$filter_errlist_objs oggdec_filter"
602 NEED_SPEEX_OBJECTS && filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common"
603 NEED_OPUS_OBJECTS && filter_errlist_objs="$filter_errlist_objs opusdec_filter opus_common"
604 NEED_FLAC_OBJECTS && filter_errlist_objs="$filter_errlist_objs flacdec_filter"
605 if test $HAVE_FAAD = yes; then
606 filter_errlist_objs="$filter_errlist_objs aacdec_filter"
608 if test $HAVE_MAD = yes; then
609 filter_errlist_objs="$filter_errlist_objs mp3dec_filter"
611 if test $HAVE_SAMPLERATE = yes; then
612 filter_errlist_objs="$filter_errlist_objs resample_filter check_wav"
614 filter_objs="$filter_errlist_objs"
616 AC_SUBST(filter_objs, add_dot_o($filter_objs))
617 ########################################################################## recv
638 NEED_OGG_OBJECTS && recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
639 NEED_VORBIS_OBJECTS && recv_errlist_objs="$recv_errlist_objs ogg_afh"
640 NEED_SPEEX_OBJECTS && recv_errlist_objs="$recv_errlist_objs spx_afh spx_common"
641 NEED_OPUS_OBJECTS && recv_errlist_objs="$recv_errlist_objs opus_afh opus_common"
642 NEED_FLAC_OBJECTS && recv_errlist_objs="$recv_errlist_objs flac_afh"
644 if test $HAVE_FAAD = yes; then
645 recv_errlist_objs="$recv_errlist_objs aac_afh"
647 recv_objs="$recv_errlist_objs"
648 AC_SUBST(recv_objs, add_dot_o($recv_objs))
649 ########################################################################### afh
650 audio_format_handlers="mp3 wma"
662 NEED_OGG_OBJECTS && afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
663 NEED_VORBIS_OBJECTS && {
664 afh_errlist_objs="$afh_errlist_objs ogg_afh"
665 audio_format_handlers="$audio_format_handlers ogg"
667 NEED_SPEEX_OBJECTS && {
668 afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
669 audio_format_handlers="$audio_format_handlers spx"
671 NEED_OPUS_OBJECTS && {
672 afh_errlist_objs="$afh_errlist_objs opus_afh opus_common"
673 audio_format_handlers="$audio_format_handlers opus"
675 NEED_FLAC_OBJECTS && {
676 afh_errlist_objs="$afh_errlist_objs flac_afh"
677 audio_format_handlers="$audio_format_handlers flac"
679 if test $HAVE_FAAD = yes; then
680 afh_errlist_objs="$afh_errlist_objs aac_afh"
681 audio_format_handlers="$audio_format_handlers aac"
684 afh_objs="$afh_errlist_objs"
686 AC_SUBST(afh_objs, add_dot_o($afh_objs))
687 ########################################################################## play
720 NEED_OGG_OBJECTS && play_errlist_objs="$play_errlist_objs ogg_afh_common"
721 NEED_VORBIS_OBJECTS && {
722 play_errlist_objs="$play_errlist_objs oggdec_filter ogg_afh"
724 NEED_SPEEX_OBJECTS && {
725 play_errlist_objs="$play_errlist_objs spxdec_filter spx_afh spx_common"
728 play_errlist_objs="$play_errlist_objs
733 NEED_FLAC_OBJECTS && {
734 play_errlist_objs="$play_errlist_objs flacdec_filter flac_afh"
736 if test $HAVE_FAAD = yes; then
737 play_errlist_objs="$play_errlist_objs aac_afh aacdec_filter"
739 if test $HAVE_MAD = yes; then
740 play_errlist_objs="$play_errlist_objs mp3dec_filter"
742 if test $HAVE_OSS = yes; then
743 play_errlist_objs="$play_errlist_objs oss_write"
745 if test $HAVE_ALSA = yes; then
746 play_errlist_objs="$play_errlist_objs alsa_write"
749 play_errlist_objs="$play_errlist_objs ao_write"
751 if test $HAVE_READLINE = yes; then
752 play_errlist_objs="$play_errlist_objs interactive"
754 if test $HAVE_SAMPLERATE = yes; then
755 play_errlist_objs="$play_errlist_objs resample_filter check_wav"
758 play_objs="$play_errlist_objs"
759 AC_SUBST(play_objs, add_dot_o($play_objs))
760 ######################################################################### write
776 write_errlist_objs="$write_errlist_objs ao_write"
778 if test $HAVE_OSS = yes; then
779 write_errlist_objs="$write_errlist_objs oss_write"
781 if test $HAVE_ALSA = yes; then
782 write_errlist_objs="$write_errlist_objs alsa_write"
784 write_objs="$write_errlist_objs"
785 AC_SUBST(write_objs, add_dot_o($write_objs))
786 ######################################################################## audioc
787 audioc_errlist_objs="
794 if test $HAVE_READLINE = yes; then
795 audioc_errlist_objs="$audioc_errlist_objs
802 audioc_objs="$audioc_errlist_objs"
803 AC_SUBST(audioc_objs, add_dot_o($audioc_objs))
804 ################################################################## status items
806 status_items="basename status num_played mtime bitrate frequency file_size
807 status_flags format score techinfo afs_mode
808 attributes_txt decoder_flags audiod_status play_time attributes_bitmap
809 offset seconds_total stream_start current_time audiod_uptime image_id
810 lyrics_id duration directory lyrics_name image_name path hash channels
811 last_played num_chunks chunk_time amplification artist title year album
812 comment max_chunk_size"
815 for i in $status_items; do
816 result="$result SI_$(echo $i | tr 'a-z' 'A-Z'), "
818 AC_DEFINE_UNQUOTED(STATUS_ITEM_ENUM, [$result],
819 [enum of all status items])
822 for i in $status_items; do
823 result="$result \"$i\", "
825 AC_DEFINE_UNQUOTED(STATUS_ITEM_ARRAY, [$result],
826 [char * array of all status items])
828 AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers",
829 [formats supported by para_server and para_afh])
831 AC_SUBST(executables)
835 paraslash configuration:
836 ~~~~~~~~~~~~~~~~~~~~~~~~
837 crypto lib: ${CRYPTOLIB:-[none]}
838 unix socket credentials: $have_ucred
839 readline (interactive CLIs): $HAVE_READLINE
840 id3 version 2 support: $HAVE_ID3TAG
842 audio format handlers: $audio_format_handlers
844 para_server: $build_server
846 para_mixer: $build_mixer
847 para_client: $build_client
848 para_audiod: $build_audiod