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([LIB_ARG_WITH], [
AC_ARG_WITH($1-headers, [AS_HELP_STRING(--with-$1-headers=dir,
[look for $1 headers in dir])])
AC_USE_SYSTEM_EXTENSIONS
AC_C_BIGENDIAN()
-AC_PATH_PROG([GENGETOPT], [gengetopt])
-test -z "$GENGETOPT" && AC_MSG_ERROR(
- [gengetopt is required to build this package])
-
AC_PATH_PROG([M4], [m4])
test -z "$M4" && AC_MSG_ERROR(
[The m4 macro processor is required to build this package])
-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_PATH_PROG([lopsubgen], [lopsubgen])
test -z "$lopsubgen" && AC_MSG_ERROR(
[lopsubgen is required to build this package])
AC_PROG_CPP
executables="recv filter audioc write afh play"
-################################################################## clock_gettime
-clock_gettime_lib=
-AC_CHECK_LIB([c], [clock_gettime], [clock_gettime_lib=c], [
- AC_CHECK_LIB([rt], [clock_gettime], [clock_gettime_lib=rt], [], [])
-])
-if test -n "$clock_gettime_lib"; then
- AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [
- define to 1 if clock_gettime() is supported])
-fi
-if test "$clock_gettime_lib" = "rt"; then
- AC_SUBST(clock_gettime_ldflags, -lrt)
-fi
-
########################################################################### osl
STASH_FLAGS
LIB_ARG_WITH([osl], [-losl])
LIB_ARG_WITH([lopsub], [-llopsub])
HAVE_LOPSUB=yes
AC_CHECK_HEADER(lopsub.h, [], [HAVE_LOPSUB=no])
-AC_CHECK_LIB([lopsub], [lls_merge], [], [HAVE_LOPSUB=yes])
+AC_CHECK_LIB([lopsub], [lls_merge], [], [HAVE_LOPSUB=no])
if test $HAVE_LOPSUB = no; then AC_MSG_ERROR([
The lopsub library is required to build this software, but
the above checks indicate it is not installed on your system.
if test ${have_ucred} = yes; then
AC_DEFINE(HAVE_UCRED, 1, define to 1 you have struct ucred)
fi
-########################################################################### gengetopt
-echo 'option "z" z "" flag off' | $GENGETOPT --file-name conftest-ggo &&
-AC_CHECK_DECL(
- [gengetopt_args_info_description],
- [ggo_descriptions_declared=yes],
- [ggo_descriptions_declared=no],
- [#include "conftest-ggo.h"]
-)
-AC_SUBST(ggo_descriptions_declared)
########################################################################### curses
STASH_FLAGS
LIB_ARG_WITH([curses], [])
]])],[have_ip_mreqn=yes],[have_ip_mreqn=no])
AC_MSG_RESULT($have_ip_mreqn)
if test ${have_ip_mreqn} = yes; then
- AC_DEFINE(HAVE_IP_MREQN, 1, define to 1 you have struct ip_mreqn)
-fi
-########################################################################### osx
-
-AC_MSG_CHECKING(for CoreAudio (MacOs))
-AC_LINK_IFELSE([AC_LANG_PROGRAM([[
- #include <CoreAudio/CoreAudio.h>
-]], [[
- AudioDeviceID id;
-]])],[have_core_audio=yes],[have_core_audio=no])
-AC_MSG_RESULT($have_core_audio)
-if test ${have_core_audio} = yes; then
- f1="-framework CoreAudio"
- f2="-framework AudioToolbox"
- f3="-framework AudioUnit"
- f4="-framework CoreServices"
- core_audio_ldflags="$f1 $f2 $f3 $f4"
- AC_SUBST(core_audio_ldflags)
- AC_DEFINE(HAVE_CORE_AUDIO, 1, define to 1 on Mac Os X)
+ AC_DEFINE(HAVE_IP_MREQN, 1, define to 1 if you have struct ip_mreqn)
fi
########################################################################### ogg
STASH_FLAGS
}])
########################################################################### faad
STASH_FLAGS
-LIB_ARG_WITH([faad], [-lfaad])
+LIB_ARG_WITH([faad], [-lfaad -lmp4ff])
HAVE_FAAD=yes
AC_CHECK_HEADER(neaacdec.h, [], HAVE_FAAD=no)
+AC_CHECK_HEADER(mp4ff.h, [], HAVE_FAAD=no)
AC_CHECK_LIB([faad], [NeAACDecOpen], [], HAVE_FAAD=no)
+AC_CHECK_LIB([mp4ff], [mp4ff_meta_get_artist], [], HAVE_FAAD=no)
LIB_SUBST_FLAGS(faad)
UNSTASH_FLAGS
########################################################################### mad
AC_CHECK_LIB([samplerate], [src_process], [], HAVE_SAMPLERATE=no)
LIB_SUBST_FLAGS(samplerate)
UNSTASH_FLAGS
-########################################################################## mp4v2
-STASH_FLAGS
-LIB_ARG_WITH([mp4v2], [-lmp4v2])
-HAVE_MP4V2=yes
-AC_CHECK_HEADER([mp4v2/mp4v2.h], [], [HAVE_MP4V2=no])
-AC_CHECK_LIB([mp4v2], [MP4Read], [], [HAVE_MP4V2=no])
-LIB_SUBST_FLAGS(mp4v2)
-UNSTASH_FLAGS
######################################################################### server
if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes; then
build_server="yes"
executables="$executables server"
- server_cmdline_objs="server"
server_errlist_objs="
server
afh_common
wma_common
sideband
version
- ggo
"
if test "$CRYPTOLIB" = openssl; then
server_errlist_objs="$server_errlist_objs crypt"
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 && test $HAVE_MP4V2 = yes; then
- server_errlist_objs="$server_errlist_objs aac_afh aac_common"
+ if test $HAVE_FAAD = yes; then
+ server_errlist_objs="$server_errlist_objs aac_afh"
fi
- server_objs="add_cmdline($server_cmdline_objs) $server_errlist_objs"
+ server_objs="$server_errlist_objs"
AC_SUBST(server_objs, add_dot_o($server_objs))
else
build_server="no"
build_audiod="yes"
executables="$executables audiod"
audiod_audio_formats="wma"
- audiod_cmdline_objs="$audiod_cmdline_objs
- audiod
- "
audiod_errlist_objs="$audiod_errlist_objs
audiod
signal
audiod_command
fecdec_filter
client_common
- ggo
udp_recv
color
fec
else
audiod_errlist_objs="$audiod_errlist_objs gcrypt"
fi
- if test "$have_core_audio" = "yes"; then
- audiod_errlist_objs="$audiod_errlist_objs osx_write ipc"
- fi
NEED_VORBIS_OBJECTS && {
audiod_errlist_objs="$audiod_errlist_objs oggdec_filter"
audiod_audio_formats="$audiod_audio_formats ogg"
audiod_audio_formats="$audiod_audio_formats flac"
}
if test $HAVE_FAAD = yes; then
- audiod_errlist_objs="$audiod_errlist_objs aacdec_filter aac_common"
+ audiod_errlist_objs="$audiod_errlist_objs aacdec_filter"
audiod_audio_formats="$audiod_audio_formats aac"
fi
if test $HAVE_MAD = yes; then
if test $HAVE_SAMPLERATE = yes; then
audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav"
fi
- audiod_objs="add_cmdline($audiod_cmdline_objs) $audiod_errlist_objs"
+ 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)"
else
build_audiod="no"
fi
-########################################################################### fade
+########################################################################### mixer
if test $HAVE_OSS = yes -o $HAVE_ALSA = yes; then
- build_fade="yes"
- executables="$executables fade"
- fade_errlist_objs="fade exec string fd version"
+ build_mixer="yes"
+ executables="$executables mixer"
+ mixer_errlist_objs="mixer exec string fd version"
if test $HAVE_OSS = yes; then
- fade_errlist_objs="$fade_errlist_objs oss_mix"
- mixers="${mixers}oss "
- default_mixer="OSS_MIX"
+ mixer_errlist_objs="$mixer_errlist_objs oss_mix"
fi
if test $HAVE_ALSA = yes; then
- fade_errlist_objs="$fade_errlist_objs alsa_mix"
- mixers="${mixers}alsa "
- default_mixer="ALSA_MIX"
+ mixer_errlist_objs="$mixer_errlist_objs alsa_mix"
fi
- fade_objs="$fade_errlist_objs"
- AC_SUBST(fade_objs, add_dot_o($fade_objs))
- 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_objs="$mixer_errlist_objs"
+ AC_SUBST(mixer_objs, add_dot_o($mixer_objs))
else
- build_fade="no"
+ build_mixer="no"
AC_MSG_WARN([no mixer support])
fi
########################################################################### gui
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 aac_common"
+ filter_errlist_objs="$filter_errlist_objs aacdec_filter"
fi
if test $HAVE_MAD = yes; then
filter_errlist_objs="$filter_errlist_objs mp3dec_filter"
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 -a $HAVE_MP4V2 = yes; then
- recv_errlist_objs="$recv_errlist_objs aac_afh aac_common"
+if test $HAVE_FAAD = yes; then
+ recv_errlist_objs="$recv_errlist_objs aac_afh"
fi
recv_objs="$recv_errlist_objs"
AC_SUBST(recv_objs, add_dot_o($recv_objs))
########################################################################### afh
audio_format_handlers="mp3 wma"
-afh_cmdline_objs="afh"
afh_errlist_objs="
afh
string
wma_afh
wma_common
version
- ggo
"
NEED_OGG_OBJECTS && afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
NEED_VORBIS_OBJECTS && {
afh_errlist_objs="$afh_errlist_objs flac_afh"
audio_format_handlers="$audio_format_handlers flac"
}
-if test $HAVE_FAAD = yes -a $HAVE_MP4V2 = yes; then
- afh_errlist_objs="$afh_errlist_objs aac_afh aac_common"
+if test $HAVE_FAAD = yes; then
+ afh_errlist_objs="$afh_errlist_objs aac_afh"
audio_format_handlers="$audio_format_handlers aac"
fi
-afh_objs="add_cmdline($afh_cmdline_objs) $afh_errlist_objs"
+afh_objs="$afh_errlist_objs"
AC_SUBST(afh_objs, add_dot_o($afh_objs))
########################################################################## play
version
sync_filter
"
-if test "$have_core_audio" = "yes"; then
- play_errlist_objs="$play_errlist_objs osx_write ipc"
-fi
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"
play_errlist_objs="$play_errlist_objs flacdec_filter flac_afh"
}
if test $HAVE_FAAD = yes; then
- play_errlist_objs="$play_errlist_objs aacdec_filter"
-fi
-if test $HAVE_MP4V2 = yes; then
- play_errlist_objs="$play_errlist_objs aac_afh"
-fi
-if test $HAVE_MP4V2 = yes || test $HAVE_FAAD = yes; then
- play_errlist_objs="$play_errlist_objs aac_common"
+ play_errlist_objs="$play_errlist_objs aac_afh aacdec_filter"
fi
if test $HAVE_MAD = yes; then
play_errlist_objs="$play_errlist_objs mp3dec_filter"
version
"
-if test "$have_core_audio" = "yes"; then
- write_errlist_objs="$write_errlist_objs osx_write ipc"
-fi
NEED_AO_OBJECTS && {
write_errlist_objs="$write_errlist_objs ao_write"
}
offset seconds_total stream_start current_time audiod_uptime image_id
lyrics_id duration directory lyrics_name image_name path hash channels
last_played num_chunks chunk_time amplification artist title year album
-comment"
+comment max_chunk_size"
result=
for i in $status_items; do
readline (interactive CLIs): $HAVE_READLINE
id3 version 2 support: $HAVE_ID3TAG
faad: $HAVE_FAAD
-mp4v2: $HAVE_MP4V2
audio format handlers: $audio_format_handlers
para_server: $build_server
para_gui: $build_gui
-para_fade: $build_fade
+para_mixer: $build_mixer
para_client: $build_client
para_audiod: $build_audiod
])