vardir := /var/paraslash
mandir := $(datarootdir)/man/man1
MKDIR_P := mkdir -p
-prefixed_executables := $(addprefix para_, $(executables))
build_date := $(shell date)
uname_s := $(shell uname -s 2>/dev/null || echo "UNKNOWN_OS")
lls_suite_dir := $(build_dir)/lls
lls_m4_dir := m4/lls
test_dir := t
-yy_src_dir = yy
-yy_build_dir = $(build_dir)/yy
+yy_src_dir := yy
+yy_build_dir := $(build_dir)/yy
+
+executables := recv filter audioc write afh play
+ifneq ($(CRYPTOLIB),)
+ ifeq ($(HAVE_OSL),yes)
+ executables += server upgrade_db
+ server_objs := $(addsuffix .o, \
+ server afh_common mp3_afh vss command net string \
+ signal time daemon http_send close_on_fork \
+ crypt_common base64 ipc dccp_send fd user_list \
+ chunk_queue afs aft mood mp score attribute blob \
+ playlist sched acl send_common udp_send color fec \
+ wma_afh wma_common sideband version lsu \
+ )
+ ifeq ($(CRYPTOLIB),openssl)
+ server_objs += openssl.o
+ else
+ server_objs += gcrypt.o
+ endif
+ ifeq ($(NEED_OGG_OBJECTS),yes)
+ server_objs += ogg_afh_common.o
+ endif
+ ifeq ($(NEED_VORBIS_OBJECTS),yes)
+ server_objs += ogg_afh.o
+ endif
+ ifeq ($(NEED_SPEEX_OBJECTS),yes)
+ server_objs += spx_afh.o spx_common.o
+ endif
+ ifeq ($(NEED_OPUS_OBJECTS),yes)
+ server_objs += opus_afh.o opus_common.o
+ endif
+ ifeq ($(NEED_FLAC_OBJECTS),yes)
+ server_objs += flac_afh.o
+ endif
+ ifeq ($(HAVE_FAAD),yes)
+ server_objs += aac_afh.o mp4.o
+ endif
+ upgrade_db_objs := $(addsuffix .o, crypt_common exec fd string \
+ upgrade_db version base64)
+ endif
+endif
+ifneq ($(CRYPTOLIB),)
+ executables += client audiod
+ client_objs := $(addsuffix .o, \
+ client net string fd lsu sched stdin stdout time sideband client_common \
+ buffer_tree crypt_common base64 version $(CRYPTOLIB) \
+ )
+ ifeq ($(HAVE_READLINE),yes)
+ client_objs += interactive.o
+ endif
+ audiod_objs := $(addsuffix .o, \
+ audiod signal string daemon stat net crypt_common base64 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 udp_recv color fec \
+ prebuffer_filter version bitstream imdct wma_common wmadec_filter \
+ buffer_tree sync_filter lsu $(CRYPTOLIB) \
+ )
+ audiod_audio_formats := "wma"
+ ifeq ($(NEED_VORBIS_OBJECTS),yes)
+ audiod_objs += oggdec_filter.o
+ audiod_audio_formats += ,"ogg"
+ endif
+ ifeq ($(NEED_SPEEX_OBJECTS),yes)
+ audiod_objs += spxdec_filter.o spx_common.o
+ audiod_audio_formats += ,"spx"
+ endif
+ ifeq ($(NEED_OPUS_OBJECTS),yes)
+ audiod_objs += opusdec_filter.o opus_common.o
+ audiod_audio_formats += ,"opus"
+ endif
+ ifeq ($(NEED_FLAC_OBJECTS),yes)
+ audiod_objs += flacdec_filter.o
+ audiod_audio_formats += ,"flac"
+ endif
+ ifeq ($(HAVE_FAAD),yes)
+ audiod_objs += aacdec_filter.o
+ audiod_audio_formats += ,"aac"
+ endif
+ ifeq ($(HAVE_MAD),yes)
+ audiod_objs += mp3dec_filter.o
+ audiod_audio_formats += ,"mp3"
+ endif
+ ifeq ($(HAVE_OSS),yes)
+ audiod_objs += oss_write.o
+ endif
+ ifeq ($(HAVE_ALSA),yes)
+ audiod_objs += alsa_write.o
+ endif
+ ifeq ($(NEED_AO_OBJECTS),yes)
+ audiod_objs += ao_write.o
+ endif
+ ifeq ($(HAVE_SAMPLERATE),yes)
+ audiod_objs += resample_filter.o check_wav.o
+ endif
+endif
+ifneq ($(HAVE_OSS)-$(HAVE_ALSA),no-no)
+ executables += mixer
+ mixer_objs := $(addsuffix .o, mixer exec string fd time lsu version)
+ ifeq ($(HAVE_OSS),yes)
+ mixer_objs += oss_mix.o
+ endif
+ ifeq ($(HAVE_ALSA),yes)
+ mixer_objs += alsa_mix.o
+ endif
+endif
+ifeq ($(HAVE_CURSES),yes)
+ executables += gui
+ gui_objs := $(addsuffix .o, exec signal string stat ringbuffer fd \
+ gui gui_theme lsu time sched version)
+endif
+filter_objs := $(addsuffix .o, \
+ filter_common wav_filter compress_filter filter string stdin stdout \
+ sched fd amp_filter fecdec_filter fec lsu version prebuffer_filter \
+ time bitstream imdct wma_common wmadec_filter buffer_tree net \
+ sync_filter \
+)
+ifeq ($(NEED_VORBIS_OBJECTS),yes)
+ filter_objs += oggdec_filter.o
+endif
+ifeq ($(NEED_SPEEX_OBJECTS),yes)
+ filter_objs += spxdec_filter.o spx_common.o
+endif
+ifeq ($(NEED_OPUS_OBJECTS),yes)
+ filter_objs += opusdec_filter.o opus_common.o
+endif
+ifeq ($(NEED_FLAC_OBJECTS),yes)
+ filter_objs += flacdec_filter.o
+endif
+ifeq ($(HAVE_FAAD),yes)
+ filter_objs += aacdec_filter.o
+endif
+ifeq ($(HAVE_MAD),yes)
+ filter_objs += mp3dec_filter.o
+endif
+ifeq ($(HAVE_SAMPLERATE),yes)
+ filter_objs += resample_filter.o check_wav.o
+endif
+
+recv_objs := $(addsuffix .o, \
+ http_recv recv_common recv time string net dccp_recv fd sched stdout \
+ udp_recv buffer_tree afh_recv afh_common wma_afh wma_common mp3_afh \
+ version \
+)
+ifeq ($(NEED_OGG_OBJECTS),yes)
+ recv_objs += ogg_afh_common.o
+endif
+ifeq ($(NEED_VORBIS_OBJECTS),yes)
+ recv_objs += ogg_afh.o
+endif
+ifeq ($(NEED_SPEEX_OBJECTS),yes)
+ recv_objs += spx_afh.o spx_common.o
+endif
+ifeq ($(NEED_OPUS_OBJECTS),yes)
+ recv_objs += opus_afh.o opus_common.o
+endif
+ifeq ($(NEED_FLAC_OBJECTS),yes)
+ recv_objs += flac_afh.o
+endif
+ifeq ($(HAVE_FAAD),yes)
+ recv_objs += aac_afh.o mp4.o
+endif
+
+audio_format_handlers := mp3 wma
+afh_objs := $(addsuffix .o, afh string fd mp3_afh afh_common time wma_afh \
+ wma_common version)
+ifeq ($(NEED_OGG_OBJECTS),yes)
+ afh_objs += ogg_afh_common.o
+endif
+ifeq ($(NEED_VORBIS_OBJECTS),yes)
+ afh_objs += ogg_afh.o
+ audio_format_handlers += ogg
+endif
+ifeq ($(NEED_SPEEX_OBJECTS),yes)
+ afh_objs += spx_common.o
+ audio_format_handlers += spx
+endif
+ifeq ($(NEED_OPUS_OBJECTS),yes)
+ afh_objs += opus_afh.o opus_common.o
+ audio_format_handlers += opus
+endif
+ifeq ($(NEED_FLAC_OBJECTS),yes)
+ afh_objs += flac_afh.o
+ audio_format_handlers += flac
+endif
+ifeq ($(HAVE_FAAD),yes)
+ afh_objs += aac_afh.o mp4.o
+ audio_format_handlers += aac
+endif
+
+play_objs := $(addsuffix .o, \
+ play fd sched buffer_tree time string net afh_recv afh_common \
+ wma_afh wma_common mp3_afh recv_common udp_recv http_recv dccp_recv \
+ filter_common fec bitstream imdct wav_filter compress_filter \
+ amp_filter prebuffer_filter fecdec_filter wmadec_filter write_common \
+ file_write version sync_filter lsu \
+)
+ifeq ($(NEED_OGG_OBJECTS),yes)
+ play_objs += ogg_afh_common.o
+endif
+ifeq ($(NEED_VORBIS_OBJECTS),yes)
+ play_objs += oggdec_filter.o ogg_afh.o
+endif
+ifeq ($(NEED_SPEEX_OBJECTS),yes)
+ play_objs += spxdec_filter.o spx_afh.o spx_common.o
+endif
+ifeq ($(NEED_OPUS_OBJECTS),yes)
+ play_objs += opusdec_filter.o opus_afh.o opus_common.o
+endif
+ifeq ($(NEED_FLAC_OBJECTS),yes)
+ play_objs += flacdec_filter.o flac_afh.o
+endif
+ifeq ($(HAVE_FAAD),yes)
+ play_objs += aac_afh.o aacdec_filter.o mp4.o
+endif
+ifeq ($(HAVE_MAD),yes)
+ play_objs += mp3dec_filter.o
+endif
+ifeq ($(HAVE_OSS),yes)
+ play_objs += oss_write.o
+endif
+ifeq ($(HAVE_ALSA),yes)
+ play_objs += alsa_write.o
+endif
+ifeq ($(NEED_AO_OBJECTS),yes)
+ play_objs += ao_write.o
+endif
+ifeq ($(HAVE_READLINE),yes)
+ play_objs += interactive.o
+endif
+ifeq ($(HAVE_SAMPLERATE),yes)
+ play_objs += resample_filter.o check_wav.o
+endif
+
+write_objs := $(addsuffix .o, write write_common file_write time fd \
+ string sched stdin buffer_tree check_wav version)
+ifeq ($(NEED_AO_OBJECTS),yes)
+ write_objs += ao_write.o
+endif
+ifeq ($(HAVE_OSS),yes)
+ write_objs += oss_write.o
+endif
+ifeq ($(HAVE_ALSA),yes)
+ write_objs += alsa_write.o
+endif
+
+audioc_objs := $(addsuffix .o, audioc string lsu net fd time version)
+ifeq ($(HAVE_READLINE),yes)
+ audioc_objs += buffer_tree.o interactive.o sched.o
+endif
# sort removes duplicate words, which is all we need here
-all_objs := $(sort $(recv_objs) $(filter_objs) $(client_objs) $(gui_objs) \
+dep_objs := $(sort $(recv_objs) $(filter_objs) $(client_objs) $(gui_objs) \
$(audiod_objs) $(audioc_objs) $(mixer_objs) $(server_objs) \
- $(write_objs) $(afh_objs) $(play_objs))
-deps := $(addprefix $(dep_dir)/, $(all_objs:.o=.d))
-deps += $(addprefix $(dep_dir)/, mp.bison.d mp.flex.d)
+ $(write_objs) $(afh_objs) $(play_objs) mp.bison mp.flex)
+deps := $(addprefix $(dep_dir)/, $(dep_objs:.o=.d))
afh_objs += afh.lsg.o
audioc_objs += audioc.lsg.o
afh_objs := $(addprefix $(object_dir)/, $(afh_objs))
play_objs := $(addprefix $(object_dir)/, $(play_objs))
+prefixed_executables := $(addprefix para_, $(executables))
man_pages := $(patsubst %, $(man_dir)/%.1, $(prefixed_executables))
autocrap := config.h.in configure
OD = $(addsuffix .d, $(addprefix $(dep_dir)/, $(1))) \
$(addsuffix .o, $(addprefix $(object_dir)/, $(1)))
+$(call OD, audiod): \
+ CPPFLAGS += -DAUDIOD_AUDIO_FORMAT_ARRAY='$(audiod_audio_formats)'
+$(call OD, afh command): \
+ CPPFLAGS += -DAUDIO_FORMAT_HANDLERS='"$(audio_format_handlers)"'
$(call OD, opus%): CPPFLAGS += $(opus_cppflags)
$(call OD, gui gui%): CPPFLAGS += $(curses_cppflags)
$(call OD, spx%): CPPFLAGS += $(speex_cppflags)
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile])
-AC_DEFUN([add_dot_o],[$(for i in $@; do printf "$i.o "; done)])
AC_DEFUN([LIB_ARG_WITH], [
AC_ARG_WITH($1-headers, [AS_HELP_STRING(--with-$1-headers=dir,
[look for $1 headers in dir])])
if test "$HAVE_[]m4_toupper([$1])" = 'yes'; then
AC_DEFINE(HAVE_[]m4_toupper([$1]), 1,
define to 1 to turn on $1 support)
+ AC_SUBST(HAVE_[]m4_toupper([$1]))
else
$1_cppflags=
$1_ldflags=
REQUIRE_EXECUTABLE([flex])
REQUIRE_EXECUTABLE([m4])
-executables="recv filter audioc write afh play"
########################################################################### osl
STASH_FLAGS
LIB_ARG_WITH([osl], [-losl])
will be removed in the next major paraslash release. Please upgrade
your openssl installation.])
fi
- HAVE_CRYPTO_CLEANUP_ALL_EX_DATA=yes
- AC_CHECK_DECL([CRYPTO_cleanup_all_ex_data], [],
- [HAVE_CRYPTO_CLEANUP_ALL_EX_DATA=no],
- [#include <openssl/rsa.h>])
- AC_CHECK_LIB([crypto], [CRYPTO_cleanup_all_ex_data], [],
- [HAVE_CRYPTO_CLEANUP_ALL_EX_DATA=no])
- test $HAVE_CRYPTO_CLEANUP_ALL_EX_DATA = yes &&
- AC_DEFINE([HAVE_CRYPTO_CLEANUP_ALL_EX_DATA], [1],
- [not available on FreeBSD 12])
HAVE_OPENSSL_THREAD_STOP=yes
AC_CHECK_DECL([OPENSSL_thread_stop], [],
[HAVE_OPENSSL_THREAD_STOP=no],
;;
esac
AC_SUBST(crypto_ldflags)
+AC_SUBST(CRYPTOLIB)
########################################################################## iconv
STASH_FLAGS
LIBS=
LIB_SUBST_FLAGS(flac)
UNSTASH_FLAGS
-# some helper functions for codecs which use the ogg container format
-AC_DEFUN([NEED_OGG_OBJECTS], [{
- test "$HAVE_OGG" = 'yes' -a \( \
+# some helpers for the ogg container format
+AS_IF([test "$HAVE_OGG" = 'yes' -a \( \
"$HAVE_VORBIS" = 'yes' \
-o "$HAVE_SPEEX" = 'yes' \
-o "$HAVE_OPUS" = 'yes' \
-o "$HAVE_FLAC" = 'yes' \
- \)
-}])
-AC_DEFUN([NEED_VORBIS_OBJECTS], [{
- test "$HAVE_OGG" = 'yes' -a "$HAVE_VORBIS" = 'yes'
-}])
-AC_DEFUN([NEED_SPEEX_OBJECTS], [{
- test "$HAVE_OGG" = 'yes' -a "$HAVE_SPEEX" = 'yes'
-}])
-AC_DEFUN([NEED_OPUS_OBJECTS], [{
- test "$HAVE_OGG" = 'yes' -a "$HAVE_OPUS" = 'yes'
-}])
-AC_DEFUN([NEED_FLAC_OBJECTS], [{
- test "$HAVE_OGG" = 'yes' -a "$HAVE_FLAC" = 'yes'
-}])
+\)], [NEED_OGG_OBJECTS=yes], [NEED_OGG_OBJECTS=no])
+AC_SUBST([NEED_OGG_OBJECTS])
+AS_IF([test "$HAVE_OGG" = 'yes' -a "$HAVE_VORBIS" = 'yes'],
+ [NEED_VORBIS_OBJECTS=yes], [NEED_VORBIS_OBJECTS=no])
+AC_SUBST([NEED_VORBIS_OBJECTS])
+AS_IF([test "$HAVE_OGG" = 'yes' -a "$HAVE_SPEEX" = 'yes'],
+ [NEED_SPEEX_OBJECTS=yes], [NEED_SPEEX_OBJECTS=no])
+AC_SUBST([NEED_SPEEX_OBJECTS])
+AS_IF([test "$HAVE_OGG" = 'yes' -a "$HAVE_OPUS" = 'yes'],
+ [NEED_OPUS_OBJECTS=yes], [NEED_OPUS_OBJECTS=no])
+AC_SUBST([NEED_OPUS_OBJECTS])
+AS_IF([test "$HAVE_OGG" = 'yes' -a "$HAVE_FLAC" = 'yes'],
+ [NEED_FLAC_OBJECTS=yes], [NEED_FLAC_OBJECTS=no])
+AC_SUBST([NEED_FLAC_OBJECTS])
########################################################################### faad
STASH_FLAGS
LIB_ARG_WITH([faad], [-lfaad])
AC_CHECK_LIB([ao], [ao_initialize], [], HAVE_AO=no)
LIB_SUBST_FLAGS(ao)
UNSTASH_FLAGS
-AC_DEFUN([NEED_AO_OBJECTS], [{ test $HAVE_AO = yes -a $HAVE_PTHREAD = yes; }])
+AS_IF([test $HAVE_AO = yes -a $HAVE_PTHREAD = yes],
+ [NEED_AO_OBJECTS]=yes, [NEED_AO_OBJECTS=no])
+AC_SUBST([NEED_AO_OBJECTS])
######################################################################## readline
STASH_FLAGS
AC_SEARCH_LIBS([tgetent], [tinfo curses terminfo termcap])
[Detect and report undefined behaviour.])],
[ENABLE_UBSAN=yes], [ENABLE_UBSAN=no])
AC_SUBST(ENABLE_UBSAN)
-######################################################################### server
-if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes && test -n "$BISON" && \
- test -n "$FLEX"; then
- build_server="yes"
- executables="$executables server upgrade_db"
- server_errlist_objs="
- server
- afh_common
- mp3_afh
- vss
- command
- net
- string
- signal
- time
- daemon
- http_send
- close_on_fork
- crypt_common
- base64
- ipc
- dccp_send
- fd
- user_list
- chunk_queue
- afs
- aft
- mood
- mp
- score
- attribute
- blob
- playlist
- sched
- acl
- send_common
- udp_send
- color
- fec
- wma_afh
- wma_common
- sideband
- version
- lsu
- "
- if test "$CRYPTOLIB" = openssl; then
- server_errlist_objs="$server_errlist_objs openssl"
- else
- server_errlist_objs="$server_errlist_objs gcrypt"
- fi
- NEED_OGG_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh_common"
- NEED_VORBIS_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh"
- NEED_SPEEX_OBJECTS() && server_errlist_objs="$server_errlist_objs spx_afh spx_common"
- NEED_OPUS_OBJECTS() && server_errlist_objs="$server_errlist_objs opus_afh opus_common"
- NEED_FLAC_OBJECTS && server_errlist_objs="$server_errlist_objs flac_afh"
- if test $HAVE_FAAD = yes; then
- server_errlist_objs="$server_errlist_objs aac_afh mp4"
- fi
- server_objs="$server_errlist_objs"
- AC_SUBST(server_objs, add_dot_o($server_objs))
-else
- build_server="no"
-fi
-############################################################# upgrade_db
-upgrade_db_objs='
- crypt_common
- exec
- fd
- string
- upgrade_db
- version
- base64
-'
-AC_SUBST(upgrade_db_objs, add_dot_o($upgrade_db_objs))
-############################################################# client
-if test -n "$CRYPTOLIB"; then
- build_client="yes"
- executables="$executables client"
- client_errlist_objs="
- client
- net
- string
- fd
- lsu
- sched
- stdin
- stdout
- time
- sideband
- client_common
- buffer_tree
- crypt_common
- base64
- version
- "
- if test "$CRYPTOLIB" = openssl; then
- client_errlist_objs="$client_errlist_objs openssl"
- else
- client_errlist_objs="$client_errlist_objs gcrypt"
- fi
- if test $HAVE_READLINE = yes; then
- client_errlist_objs="$client_errlist_objs interactive"
- fi
- client_objs="$client_errlist_objs"
- AC_SUBST(client_objs, add_dot_o($client_errlist_objs))
-else
- build_client="no"
-fi
-############################################################# audiod
-if test -n "$CRYPTOLIB"; then
- build_audiod="yes"
- executables="$executables audiod"
- audiod_audio_formats="wma"
- audiod_errlist_objs="$audiod_errlist_objs
- audiod
- signal
- string
- daemon
- stat
- net
- crypt_common
- base64
- 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
- udp_recv
- color
- fec
- prebuffer_filter
- version
- bitstream
- imdct
- wma_common
- wmadec_filter
- buffer_tree
- sync_filter
- lsu
- "
- if test "$CRYPTOLIB" = openssl; then
- audiod_errlist_objs="$audiod_errlist_objs openssl"
- else
- audiod_errlist_objs="$audiod_errlist_objs gcrypt"
- fi
- NEED_VORBIS_OBJECTS && {
- audiod_errlist_objs="$audiod_errlist_objs oggdec_filter"
- audiod_audio_formats="$audiod_audio_formats ogg"
- }
- NEED_SPEEX_OBJECTS && {
- audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common"
- audiod_audio_formats="$audiod_audio_formats spx"
- }
- NEED_OPUS_OBJECTS && {
- audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common"
- audiod_audio_formats="$audiod_audio_formats opus"
- }
- NEED_FLAC_OBJECTS && {
- audiod_errlist_objs="$audiod_errlist_objs flacdec_filter"
- audiod_audio_formats="$audiod_audio_formats flac"
- }
- if test $HAVE_FAAD = yes; then
- audiod_errlist_objs="$audiod_errlist_objs aacdec_filter"
- audiod_audio_formats="$audiod_audio_formats aac"
- fi
- if test $HAVE_MAD = yes; then
- audiod_audio_formats="$audiod_audio_formats mp3"
- audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter"
- fi
- if test $HAVE_OSS = yes; then
- audiod_errlist_objs="$audiod_errlist_objs oss_write"
- fi
- if test $HAVE_ALSA = yes; then
- audiod_errlist_objs="$audiod_errlist_objs alsa_write"
- fi
- NEED_AO_OBJECTS && {
- audiod_errlist_objs="$audiod_errlist_objs ao_write"
- }
- if test $HAVE_SAMPLERATE = yes; then
- audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav"
- fi
- audiod_objs="$audiod_errlist_objs"
- AC_SUBST(audiod_objs, add_dot_o($audiod_objs))
-
- 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
-########################################################################### mixer
-if test $HAVE_OSS = yes -o $HAVE_ALSA = yes; then
- build_mixer="yes"
- executables="$executables mixer"
- mixer_errlist_objs="mixer exec string fd time lsu version"
- if test $HAVE_OSS = yes; then
- mixer_errlist_objs="$mixer_errlist_objs oss_mix"
- fi
- if test $HAVE_ALSA = yes; then
- mixer_errlist_objs="$mixer_errlist_objs alsa_mix"
- fi
- mixer_objs="$mixer_errlist_objs"
- AC_SUBST(mixer_objs, add_dot_o($mixer_objs))
-else
- build_mixer="no"
- AC_MSG_WARN([no mixer support])
-fi
-########################################################################### gui
-if test $HAVE_CURSES = yes; then
- build_gui="yes"
- executables="$executables gui"
- gui_errlist_objs="
- exec
- signal
- string
- stat
- ringbuffer
- fd
- gui
- gui_theme
- lsu
- time
- sched
- version
- "
- gui_objs="$gui_errlist_objs"
- AC_SUBST(gui_objs, add_dot_o($gui_objs))
-else
- build_gui="no"
- AC_MSG_WARN([no curses lib, cannot build para_gui])
-fi
-######################################################################## filter
-filter_errlist_objs="
- filter_common
- wav_filter
- compress_filter
- filter
- string
- stdin
- stdout
- sched
- fd
- amp_filter
- fecdec_filter
- fec
- lsu
- version
- prebuffer_filter
- time
- bitstream
- imdct
- wma_common
- wmadec_filter
- buffer_tree
- net
- sync_filter
-"
-NEED_VORBIS_OBJECTS && filter_errlist_objs="$filter_errlist_objs oggdec_filter"
-NEED_SPEEX_OBJECTS && filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common"
-NEED_OPUS_OBJECTS && filter_errlist_objs="$filter_errlist_objs opusdec_filter opus_common"
-NEED_FLAC_OBJECTS && filter_errlist_objs="$filter_errlist_objs flacdec_filter"
-if test $HAVE_FAAD = yes; then
- filter_errlist_objs="$filter_errlist_objs aacdec_filter"
-fi
-if test $HAVE_MAD = yes; then
- filter_errlist_objs="$filter_errlist_objs mp3dec_filter"
-fi
-if test $HAVE_SAMPLERATE = yes; then
- filter_errlist_objs="$filter_errlist_objs resample_filter check_wav"
-fi
-filter_objs="$filter_errlist_objs"
-
-AC_SUBST(filter_objs, add_dot_o($filter_objs))
-########################################################################## recv
-recv_errlist_objs="
- http_recv
- recv_common
- recv
- time
- string
- net
- dccp_recv
- fd
- sched
- stdout
- udp_recv
- buffer_tree
- afh_recv
- afh_common
- wma_afh
- wma_common
- mp3_afh
- version
-"
-NEED_OGG_OBJECTS && recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
-NEED_VORBIS_OBJECTS && recv_errlist_objs="$recv_errlist_objs ogg_afh"
-NEED_SPEEX_OBJECTS && recv_errlist_objs="$recv_errlist_objs spx_afh spx_common"
-NEED_OPUS_OBJECTS && recv_errlist_objs="$recv_errlist_objs opus_afh opus_common"
-NEED_FLAC_OBJECTS && recv_errlist_objs="$recv_errlist_objs flac_afh"
-
-if test $HAVE_FAAD = yes; then
- recv_errlist_objs="$recv_errlist_objs aac_afh mp4"
-fi
-recv_objs="$recv_errlist_objs"
-AC_SUBST(recv_objs, add_dot_o($recv_objs))
-########################################################################### afh
-audio_format_handlers="mp3 wma"
-afh_errlist_objs="
- afh
- string
- fd
- mp3_afh
- afh_common
- time
- wma_afh
- wma_common
- version
-"
-NEED_OGG_OBJECTS && afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
-NEED_VORBIS_OBJECTS && {
- afh_errlist_objs="$afh_errlist_objs ogg_afh"
- audio_format_handlers="$audio_format_handlers ogg"
-}
-NEED_SPEEX_OBJECTS && {
- afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
- audio_format_handlers="$audio_format_handlers spx"
-}
-NEED_OPUS_OBJECTS && {
- afh_errlist_objs="$afh_errlist_objs opus_afh opus_common"
- audio_format_handlers="$audio_format_handlers opus"
-}
-NEED_FLAC_OBJECTS && {
- afh_errlist_objs="$afh_errlist_objs flac_afh"
- audio_format_handlers="$audio_format_handlers flac"
-}
-if test $HAVE_FAAD = yes; then
- afh_errlist_objs="$afh_errlist_objs aac_afh mp4"
- audio_format_handlers="$audio_format_handlers aac"
-fi
-
-afh_objs="$afh_errlist_objs"
-
-AC_SUBST(afh_objs, add_dot_o($afh_objs))
-########################################################################## play
-play_errlist_objs="
- play
- fd
- sched
- buffer_tree
- time
- string
- net
- afh_recv
- afh_common
- wma_afh
- wma_common
- mp3_afh
- recv_common
- udp_recv
- http_recv
- dccp_recv
- filter_common
- fec
- bitstream
- imdct
- wav_filter
- compress_filter
- amp_filter
- prebuffer_filter
- fecdec_filter
- wmadec_filter
- write_common
- file_write
- version
- sync_filter
- lsu
-"
-NEED_OGG_OBJECTS && play_errlist_objs="$play_errlist_objs ogg_afh_common"
-NEED_VORBIS_OBJECTS && {
- play_errlist_objs="$play_errlist_objs oggdec_filter ogg_afh"
-}
-NEED_SPEEX_OBJECTS && {
- play_errlist_objs="$play_errlist_objs spxdec_filter spx_afh spx_common"
-}
-NEED_OPUS_OBJECTS &&
- play_errlist_objs="$play_errlist_objs
- opusdec_filter
- opus_afh
- opus_common
- "
-NEED_FLAC_OBJECTS && {
- play_errlist_objs="$play_errlist_objs flacdec_filter flac_afh"
-}
-if test $HAVE_FAAD = yes; then
- play_errlist_objs="$play_errlist_objs aac_afh aacdec_filter mp4"
-fi
-if test $HAVE_MAD = yes; then
- play_errlist_objs="$play_errlist_objs mp3dec_filter"
-fi
-if test $HAVE_OSS = yes; then
- play_errlist_objs="$play_errlist_objs oss_write"
-fi
-if test $HAVE_ALSA = yes; then
- play_errlist_objs="$play_errlist_objs alsa_write"
-fi
-NEED_AO_OBJECTS && {
- play_errlist_objs="$play_errlist_objs ao_write"
-}
-if test $HAVE_READLINE = yes; then
- play_errlist_objs="$play_errlist_objs interactive"
-fi
-if test $HAVE_SAMPLERATE = yes; then
- play_errlist_objs="$play_errlist_objs resample_filter check_wav"
-fi
-
-play_objs="$play_errlist_objs"
-AC_SUBST(play_objs, add_dot_o($play_objs))
-######################################################################### write
-write_errlist_objs="
- write
- write_common
- file_write
- time
- fd
- string
- sched
- stdin
- buffer_tree
- check_wav
- version
-"
-
-NEED_AO_OBJECTS && {
- write_errlist_objs="$write_errlist_objs ao_write"
-}
-if test $HAVE_OSS = yes; then
- write_errlist_objs="$write_errlist_objs oss_write"
-fi
-if test $HAVE_ALSA = yes; then
- write_errlist_objs="$write_errlist_objs alsa_write"
-fi
-write_objs="$write_errlist_objs"
-AC_SUBST(write_objs, add_dot_o($write_objs))
-######################################################################## audioc
-audioc_errlist_objs="
- audioc
- string
- lsu
- net
- fd
- time
- version
-"
-if test $HAVE_READLINE = yes; then
- audioc_errlist_objs="$audioc_errlist_objs
- buffer_tree
- interactive
- sched
- "
-fi
-audioc_objs="$audioc_errlist_objs"
-AC_SUBST(audioc_objs, add_dot_o($audioc_objs))
-
-AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers",
- [formats supported by para_server and para_afh])
-AC_SUBST(executables)
AC_OUTPUT
-AC_MSG_NOTICE([
-paraslash configuration:
-~~~~~~~~~~~~~~~~~~~~~~~~
-crypto lib: ${CRYPTOLIB:-[none]}
-unix socket credentials: $have_ucred
-readline (interactive CLIs): $HAVE_READLINE
-id3 version 2 support: $HAVE_ID3TAG
-faad: $HAVE_FAAD
-audio format handlers: $audio_format_handlers
-
-exe: $executables
-para_server: $build_server
-para_gui: $build_gui
-para_mixer: $build_mixer
-para_client: $build_client
-para_audiod: $build_audiod
-])