X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=configure.ac;h=f47a56df0c96f71d68e19b3655aa017925536a83;hp=f0c278727351751f762ba930bf15578421a1743c;hb=28ea59db9b3cd2bd9d6be0f304d951aa550ea4d6;hpb=aa7a44a031fa8efba1a014a215f1eb03ea2607fb diff --git a/configure.ac b/configure.ac index f0c27872..f47a56df 100644 --- a/configure.ac +++ b/configure.ac @@ -94,7 +94,7 @@ server_command_list afs_command_list audiod_command_list bitstream imdct wma_afh wma_common wmadec_filter buffer_tree " -executables="server recv filter audioc write client afh audiod" +executables="recv filter audioc write client afh audiod" recv_cmdline_objs="add_cmdline(recv http_recv dccp_recv udp_recv)" @@ -133,7 +133,7 @@ server_errlist_objs="server afh_common mp3_afh vss command net string signal 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 @@ -257,14 +257,18 @@ fi AC_CHECK_HEADER(osl.h, [], have_osl=no) AC_CHECK_LIB([osl], [osl_open_table], [], have_osl=no) if test "$have_osl" = "no"; then - AC_MSG_ERROR([libosl not found, download it at + AC_MSG_WARN([libosl not found, can not build para_server. +Download libosl at http://systemlinux.org/~maan/osl or execute git clone git://git.tuebingen.mpg.de/osl ]) +else + extras="$extras server" + executables="$executables server" + AC_SUBST(osl_cppflags) + server_ldflags="$server_ldflags -L$with_osl_libs" fi -AC_SUBST(osl_cppflags) -server_ldflags="$server_ldflags -L$with_osl_libs" CPPFLAGS="$OLD_CPPFLAGS" LDFLAGS="$OLD_LDFLAGS" LIBS="$OLD_LIBS" @@ -423,49 +427,88 @@ if test ${have_core_audio} = yes; then 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" @@ -675,28 +718,22 @@ lyrics_id duration directory lyrics_name image_name path hash channels 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 -)]) +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]) -# $1: prefix, $2: items -AC_DEFUN([make_enum_array], [$( - for i in $2; do - printf "\"$i\", " - done -)]) +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(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] -) +AC_DEFINE_UNQUOTED(SERVER_AUDIO_FORMATS, "$server_audio_formats", + [formats supported by para_server and para_afh]) AC_SUBST(executables, add_para($executables))