+############################################################# libsamplerate
+OLD_CPPFLAGS="$CPPFLAGS"
+OLD_LDFLAGS="$LDFLAGS"
+OLD_LIBS="$LIBS"
+
+have_samplerate="yes"
+AC_ARG_WITH(samplerate_headers, [AS_HELP_STRING(--with-samplerate-headers=dir,
+ [look for samplerate headers also in dir])])
+if test -n "$with_samplerate_headers"; then
+ samplerate_cppflags="-I$with_samplerate_headers"
+ CPPFLAGS="$CPPFLAGS $samplerate_cppflags"
+fi
+AC_ARG_WITH(samplerate_libs, [AS_HELP_STRING(--with-samplerate-libs=dir,
+ [look for samplerate libs also in dir])])
+if test -n "$with_samplerate_libs"; then
+ samplerate_libs="-L$with_samplerate_libs"
+ LDFLAGS="$LDFLAGS $samplerate_libs"
+fi
+
+AC_CHECK_HEADER(samplerate.h, [], have_samplerate=no)
+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 resample_filter"
+ audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav"
+ audiod_cmdline_objs="$audiod_cmdline_objs resample_filter"
+ play_errlist_objs="$play_errlist_objs resample_filter check_wav"
+ 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"
+ filters="$filters resample"
+ AC_SUBST(samplerate_cppflags)
+else
+ AC_MSG_WARN([no resample support in para_audiod/para_filter])
+fi
+CPPFLAGS="$OLD_CPPFLAGS"
+LDFLAGS="$OLD_LDFLAGS"
+LIBS="$OLD_LIBS"
+######################################################################### server
+if test \( "$have_openssl" = "yes" -o "$have_gcrypt" = "yes" \) \
+ -a "$have_osl" = "yes" ; then
+
+ build_server="yes"
+ executables="$executables server"
+ server_cmdline_objs="server"
+ server_errlist_objs="$server_errlist_objs
+ server
+ afh_common
+ mp3_afh
+ vss
+ command
+ net
+ string
+ signal
+ time
+ daemon
+ http_send
+ close_on_fork
+ mm
+ crypt_common
+ ipc
+ dccp_send
+ fd
+ user_list
+ chunk_queue
+ afs
+ aft
+ mood
+ score
+ attribute
+ blob
+ playlist
+ sched
+ acl
+ send_common
+ udp_send
+ color
+ fec
+ wma_afh
+ wma_common
+ sideband
+ version
+ ggo
+ "
+ server_ldflags="$server_ldflags $osl_libs -losl"
+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