blob playlist sha1 sched acl send_common udp_send color fec
server_command_list afs_command_list wma_afh wma_common"
server_ldflags="-losl"
-server_audio_formats=" mp3 wma"
+server_audio_formats="mp3 wma"
write_cmdline_objs="add_cmdline(write file_write)"
write_errlist_objs="write write_common file_write time fd string sched stdin
default_writer="OSX_WRITE"
AC_DEFINE(HAVE_CORE_AUDIO, 1, define to 1 on Mac Os X)
fi
-########################################################################### ogg
+########################################################### ogg/vorbis/speex
have_ogg="yes"
+have_vorbis="yes"
+have_speex="yes"
OLD_CPPFLAGS="$CPPFLAGS"
OLD_LD_FLAGS="$LDFLAGS"
OLD_LIBS="$LIBS"
AC_ARG_WITH(oggvorbis_headers, [AC_HELP_STRING(--with-oggvorbis-headers=dir,
- [look for vorbis/codec.h also in dir])])
+ [look for ogg/vorbis/speex headers also in dir])])
if test -n "$with_oggvorbis_headers"; then
- oggvorbis_cppflags="-I$with_oggvorbis_headers"
- CPPFLAGS="$CPPFLAGS $oggvorbis_cppflags"
+ ogg_cppflags="-I$with_oggvorbis_headers"
+ CPPFLAGS="$CPPFLAGS $ogg_cppflags"
fi
AC_ARG_WITH(oggvorbis_libs, [AC_HELP_STRING(--with-oggvorbis-libs=dir,
- [look for oggvorbis libs also in dir])])
+ [look for ogg/vorbis/speex libs also in dir])])
if test -n "$with_oggvorbis_libs"; then
- oggvorbis_libs="-L$with_oggvorbis_libs"
- LDFLAGS="$LDFLAGS $oggvorbis_libs"
+ ogg_libs="-L$with_oggvorbis_libs"
+ LDFLAGS="$LDFLAGS $ogg_libs"
fi
AC_CHECK_LIB([ogg], [ogg_stream_init], [], [ have_ogg="no" ])
-AC_CHECK_LIB([vorbis], [vorbis_info_init], [], [ have_ogg="no" ])
-AC_CHECK_HEADERS([ogg/ogg.h vorbis/codec.h], [], [ have_ogg="no" ])
-if test "$have_ogg" = "yes"; then
- all_errlist_objs="$all_errlist_objs oggdec_filter ogg_afh"
- AC_DEFINE(HAVE_OGGVORBIS, 1, define to 1 to turn on ogg vorbis support)
- filters="$filters oggdec"
+AC_CHECK_LIB([vorbis], [vorbis_info_init], [], [ have_vorbis="no" ])
+AC_CHECK_LIB([speex], [speex_decoder_init], [], [ have_speex="no" ])
+AC_CHECK_HEADERS([ogg/ogg.h], [], [ have_ogg="no"; ])
+AC_CHECK_HEADERS([vorbis/codec.h], [], [ have_vorbis="no" ])
+AC_CHECK_HEADERS([speex/speex.h], [], [ have_speex="no" ])
+msg="support in para_server/para_filter/para_afh"
+if test "$have_ogg" = "yes" && { test "$have_vorbis" = "yes" || test "$have_speex" = "yes"; }; then
+ AC_SUBST(ogg_cppflags)
+ ogg_libs="$ogg_libs -logg"
if test "$OSTYPE" = "Darwin"; then
- oggvorbis_libs="-Wl,-bind_at_load $oggvorbis_libs"
+ ogg_libs="-Wl,-bind_at_load $ogg_libs $ogg_libs"
+ fi
+ server_ldflags="$server_ldflags $ogg_libs"
+ filter_ldflags="$filter_ldflags $ogg_libs"
+ audiod_ldflags="$audiod_ldflags $ogg_libs"
+ all_errlist_objs="$all_errlist_objs ogg_afh_common"
+ afh_ldflags="$afh_ldflags $ogg_libs"
+ afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
+ server_errlist_objs="$server_errlist_objs ogg_afh_common"
+ if test "$have_vorbis" = "yes"; then
+ all_errlist_objs="$all_errlist_objs oggdec_filter ogg_afh"
+ AC_DEFINE(HAVE_OGGVORBIS, 1, define to 1 to turn on ogg/vorbis support)
+ filters="$filters oggdec"
+ vorbis_libs="-lvorbis -lvorbisfile"
+ server_ldflags="$server_ldflags $vorbis_libs"
+ filter_ldflags="$filter_ldflags $vorbis_libs"
+ audiod_ldflags="$audiod_ldflags $vorbis_libs"
+ afh_ldflags="$afh_ldflags $vorbis_libs"
+
+ server_errlist_objs="$server_errlist_objs ogg_afh"
+ filter_errlist_objs="$filter_errlist_objs oggdec_filter"
+ audiod_errlist_objs="$audiod_errlist_objs oggdec_filter"
+ afh_errlist_objs="$afh_errlist_objs ogg_afh"
+
+ audiod_audio_formats="$audiod_audio_formats ogg"
+ server_audio_formats="$server_audio_formats ogg"
+ else
+ AC_MSG_WARN([no ogg/vorbis $msg])
+ fi
+ if test "$have_speex" = "yes"; then
+ all_errlist_objs="$all_errlist_objs spxdec_filter spx_afh spx_common"
+ AC_DEFINE(HAVE_SPEEX, 1, define to 1 to turn on ogg/speex support)
+ filters="$filters spxdec"
+ speex_libs="-lspeex"
+ server_ldflags="$server_ldflags $speex_libs"
+ filter_ldflags="$filter_ldflags $speex_libs"
+ audiod_ldflags="$audiod_ldflags $speex_libs"
+ afh_ldflags="$afh_ldflags $speex_libs"
+
+ server_errlist_objs="$server_errlist_objs spx_afh spx_common"
+ filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common"
+ audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common"
+ afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
+
+ audiod_audio_formats="$audiod_audio_formats spx"
+ server_audio_formats="$server_audio_formats spx"
+ else
+ AC_MSG_WARN([no ogg/speex $msg])
fi
- server_ldflags="$server_ldflags $oggvorbis_libs -logg -lvorbis -lvorbisfile"
- filter_ldflags="$filter_ldflags $oggvorbis_libs -lvorbis -lvorbisfile"
- audiod_ldflags="$audiod_ldflags $oggvorbis_libs -lvorbis -lvorbisfile"
- afh_ldflags="$afh_ldflags $oggvorbis_libs -logg -lvorbis -lvorbisfile"
-
- server_errlist_objs="$server_errlist_objs ogg_afh"
- filter_errlist_objs="$filter_errlist_objs oggdec_filter"
- audiod_errlist_objs="$audiod_errlist_objs oggdec_filter"
- afh_errlist_objs="$afh_errlist_objs ogg_afh"
-
- audiod_audio_formats="$audiod_audio_formats ogg"
- server_audio_formats="$server_audio_formats ogg"
- AC_SUBST(oggvorbis_cppflags)
else
- AC_MSG_WARN([no ogg vorbis support in para_server/para_filter])
+ AC_MSG_WARN([no ogg/vorbis ogg/speex $msg])
fi
CPPFLAGS="$OLD_CPPFLAGS"
LDFLAGS="$OLD_LDFLAGS"
AC_DEFUN([add_para],[$(for i in $@; do printf "para_$i "; done)])
AC_DEFUN([objlist_to_errlist],[$(for i in $@; do printf "DEFINE_ERRLIST($(echo $i| tr 'a-z' 'A-Z'));"; done) [const char **para_errlist[[]]] = {$(for i in $@; do printf "PARA_ERRLIST($(echo $i | tr 'a-z' 'A-Z')), "; done) }])
############################################################# error2.h
-AC_DEFUN([define_safe_error_enums],
-[
- exe=""
- for i in $executables; do
-# eval echo checking if $1 is linked into $i
- for j in $(eval echo \$${i}_errlist_objs); do
- if test $j = $1; then
- exe="$exe $i"
- break;
- fi
- done
- done
- #echo "$1 gets linked into $exe"
- safe_errlists=""
- for i in $all_errlist_objs; do
- for j in $exe; do
- found=0
- for k in $(eval echo \$${j}_errlist_objs); do
- if test $k = $i; then
- found=1
- break;
- fi
- done
- if test $found -eq 0; then
- break;
- fi
- done
- if test $found -eq 1; then
- safe_errlists="$safe_errlists $i"
- fi
- done
- #echo "safe errlists for $1: $safe_errlists"
- ss_defs=""
- for i in $safe_errlists; do
- echo "SS_ENUM($(echo $i | tr 'a-z' 'A-Z'));"
- done
-]
-)
-
-
AC_MSG_NOTICE(creating error2.h)
+for i in $executables; do
+ echo "$i: "
+ eval echo \$${i}_errlist_objs
+done | ./error2.pl > error2.h
for obj in $all_errlist_objs; do
SS="$SS SS_$(echo $obj | tr 'a-z' 'A-Z'),"
- echo "#ifdef MAIN_INPUT_FILE_IS_$obj"
- define_safe_error_enums($obj)
- echo "#endif"
-done > error2.h
+done
AC_DEFINE_UNQUOTED(DEFINE_ERRLIST_OBJECT_ENUM,
[enum {$SS NUM_SS}],
[list of all objects that use paraslash's error facility]
last_played num_chunks chunk_time amplification artist title year album
comment"
-# $1: prefix, $2: items
-AC_DEFUN([make_enum_items], [$(
- for i in $2; do
- printf "$1_$(echo $i | tr 'a-z' 'A-Z'), "
- done
-)])
-
-# $1: prefix, $2: items
-AC_DEFUN([make_enum_array], [$(
- for i in $2; do
- printf "\"$i\", "
- done
-)])
-
-AC_DEFINE_UNQUOTED(STATUS_ITEM_ENUM,
- make_enum_items(SI, $status_items),
- [enum of all status items]
-)
-AC_DEFINE_UNQUOTED(STATUS_ITEM_ARRAY,
- make_enum_array(SI, $status_items),
- [char * array of all status items]
-)
+result=
+for i in $status_items; do
+ result="$result SI_$(echo $i | tr 'a-z' 'A-Z'), "
+done
+AC_DEFINE_UNQUOTED(STATUS_ITEM_ENUM, [$result],
+ [enum of all status items])
+
+result=
+for i in $status_items; do
+ result="$result \"$i\", "
+done
+AC_DEFINE_UNQUOTED(STATUS_ITEM_ARRAY, [$result],
+ [char * array of all status items])
+
+AC_DEFINE_UNQUOTED(SERVER_AUDIO_FORMATS, "$server_audio_formats",
+ [formats supported by para_server and para_afh])
AC_SUBST(executables, add_para($executables))