X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=configure.ac;h=ba177eac3c29a4beda0dbee952ac3977f1708e78;hp=abf8c071b8a53091ec3c263576fa9f6fae5a74cd;hb=a3aee62340ab85da20d290df8cda1c947cdbe5de;hpb=0f4790f2eb859832419e5aeb3d4549fbde3b0499 diff --git a/configure.ac b/configure.ac index abf8c071..ba177eac 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,21 @@ AC_CONFIG_HEADER([config.h]) AC_CONFIG_FILES([Makefile]) AC_DEFUN([add_dot_o],[$(for i in $@; do printf "$i.o "; done)]) AC_DEFUN([add_cmdline],[$(for i in $@; do printf "${i}.cmdline "; 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) }]) +AC_DEFUN([make_errlist_defines], \ + $(for i in $@; do \ + printf "DEFINE_ERRLIST($(echo $i | tr 'a-z' 'A-Z'));"; \ + done) \ +) +AC_DEFUN([make_para_errlists], \ + $(for i in $@; do \ + printf "PARA_ERRLIST($(echo $i | tr 'a-z' 'A-Z')), "; \ + done) \ +) +AC_DEFUN([objlist_to_errlist],[ \ + make_errlist_defines($@) \ + [const char **para_errlist[[]]] = {make_para_errlists($@)} \ +]) + AC_PATH_PROG(UNAMEPATH, uname, no) if test "$UNAMEPATH" = "no"; then AC_MSG_ERROR(unable to determine system type) @@ -90,8 +104,6 @@ AC_CHECK_FUNCS([atexit dup2 memchr memmove memset \ [AC_MSG_ERROR([function not found, cannot live without it])]) executables="recv filter audioc write afh play" -audio_format_handlers="mp3 wma" - ################################################################## clock_gettime clock_gettime_lib= AC_CHECK_LIB([c], [clock_gettime], [clock_gettime_lib=c], [ @@ -430,14 +442,12 @@ if test "$have_vorbis" = "yes"; then AC_DEFINE(HAVE_OGGVORBIS, 1, define to 1 to turn on ogg/vorbis support) vorbis_ldflags="$vorbis_libs -lvorbis -lvorbisfile" AC_SUBST(vorbis_ldflags) - audio_format_handlers="$audio_format_handlers ogg" fi if test "$have_speex" = "yes"; then AC_DEFINE(HAVE_SPEEX, 1, define to 1 to turn on ogg/speex support) AC_SUBST(speex_cppflags) speex_ldflags="$speex_libs -lspeex" AC_SUBST(speex_ldflags) - audio_format_handlers="$audio_format_handlers spx" else AC_MSG_WARN([no ogg/speex $msg]) fi @@ -477,8 +487,6 @@ if test "$have_faad" = "yes"; then AC_SUBST(faad_cppflags) faad_ldflags="$faad_libs -lfaad" AC_SUBST(faad_ldflags) - - audio_format_handlers="$audio_format_handlers aac" fi CPPFLAGS="$OLD_CPPFLAGS" LDFLAGS="$OLD_LDFLAGS" @@ -578,7 +586,6 @@ if test "$have_flac" = "yes"; then AC_SUBST(flac_cppflags) flac_ldflags="$flac_libs -lFLAC" AC_SUBST(flac_ldflags) - audio_format_handlers="$audio_format_handlers flac" else AC_MSG_WARN([no flac support in para_audiod/para_filter/para_afh/para_server]) fi @@ -594,11 +601,6 @@ have_oss="yes" msg="=> will not build oss writer" AC_CHECK_HEADER(sys/soundcard.h, [ - fade_errlist_objs="$fade_errlist_objs oss_mix" - - mixers="${mixers}oss " - default_mixer="OSS_MIX" - AC_CHECK_LIB(ossaudio, _oss_ioctl, [ oss_ldflags="-lossaudio" AC_SUBST(oss_ldflags) @@ -642,10 +644,6 @@ fi if test "$have_alsa" = "yes"; then alsa_ldflags="-lasound" AC_SUBST(alsa_ldflags) - fade_errlist_objs="$fade_errlist_objs alsa_mix" - - mixers="${mixers}alsa " - default_mixer="ALSA_MIX" fi CPPFLAGS="$OLD_CPPFLAGS" @@ -729,12 +727,6 @@ AC_CHECK_HEADERS([readline/readline.h], [ AC_MSG_WARN([readline/readline.h not found, $msg]) ]) -if test "$have_curses" != "yes"; then - have_readline="no" - AC_MSG_WARN([interactive cli support depends on curses,]) - AC_MSG_WARN([but no curses lib was detected, $msg]) -fi - if test "$have_readline" = "yes"; then readline_ldflags="$readline_libs -lreadline" AC_SEARCH_LIBS([rl_free_keymap], [readline], [], [have_readline="no"]) @@ -1035,14 +1027,23 @@ else build_audiod="no" fi ########################################################################### fade -if test -n "$mixers"; then +if test "$have_oss" = "yes" -o "$have_alsa" = "yes"; then build_fade="yes" executables="$executables fade" - fade_errlist_objs="$fade_errlist_objs fade exec string fd version ggo" fade_cmdline_objs="fade" + fade_errlist_objs="fade exec string fd version ggo" + if test "$have_oss" = "yes"; then + fade_errlist_objs="$fade_errlist_objs oss_mix" + mixers="${mixers}oss " + default_mixer="OSS_MIX" + fi + if test "$have_alsa" = "yes"; then + fade_errlist_objs="$fade_errlist_objs alsa_mix" + mixers="${mixers}alsa " + default_mixer="ALSA_MIX" + fi fade_objs="add_cmdline($fade_cmdline_objs) $fade_errlist_objs" AC_SUBST(fade_objs, add_dot_o($fade_objs)) - AC_SUBST(fade_ldflags, $fade_ldflags) AC_DEFINE_UNQUOTED(INIT_FADE_ERRLISTS, objlist_to_errlist($fade_errlist_objs), errors used by para_fade) @@ -1066,11 +1067,9 @@ if test -n "$mixers"; then init functions of the supported mixers) array="$(for i in $mixers; do printf '{.init = '$i'_mix_init},'; done)" AC_DEFINE_UNQUOTED(MIXER_ARRAY, $array, array of supported mixers) - mixer_summary="supported mixers:: $mixers, default: $default_mixer" else build_fade="no" AC_MSG_WARN([no mixer support]) - mixer_summary="para_fade: no" fi ########################################################################### gui if test "$have_curses" = "yes"; then @@ -1091,6 +1090,9 @@ if test "$have_curses" = "yes"; then ggo " gui_objs="add_cmdline($gui_cmdline_objs) $gui_errlist_objs" + AC_SUBST(gui_objs, add_dot_o($gui_objs)) + AC_DEFINE_UNQUOTED(INIT_GUI_ERRLISTS, + objlist_to_errlist($gui_errlist_objs), errors used by para_gui) else build_gui="no" AC_MSG_WARN([no curses lib, cannot build para_gui]) @@ -1165,6 +1167,21 @@ if test "$have_samplerate" = "yes"; then filter_cmdline_objs="$filter_cmdline_objs resample_filter" filters="$filters resample" fi +filters="$(echo $filters)" +AC_SUBST(filters) +filter_objs="add_cmdline($filter_cmdline_objs) $filter_errlist_objs" + +AC_SUBST(filter_objs, add_dot_o($filter_objs)) +AC_DEFINE_UNQUOTED(INIT_FILTER_ERRLISTS, + objlist_to_errlist($filter_errlist_objs), errors used by para_filter) + +enum="$(for i in $filters; do printf "${i}_FILTER, " | tr '[a-z]' '[A-Z]'; done)" +AC_DEFINE_UNQUOTED(FILTER_ENUM, $enum NUM_SUPPORTED_FILTERS, + enum of supported filters) +inits="$(for i in $filters; do printf 'extern void '$i'_filter_init(struct filter *f); '; done)" +AC_DEFINE_UNQUOTED(DECLARE_FILTER_INITS, $inits, init functions of the supported filters) +array="$(for i in $filters; do printf '{.name = "'$i'", .init = '$i'_filter_init},'; done)" +AC_DEFINE_UNQUOTED(FILTER_ARRAY, $array, array of supported filters) ########################################################################## recv recv_cmdline_objs=" recv @@ -1216,10 +1233,12 @@ if test "$have_flac" = "yes"; then recv_errlist_objs="$recv_errlist_objs flac_afh" fi recv_objs="add_cmdline($recv_cmdline_objs) $recv_errlist_objs" +AC_SUBST(receivers, "http dccp udp afh") AC_SUBST(recv_objs, add_dot_o($recv_objs)) AC_DEFINE_UNQUOTED(INIT_RECV_ERRLISTS, objlist_to_errlist($recv_errlist_objs), errors used by para_recv) ########################################################################### afh +audio_format_handlers="mp3 wma" afh_cmdline_objs="afh" afh_errlist_objs=" afh @@ -1240,18 +1259,22 @@ if test "$have_vorbis" = "yes" || \ fi if test "$have_vorbis" = "yes"; then afh_errlist_objs="$afh_errlist_objs ogg_afh" + audio_format_handlers="$audio_format_handlers ogg" fi if test "$have_speex" = "yes"; then afh_errlist_objs="$afh_errlist_objs spx_afh spx_common" + audio_format_handlers="$audio_format_handlers spx" fi if test "$have_opus" = "yes"; then afh_errlist_objs="$afh_errlist_objs opus_afh opus_common" fi if test "$have_faad" = "yes"; then afh_errlist_objs="$afh_errlist_objs aac_common aac_afh" + audio_format_handlers="$audio_format_handlers aac" fi if test "$have_flac" = "yes"; then afh_errlist_objs="$afh_errlist_objs flac_afh" + audio_format_handlers="$audio_format_handlers flac" fi afh_objs="add_cmdline($afh_cmdline_objs) $afh_errlist_objs" @@ -1401,6 +1424,7 @@ if test "$have_alsa" = "yes"; then writers="$writers alsa" default_writer="ALSA_WRITE" fi +AC_SUBST(writers) write_objs="add_cmdline($write_cmdline_objs) $write_errlist_objs" AC_SUBST(write_objs, add_dot_o($write_objs)) AC_DEFINE_UNQUOTED(INIT_WRITE_ERRLISTS, @@ -1511,24 +1535,6 @@ AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers", AC_SUBST(executables) -filter_objs="add_cmdline($filter_cmdline_objs) $filter_errlist_objs" - -AC_SUBST(filter_objs, add_dot_o($filter_objs)) -AC_DEFINE_UNQUOTED(INIT_FILTER_ERRLISTS, - objlist_to_errlist($filter_errlist_objs), errors used by para_filter) - -AC_SUBST(gui_objs, add_dot_o($gui_objs)) -AC_DEFINE_UNQUOTED(INIT_GUI_ERRLISTS, - objlist_to_errlist($gui_errlist_objs), errors used by para_gui) - -enum="$(for i in $filters; do printf "${i}_FILTER, " | tr '[a-z]' '[A-Z]'; done)" -AC_DEFINE_UNQUOTED(FILTER_ENUM, $enum NUM_SUPPORTED_FILTERS, - enum of supported filters) -inits="$(for i in $filters; do printf 'extern void '$i'_filter_init(struct filter *f); '; done)" -AC_DEFINE_UNQUOTED(DECLARE_FILTER_INITS, $inits, init functions of the supported filters) -array="$(for i in $filters; do printf '{.name = "'$i'", .init = '$i'_filter_init},'; done)" -AC_DEFINE_UNQUOTED(FILTER_ARRAY, $array, array of supported filters) - AC_OUTPUT AC_MSG_NOTICE([ paraslash configuration: @@ -1537,10 +1543,10 @@ unix socket credentials: $have_ucred readline (interactive CLIs): $have_readline audio formats handlers: $audio_format_handlers id3 version2 support: $have_libid3tag -filters: $(echo $filters) +filters: $filters writers: $writers -$mixer_summary +para_fade: $build_fade para_server: $build_server para_gui: $build_gui para_fade: $build_fade