X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=configure.ac;h=36eab1142a30517110bc13eda34dd52850ab629f;hp=06ce1c34a8236f04f2465d18297ea024794a64b1;hb=ccd2581a1d421d05be9d621c9d85eff90d390d20;hpb=0c86265181e1cc1fa3026d5796767376d8aed15c diff --git a/configure.ac b/configure.ac index 06ce1c34..36eab114 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], [ @@ -193,9 +205,6 @@ if test "$check_openssl" = "yes"; then openssl_ldflags="$openssl_libs -lssl -lcrypto" AC_SUBST(openssl_ldflags) - client_errlist_objs="$client_errlist_objs crypt" - audiod_errlist_objs="$audiod_errlist_objs crypt" - check_gcrypt="no" else AC_MSG_WARN([openssl libraries not found]) @@ -231,9 +240,6 @@ if test "$check_gcrypt" = "yes"; then AC_SUBST(gcrypt_cppflags) gcrypt_ldflags="$gcrypt_libs -lgcrypt" AC_SUBST(gcrypt_ldflags) - - client_errlist_objs="$client_errlist_objs gcrypt" - audiod_errlist_objs="$audiod_errlist_objs gcrypt" else AC_MSG_WARN([gcrypt library not found]) fi @@ -340,10 +346,6 @@ if test ${have_core_audio} = yes; then f4="-framework CoreServices" core_audio_ldflags="$f1 $f2 $f3 $f4" AC_SUBST(core_audio_ldflags) - - audiod_errlist_objs="$audiod_errlist_objs osx_write ipc" - audiod_cmdline_objs="$audiod_cmdline_objs osx_write.cmdline" - AC_DEFINE(HAVE_CORE_AUDIO, 1, define to 1 on Mac Os X) fi ####################################################### ogg/vorbis/speex/opus @@ -440,23 +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) - - audiod_errlist_objs="$audiod_errlist_objs oggdec_filter" - - audiod_audio_formats="$audiod_audio_formats ogg" - 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) - - - audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common" - - audiod_audio_formats="$audiod_audio_formats spx" - audio_format_handlers="$audio_format_handlers spx" else AC_MSG_WARN([no ogg/speex $msg]) fi @@ -465,11 +456,6 @@ if test "$have_opus" = "yes"; then AC_SUBST(opus_cppflags) opus_ldflags="$opus_libs -lopus" AC_SUBST(opus_ldflags) - - - audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common" - - audiod_audio_formats="$audiod_audio_formats opus" audio_format_handlers="$audio_format_handlers opus" else AC_MSG_WARN([no ogg/opus $msg]) @@ -501,11 +487,6 @@ if test "$have_faad" = "yes"; then AC_SUBST(faad_cppflags) faad_ldflags="$faad_libs -lfaad" AC_SUBST(faad_ldflags) - - audiod_errlist_objs="$audiod_errlist_objs aacdec_filter aac_common" - - audiod_audio_formats="$audiod_audio_formats aac" - audio_format_handlers="$audio_format_handlers aac" fi CPPFLAGS="$OLD_CPPFLAGS" LDFLAGS="$OLD_LDFLAGS" @@ -539,9 +520,6 @@ if test "$have_mad" = "yes"; then AC_SUBST(mad_cppflags) mad_ldflags="$mad_libs -lmad" AC_SUBST(mad_ldflags) - audiod_cmdline_objs="$audiod_cmdline_objs mp3dec_filter" - audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter" - audiod_audio_formats="$audiod_audio_formats mp3" else AC_MSG_WARN([no mp3dec support in para_audiod/para_filter]) fi @@ -608,10 +586,6 @@ if test "$have_flac" = "yes"; then AC_SUBST(flac_cppflags) flac_ldflags="$flac_libs -lFLAC" AC_SUBST(flac_ldflags) - - audiod_errlist_objs="$audiod_errlist_objs flacdec_filter" - audio_format_handlers="$audio_format_handlers flac" - audiod_audio_formats="$audiod_audio_formats flac" else AC_MSG_WARN([no flac support in para_audiod/para_filter/para_afh/para_server]) fi @@ -627,14 +601,6 @@ have_oss="yes" msg="=> will not build oss writer" AC_CHECK_HEADER(sys/soundcard.h, [ - audiod_errlist_objs="$audiod_errlist_objs oss_write" - audiod_cmdline_objs="$audiod_cmdline_objs oss_write" - - 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) @@ -678,13 +644,6 @@ fi if test "$have_alsa" = "yes"; then alsa_ldflags="-lasound" AC_SUBST(alsa_ldflags) - audiod_errlist_objs="$audiod_errlist_objs alsa_write" - audiod_cmdline_objs="$audiod_cmdline_objs alsa_write" - - fade_errlist_objs="$fade_errlist_objs alsa_mix" - - mixers="${mixers}alsa " - default_mixer="ALSA_MIX" fi CPPFLAGS="$OLD_CPPFLAGS" @@ -737,10 +696,6 @@ if test "$have_ao" = "yes"; then AC_SUBST(ao_cppflags) ao_ldflags="$ao_libs -lao -lpthread" AC_SUBST(ao_ldflags) - - audiod_errlist_objs="$audiod_errlist_objs ao_write" - audiod_cmdline_objs="$audiod_cmdline_objs ao_write" - fi CPPFLAGS="$OLD_CPPFLAGS" @@ -772,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"]) @@ -802,9 +751,9 @@ if test "$have_readline" = "yes"; then fi if test "$have_readline" = "yes"; then + : AC_SUBST(readline_cppflags) AC_SUBST(readline_ldflags) - client_errlist_objs="$client_errlist_objs interactive" AC_DEFINE(HAVE_READLINE, 1, define to 1 to turn on readline support) else AC_MSG_WARN([libreadline not found or unusable]) @@ -838,9 +787,6 @@ if test "$have_samplerate" = "yes"; then AC_SUBST(samplerate_cppflags) samplerate_ldflags="$samplerate_libs -lsamplerate" AC_SUBST(samplerate_ldflags) - - audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav" - audiod_cmdline_objs="$audiod_cmdline_objs resample_filter" else AC_MSG_WARN([no resample support in para_audiod/para_filter]) fi @@ -931,7 +877,7 @@ if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then build_client="yes" executables="$executables client" client_cmdline_objs="client" - client_errlist_objs="$client_errlist_objs + client_errlist_objs=" client net string @@ -947,6 +893,19 @@ if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then version ggo " + if test "$have_openssl" = "yes"; then + client_errlist_objs="$client_errlist_objs crypt" + fi + if test "$have_gcrypt" = "yes"; then + client_errlist_objs="$client_errlist_objs gcrypt" + fi + if test "$have_readline" = "yes"; then + client_errlist_objs="$client_errlist_objs interactive" + fi + client_objs="add_cmdline($client_cmdline_objs) $client_errlist_objs" + AC_SUBST(client_objs, add_dot_o($client_objs)) + AC_DEFINE_UNQUOTED(INIT_CLIENT_ERRLISTS, + objlist_to_errlist($client_errlist_objs), errors used by para_client) else build_client="no" fi @@ -954,6 +913,7 @@ fi if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then build_audiod="yes" executables="$executables audiod" + audiod_audio_formats="wma" audiod_cmdline_objs="$audiod_cmdline_objs audiod compress_filter @@ -1002,20 +962,88 @@ if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then wmadec_filter buffer_tree " - audiod_ldflags="$audiod_ldflags -lm" - audiod_audio_formats="$audiod_audio_formats wma" + if test "$have_openssl" = "yes"; then + audiod_errlist_objs="$audiod_errlist_objs crypt" + fi + if test "$have_gcrypt" = "yes"; then + audiod_errlist_objs="$audiod_errlist_objs gcrypt" + fi + if test "$have_core_audio" = "yes"; then + audiod_errlist_objs="$audiod_errlist_objs osx_write ipc" + audiod_cmdline_objs="$audiod_cmdline_objs osx_write.cmdline" + fi + if test "$have_vorbis" = "yes"; then + audiod_errlist_objs="$audiod_errlist_objs oggdec_filter" + audiod_audio_formats="$audiod_audio_formats ogg" + fi + if test "$have_speex" = "yes"; then + audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common" + audiod_audio_formats="$audiod_audio_formats spx" + fi + if test "$have_opus" = "yes"; then + audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common" + audiod_audio_formats="$audiod_audio_formats opus" + fi + if test "$have_faad" = "yes"; then + audiod_errlist_objs="$audiod_errlist_objs aacdec_filter aac_common" + audiod_audio_formats="$audiod_audio_formats aac" + fi + if test "$have_mad" = "yes"; then + audiod_audio_formats="$audiod_audio_formats mp3" + audiod_cmdline_objs="$audiod_cmdline_objs mp3dec_filter" + audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter" + fi + if test "$have_flac" = "yes"; then + audiod_errlist_objs="$audiod_errlist_objs flacdec_filter" + audiod_audio_formats="$audiod_audio_formats flac" + fi + if test "$have_oss" = "yes"; then + audiod_errlist_objs="$audiod_errlist_objs oss_write" + audiod_cmdline_objs="$audiod_cmdline_objs oss_write" + fi + if test "$have_alsa" = "yes"; then + audiod_errlist_objs="$audiod_errlist_objs alsa_write" + audiod_cmdline_objs="$audiod_cmdline_objs alsa_write" + fi + if test "$have_ao" = "yes"; then + audiod_errlist_objs="$audiod_errlist_objs ao_write" + audiod_cmdline_objs="$audiod_cmdline_objs ao_write" + fi + if test "$have_samplerate" = "yes"; then + audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav" + audiod_cmdline_objs="$audiod_cmdline_objs resample_filter" + fi + audiod_objs="add_cmdline($audiod_cmdline_objs) $audiod_errlist_objs" + AC_SUBST(audiod_objs, add_dot_o($audiod_objs)) + AC_DEFINE_UNQUOTED(INIT_AUDIOD_ERRLISTS, objlist_to_errlist($audiod_errlist_objs), + errors used by para_audiod) + + enum="$(for i in $audiod_audio_formats; do printf "AUDIO_FORMAT_${i}, " | tr '[a-z]' '[A-Z]'; done)" + AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMATS_ENUM, $enum NUM_AUDIO_FORMATS, + enum of audio formats supported by audiod) + names="$(for i in $audiod_audio_formats; do printf \"$i\",' ' ; done)" + AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMAT_ARRAY, $names, array of audio formats supported by audiod) 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) @@ -1039,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 @@ -1064,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]) @@ -1138,6 +1167,19 @@ if test "$have_samplerate" = "yes"; then filter_cmdline_objs="$filter_cmdline_objs resample_filter" filters="$filters resample" fi +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 @@ -1193,6 +1235,7 @@ 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 @@ -1213,18 +1256,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" @@ -1484,42 +1531,6 @@ AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers", AC_SUBST(executables) -filter_objs="add_cmdline($filter_cmdline_objs) $filter_errlist_objs" -audiod_objs="add_cmdline($audiod_cmdline_objs) $audiod_errlist_objs" -client_objs="add_cmdline($client_cmdline_objs) $client_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(audiod_objs, add_dot_o($audiod_objs)) -AC_SUBST(audiod_ldflags, $audiod_ldflags) -AC_DEFINE_UNQUOTED(INIT_AUDIOD_ERRLISTS, objlist_to_errlist($audiod_errlist_objs), - errors used by para_audiod) - -AC_SUBST(client_objs, add_dot_o($client_objs)) -AC_SUBST(client_ldflags, $client_ldflags) -AC_DEFINE_UNQUOTED(INIT_CLIENT_ERRLISTS, - objlist_to_errlist($client_errlist_objs), errors used by para_client) - -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) - -enum="$(for i in $audiod_audio_formats; do printf "AUDIO_FORMAT_${i}, " | tr '[a-z]' '[A-Z]'; done)" -AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMATS_ENUM, $enum NUM_AUDIO_FORMATS, - enum of audio formats supported by audiod) -names="$(for i in $audiod_audio_formats; do printf \"$i\",' ' ; done)" -AC_DEFINE_UNQUOTED(AUDIOD_AUDIO_FORMAT_ARRAY, $names, array of audio formats supported by audiod) - AC_OUTPUT AC_MSG_NOTICE([ paraslash configuration: @@ -1531,7 +1542,7 @@ id3 version2 support: $have_libid3tag filters: $(echo $filters) writers: $writers -$mixer_summary +para_fade: $build_fade para_server: $build_server para_gui: $build_gui para_fade: $build_fade