X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=configure.ac;h=e18a22e4d9f361ed3c18dd9adb0ad3755c05f23a;hb=782e47ecd725dd44d4425351e21540a6914b13aa;hp=00ff019f510b43a701932c617ccb271e96b7f8a1;hpb=17ed11f03c1f9bbc5fc5c4b6f81a23afd7dadb67;p=paraslash.git diff --git a/configure.ac b/configure.ac index 00ff019f..e18a22e4 100644 --- a/configure.ac +++ b/configure.ac @@ -8,6 +8,7 @@ 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_PATH_PROG(UNAMEPATH, uname, no) if test "$UNAMEPATH" = "no"; then @@ -33,11 +34,12 @@ AC_PATH_PROG([help2man], [help2man]) test -z "$help2man" && AC_MSG_ERROR( [help2man is required to build this package]) +AC_PATH_PROG([install], [install]) +test -z "$install" && AC_MSG_ERROR( + [The install program is required to build this package]) + AC_PROG_CC AC_PROG_CPP -AC_PROG_INSTALL -AC_SUBST(install_sh, [$INSTALL]) -AC_REPLACE_FNMATCH AC_HEADER_DIRENT AC_HEADER_STDC @@ -71,11 +73,9 @@ AC_TYPE_UINT64_T # Checks for library functions. AC_FUNC_FORK AC_PROG_GCC_TRADITIONAL -AC_FUNC_MALLOC AC_FUNC_MEMCMP AC_FUNC_MKTIME AC_FUNC_MMAP -AC_FUNC_REALLOC AC_FUNC_SELECT_ARGTYPES AC_FUNC_STAT AC_FUNC_STRFTIME @@ -89,13 +89,16 @@ AC_CHECK_FUNCS([atexit dup2 memchr memmove memset \ strncasecmp strrchr strspn alarm mkdir inet_ntoa socket], [], [AC_MSG_ERROR([function not found, cannot live without it])]) -AC_DEFUN([add_cmdline],[$(for i in $@; do printf "${i}.cmdline "; done)]) - - -executables="recv filter audioc write client afh audiod play" +executables="recv filter audioc write afh play" audio_format_handlers="mp3 wma" -recv_cmdline_objs="add_cmdline(recv http_recv dccp_recv udp_recv afh_recv)" +recv_cmdline_objs=" + recv + http_recv + dccp_recv + udp_recv + afh_recv +" recv_errlist_objs=" http_recv recv_common recv time string net dccp_recv fd @@ -105,14 +108,19 @@ recv_errlist_objs=" recv_ldflags="" -filter_cmdline_objs="add_cmdline(filter compress_filter amp_filter prebuffer_filter)" +filter_cmdline_objs=" + filter + compress_filter + amp_filter + prebuffer_filter +" filter_errlist_objs="filter_common wav_filter compress_filter filter string stdin stdout sched fd amp_filter ggo fecdec_filter fec version prebuffer_filter time bitstream imdct wma_common wmadec_filter buffer_tree" filter_ldflags="-lm" filters=" compress wav amp fecdec wmadec prebuffer" -audioc_cmdline_objs="add_cmdline(audioc)" +audioc_cmdline_objs="audioc" audioc_errlist_objs=" audioc string @@ -123,61 +131,18 @@ audioc_errlist_objs=" " audioc_ldflags="" -audiod_cmdline_objs="add_cmdline(audiod compress_filter http_recv dccp_recv file_write client amp_filter udp_recv prebuffer_filter)" -audiod_errlist_objs="audiod signal string daemon stat net crypt_common sideband - time grab_client filter_common wav_filter compress_filter amp_filter http_recv dccp_recv - recv_common fd sched write_common file_write audiod_command fecdec_filter - client_common ggo udp_recv color fec prebuffer_filter version - bitstream imdct wma_common wmadec_filter buffer_tree" -audiod_ldflags="-lm" -audiod_audio_formats="wma" - -afh_cmdline_objs="add_cmdline(afh)" +afh_cmdline_objs="afh" afh_errlist_objs="afh string fd mp3_afh afh_common time wma_afh wma_common version ggo" afh_ldflags="" -write_cmdline_objs="add_cmdline(write file_write)" +write_cmdline_objs="write file_write" write_errlist_objs="write write_common file_write time fd string sched stdin buffer_tree ggo check_wav version" write_ldflags="" writers=" file" default_writer="FILE_WRITE" -client_cmdline_objs="add_cmdline(client)" -client_errlist_objs=" - client - net - string - fd - sched - stdin - stdout - time - sideband - client_common - buffer_tree - crypt_common - version - ggo -" -client_ldflags="" - -gui_cmdline_objs="add_cmdline(gui)" -gui_errlist_objs=" - exec - signal - string - stat - ringbuffer - fd - gui - gui_theme - time - version - ggo -" -gui_objs="$gui_cmdline_objs $gui_errlist_objs" play_errlist_objs="play fd sched ggo buffer_tree time string net afh_recv afh_common wma_afh wma_common mp3_afh @@ -188,7 +153,17 @@ play_errlist_objs="play fd sched ggo buffer_tree time string net write_common file_write version " -play_cmdline_objs="add_cmdline(http_recv dccp_recv udp_recv afh_recv compress_filter amp_filter prebuffer_filter file_write play)" +play_cmdline_objs=" + http_recv + dccp_recv + udp_recv + afh_recv + compress_filter + amp_filter + prebuffer_filter + file_write + play +" play_ldflags="-lm" ################################################################## clock_gettime clock_gettime_lib= @@ -344,10 +319,6 @@ if test "$check_gcrypt" = "yes"; then else have_gcrypt="no" fi -########################################################################### -if test "$have_openssl" = "no" -a "$have_gcrypt" = "no"; then - AC_MSG_ERROR([neither openssl nor gcrypt usable]) -fi ########################################################################### libsocket AC_CHECK_LIB([c], [socket], [socket_lib=], @@ -415,27 +386,20 @@ fi AC_CHECK_HEADER(curses.h, [], [ have_curses="no" ]) -gui_ldflags="$curses_libs" +curses_ldflags="$curses_libs" AC_CHECK_LIB([ncursesw], [initscr], - [gui_ldflags="$curses_libs -lncursesw"], [ + [curses_ldflags="$curses_libs -lncursesw"], [ AC_CHECK_LIB([curses], [initscr], - [gui_ldflags="$curses_libs -lcurses"], + [curses_ldflags="$curses_libs -lcurses"], [have_curses="no"] ) ] ) -if test "$have_curses" = "yes"; then - AC_SUBST(curses_cppflags) - build_gui="yes" - executables="$executables gui" -else - build_gui="no" - AC_MSG_WARN([no curses lib, cannot build para_gui]) -fi +AC_SUBST(curses_cppflags) +AC_SUBST(curses_ldflags) CPPFLAGS="$OLD_CPPFLAGS" LDFLAGS="$OLD_LDFLAGS" LIBS="$OLD_LIBS" - ########################################################################### ip_mreqn AC_MSG_CHECKING(for struct ip_mreqn (UDPv4 multicast)) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ @@ -722,9 +686,9 @@ AC_CHECK_LIB([mad], [mad_stream_init], [], [ ]) if test "$have_mad" = "yes"; then AC_DEFINE(HAVE_MAD, 1, define to 1 if you want to build the mp3dec filter) - filter_cmdline_objs="$filter_cmdline_objs add_cmdline(mp3dec_filter)" - audiod_cmdline_objs="$audiod_cmdline_objs add_cmdline(mp3dec_filter)" - play_cmdline_objs="$play_cmdline_objs add_cmdline(mp3dec_filter)" + filter_cmdline_objs="$filter_cmdline_objs mp3dec_filter" + audiod_cmdline_objs="$audiod_cmdline_objs mp3dec_filter" + play_cmdline_objs="$play_cmdline_objs mp3dec_filter" filter_errlist_objs="$filter_errlist_objs mp3dec_filter" audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter" play_errlist_objs="$play_errlist_objs mp3dec_filter" @@ -836,11 +800,11 @@ msg="=> will not build oss writer" AC_CHECK_HEADER(sys/soundcard.h, [ audiod_errlist_objs="$audiod_errlist_objs oss_write" play_errlist_objs="$play_errlist_objs oss_write" - audiod_cmdline_objs="$audiod_cmdline_objs add_cmdline(oss_write)" - play_cmdline_objs="$play_cmdline_objs add_cmdline(oss_write)" + audiod_cmdline_objs="$audiod_cmdline_objs oss_write" + play_cmdline_objs="$play_cmdline_objs oss_write" write_errlist_objs="$write_errlist_objs oss_write" - write_cmdline_objs="$write_cmdline_objs add_cmdline(oss_write)" + write_cmdline_objs="$write_cmdline_objs oss_write" fade_errlist_objs="$fade_errlist_objs oss_mix" writers="$writers oss" @@ -892,14 +856,14 @@ fi if test "$have_alsa" = "yes"; then audiod_errlist_objs="$audiod_errlist_objs alsa_write" - audiod_cmdline_objs="$audiod_cmdline_objs add_cmdline(alsa_write)" + audiod_cmdline_objs="$audiod_cmdline_objs alsa_write" audiod_ldflags="$audiod_ldflags -lasound" play_errlist_objs="$play_errlist_objs alsa_write" - play_cmdline_objs="$play_cmdline_objs add_cmdline(alsa_write)" + play_cmdline_objs="$play_cmdline_objs alsa_write" play_ldflags="$play_ldflags -lasound" write_errlist_objs="$write_errlist_objs alsa_write" - write_cmdline_objs="$write_cmdline_objs add_cmdline(alsa_write)" + write_cmdline_objs="$write_cmdline_objs alsa_write" write_ldflags="$write_ldflags -lasound" fade_errlist_objs="$fade_errlist_objs alsa_mix" fade_ldflags="$fade_ldflags -lasound" @@ -913,44 +877,6 @@ fi CPPFLAGS="$OLD_CPPFLAGS" LDFLAGS="$OLD_LDFLAGS" LIBS="$OLD_LIBS" -########################################################################### fade -if test -n "$mixers"; then - build_fade="yes" - executables="$executables fade" - fade_errlist_objs="$fade_errlist_objs fade exec string fd version ggo" - fade_cmdline_objs="add_cmdline(fade)" - fade_objs="$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) - enum="$( - for i in $mixers; do - printf "${i}_MIX, " | tr '[a-z]' '[A-Z]' - done - )" - AC_DEFINE_UNQUOTED(MIXER_ENUM, $enum NUM_SUPPORTED_MIXERS, - enum of supported mixers) - AC_DEFINE_UNQUOTED(DEFAULT_MIXER, $default_mixer, - use this mixer if none was specified) - names="$(for i in $mixers; do printf \"$i\",' ' ; done)" - AC_DEFINE_UNQUOTED(MIXER_NAMES, $names, supported mixer names) - inits="$( - for i in $mixers; do - printf 'extern void '$i'_mix_init(struct mixer *); ' - done - )" - AC_DEFINE_UNQUOTED(DECLARE_MIXER_INITS, $inits, - 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 ########################################################################### libao OLD_CPPFLAGS="$CPPFLAGS" OLD_LDFLAGS="$LDFLAGS" @@ -996,15 +922,15 @@ if test "$have_ao" = "yes"; then fi if test "$have_ao" = "yes"; then audiod_errlist_objs="$audiod_errlist_objs ao_write" - audiod_cmdline_objs="$audiod_cmdline_objs add_cmdline(ao_write)" + audiod_cmdline_objs="$audiod_cmdline_objs ao_write" audiod_ldflags="$audiod_ldflags -lao -lpthread" play_errlist_objs="$play_errlist_objs ao_write" - play_cmdline_objs="$play_cmdline_objs add_cmdline(ao_write)" + play_cmdline_objs="$play_cmdline_objs ao_write" play_ldflags="$play_ldflags -lao -lpthread" write_errlist_objs="$write_errlist_objs ao_write" - write_cmdline_objs="$write_cmdline_objs add_cmdline(ao_write)" + write_cmdline_objs="$write_cmdline_objs ao_write" write_ldflags="$write_ldflags $ao_libs -lao -lpthread" writers="$writers ao" AC_SUBST(ao_cppflags) @@ -1107,11 +1033,11 @@ AC_CHECK_LIB([samplerate], [src_process], [], have_samplerate=no, []) if test "$have_samplerate" = "yes"; then filter_errlist_objs="$filter_errlist_objs resample_filter check_wav" - filter_cmdline_objs="$filter_cmdline_objs add_cmdline(resample_filter)" + filter_cmdline_objs="$filter_cmdline_objs resample_filter" audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav" - audiod_cmdline_objs="$audiod_cmdline_objs add_cmdline(resample_filter)" + audiod_cmdline_objs="$audiod_cmdline_objs resample_filter" play_errlist_objs="$play_errlist_objs resample_filter check_wav" - play_cmdline_objs="$play_cmdline_objs add_cmdline(resample_filter)" + play_cmdline_objs="$play_cmdline_objs resample_filter" filter_ldflags="$filter_ldflags $samplerate_libs -lsamplerate" audiod_ldflags="$audiod_ldflags $samplerate_libs -lsamplerate" play_ldflags="$play_ldflags $samplerate_libs -lsamplerate" @@ -1129,7 +1055,7 @@ if test \( "$have_openssl" = "yes" -o "$have_gcrypt" = "yes" \) \ build_server="yes" executables="$executables server" - server_cmdline_objs="add_cmdline(server)" + server_cmdline_objs="server" server_errlist_objs="$server_errlist_objs server afh_common @@ -1173,6 +1099,148 @@ if test \( "$have_openssl" = "yes" -o "$have_gcrypt" = "yes" \) \ else build_server="no" fi +############################################################# client +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 + net + string + fd + sched + stdin + stdout + time + sideband + client_common + buffer_tree + crypt_common + version + ggo + " +else + build_client="no" +fi +############################################################# audiod +if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then + build_audiod="yes" + executables="$executables audiod" + audiod_cmdline_objs="$audiod_cmdline_objs + audiod + compress_filter + http_recv + dccp_recv + file_write + client + amp_filter + udp_recv + prebuffer_filter + " + audiod_errlist_objs="$audiod_errlist_objs + audiod + signal + string + daemon + stat + net + crypt_common + sideband + time + grab_client + filter_common + wav_filter + compress_filter + amp_filter + http_recv + dccp_recv + recv_common + fd + sched + write_common + file_write + audiod_command + fecdec_filter + client_common + ggo + udp_recv + color + fec + prebuffer_filter + version + bitstream + imdct + wma_common + wmadec_filter + buffer_tree + " + audiod_ldflags="$audiod_ldflags -lm" + audiod_audio_formats="$audiod_audio_formats wma" +else + build_audiod="no" +fi +########################################################################### fade +if test -n "$mixers"; then + build_fade="yes" + executables="$executables fade" + fade_errlist_objs="$fade_errlist_objs fade exec string fd version ggo" + fade_cmdline_objs="fade" + 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) + enum="$( + for i in $mixers; do + printf "${i}_MIX, " | tr '[a-z]' '[A-Z]' + done + )" + AC_DEFINE_UNQUOTED(MIXER_ENUM, $enum NUM_SUPPORTED_MIXERS, + enum of supported mixers) + AC_DEFINE_UNQUOTED(DEFAULT_MIXER, $default_mixer, + use this mixer if none was specified) + names="$(for i in $mixers; do printf \"$i\",' ' ; done)" + AC_DEFINE_UNQUOTED(MIXER_NAMES, $names, supported mixer names) + inits="$( + for i in $mixers; do + printf 'extern void '$i'_mix_init(struct mixer *); ' + done + )" + AC_DEFINE_UNQUOTED(DECLARE_MIXER_INITS, $inits, + 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 + build_gui="yes" + executables="$executables gui" + gui_cmdline_objs="gui" + gui_errlist_objs=" + exec + signal + string + stat + ringbuffer + fd + gui + gui_theme + time + version + ggo + " + gui_objs="add_cmdline($gui_cmdline_objs) $gui_errlist_objs" +else + build_gui="no" + AC_MSG_WARN([no curses lib, cannot build para_gui]) +fi ############################################################# error2.h AC_MSG_NOTICE(creating error2.h) @@ -1182,9 +1250,7 @@ all_errlist_objs=" $filter_errlist_objs $audioc_errlist_objs $write_errlist_objs - $client_errlist_objs $afh_errlist_objs - $audiod_errlist_objs $play_errlist_objs " @@ -1198,6 +1264,12 @@ fi if test "$build_fade" = "yes"; then all_errlist_objs="$all_errlist_objs $fade_errlist_objs" fi +if test "$build_client" = "yes"; then + all_errlist_objs="$all_errlist_objs $client_errlist_objs" +fi +if test "$build_audiod" = "yes"; then + all_errlist_objs="$all_errlist_objs $audiod_errlist_objs" +fi all_errlist_objs="$(echo $all_errlist_objs | tr ' ' '\n' | sort | uniq)" @@ -1242,16 +1314,16 @@ AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers", AC_SUBST(executables) -recv_objs="$recv_cmdline_objs $recv_errlist_objs" -filter_objs="$filter_cmdline_objs $filter_errlist_objs" -audiod_objs="$audiod_cmdline_objs $audiod_errlist_objs" -server_objs="$server_cmdline_objs $server_errlist_objs" -write_objs="$write_cmdline_objs $write_errlist_objs" -client_objs="$client_cmdline_objs $client_errlist_objs" -audioc_objs="$audioc_cmdline_objs $audioc_errlist_objs" -afh_objs="$afh_cmdline_objs $afh_errlist_objs" -play_objs="$play_cmdline_objs $play_errlist_objs" - +recv_objs="add_cmdline($recv_cmdline_objs) $recv_errlist_objs" +filter_objs="add_cmdline($filter_cmdline_objs) $filter_errlist_objs" +audiod_objs="add_cmdline($audiod_cmdline_objs) $audiod_errlist_objs" +server_objs="add_cmdline($server_cmdline_objs) $server_errlist_objs" +write_objs="add_cmdline($write_cmdline_objs) $write_errlist_objs" +client_objs="add_cmdline($client_cmdline_objs) $client_errlist_objs" +audioc_objs="add_cmdline($audioc_cmdline_objs) $audioc_errlist_objs" +afh_objs="add_cmdline($afh_cmdline_objs) $afh_errlist_objs" +play_objs="add_cmdline($play_cmdline_objs) $play_errlist_objs" +gui_objs="add_cmdline($gui_cmdline_objs) $gui_errlist_objs" AC_SUBST(recv_objs, add_dot_o($recv_objs)) AC_SUBST(recv_ldflags, $recv_ldflags) @@ -1294,7 +1366,6 @@ AC_DEFINE_UNQUOTED(INIT_AUDIOC_ERRLISTS, objlist_to_errlist($audioc_errlist_objs), errors used by para_audioc) AC_SUBST(gui_objs, add_dot_o($gui_objs)) -AC_SUBST(gui_ldflags, $gui_ldflags) AC_DEFINE_UNQUOTED(INIT_GUI_ERRLISTS, objlist_to_errlist($gui_errlist_objs), errors used by para_gui) @@ -1343,4 +1414,6 @@ $mixer_summary para_server: $build_server para_gui: $build_gui para_fade: $build_fade +para_client: $build_client +para_audiod: $build_audiod ])