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])])
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])
+ AC_CHECK_LIB([crypto], [OSSL_PARAM_construct_BN], [HAVE_OSSL_PARAM=yes],
+ [HAVE_OSSL_PARAM=no])
+ test $HAVE_OSSL_PARAM = yes &&
+ AC_DEFINE([HAVE_OSSL_PARAM], [1], [openssl >= 3.0])
HAVE_OPENSSL_THREAD_STOP=yes
AC_CHECK_DECL([OPENSSL_thread_stop], [],
[HAVE_OPENSSL_THREAD_STOP=no],
[Detect and report undefined behaviour.])],
[ENABLE_UBSAN=yes], [ENABLE_UBSAN=no])
AC_SUBST(ENABLE_UBSAN)
-######################################################### server and upgrade_db
-if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes; then
- build_server="yes"
- executables="$executables server upgrade_db"
-else
- build_server="no"
-fi
-############################################################# client
-if test -n "$CRYPTOLIB"; then
- build_client="yes"
- executables="$executables client"
-else
- build_client="no"
-fi
-############################################################# audiod
-if test -n "$CRYPTOLIB"; then
- build_audiod="yes"
- executables="$executables audiod"
-else
- build_audiod="no"
-fi
-########################################################################### mixer
-if test $HAVE_OSS = yes -o $HAVE_ALSA = yes; then
- build_mixer="yes"
- executables="$executables mixer"
-fi
-########################################################################### gui
-if test $HAVE_CURSES = yes; then
- build_gui="yes"
- executables="$executables gui"
- gui_objs="
- exec
- signal
- string
- stat
- ringbuffer
- fd
- gui
- gui_theme
- lsu
- time
- sched
- version
- "
- 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_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
-"
-AS_IF([test $NEED_VORBIS_OBJECTS = yes],
- [filter_objs="$filter_objs oggdec_filter"])
-AS_IF([test $NEED_SPEEX_OBJECTS = yes],
- [filter_objs="$filter_objs spxdec_filter spx_common"])
-AS_IF([test $NEED_OPUS_OBJECTS = yes],
- [filter_objs="$filter_objs opusdec_filter opus_common"])
-AS_IF([test $NEED_FLAC_OBJECTS = yes],
- [filter_objs="$filter_objs flacdec_filter"])
-if test $HAVE_FAAD = yes; then
- filter_objs="$filter_objs aacdec_filter"
-fi
-if test $HAVE_MAD = yes; then
- filter_objs="$filter_objs mp3dec_filter"
-fi
-if test $HAVE_SAMPLERATE = yes; then
- filter_objs="$filter_objs resample_filter check_wav"
-fi
-AC_SUBST(filter_objs, add_dot_o($filter_objs))
-########################################################################## recv
-recv_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
-"
-AS_IF([test $NEED_OGG_OBJECTS = yes], [recv_objs="$recv_objs ogg_afh_common"])
-AS_IF([test $NEED_VORBIS_OBJECTS = yes], [recv_objs="$recv_objs ogg_afh"])
-AS_IF([test $NEED_SPEEX_OBJECTS = yes],
- [recv_objs="$recv_objs spx_afh spx_common"])
-AS_IF([test $NEED_OPUS_OBJECTS = yes],
- [recv_objs="$recv_objs opus_afh opus_common"])
-AS_IF([test $NEED_FLAC_OBJECTS = yes], [recv_objs="$recv_objs flac_afh"])
-
-if test $HAVE_FAAD = yes; then
- recv_objs="$recv_objs aac_afh mp4"
-fi
-AC_SUBST(recv_objs, add_dot_o($recv_objs))
-########################################################################### afh
-audio_format_handlers="mp3 wma"
-afh_objs="
- afh
- string
- fd
- mp3_afh
- afh_common
- time
- wma_afh
- wma_common
- version
-"
-AS_IF([test $NEED_OGG_OBJECTS = yes], [afh_objs="$afh_objs ogg_afh_common"])
-AS_IF([test $NEED_VORBIS_OBJECTS = yes], [
- afh_objs="$afh_objs ogg_afh"
- audio_format_handlers="$audio_format_handlers ogg"
-])
-AS_IF([test $NEED_SPEEX_OBJECTS = yes], [
- afh_objs="$afh_objs spx_afh spx_common"
- audio_format_handlers="$audio_format_handlers spx"
-])
-AS_IF([test $NEED_OPUS_OBJECTS = yes], [
- afh_objs="$afh_objs opus_afh opus_common"
- audio_format_handlers="$audio_format_handlers opus"
-])
-AS_IF([test $NEED_FLAC_OBJECTS = yes], [
- afh_objs="$afh_objs flac_afh"
- audio_format_handlers="$audio_format_handlers flac"
-])
-if test $HAVE_FAAD = yes; then
- afh_objs="$afh_objs aac_afh mp4"
- audio_format_handlers="$audio_format_handlers aac"
-fi
-AC_SUBST(afh_objs, add_dot_o($afh_objs))
-########################################################################## play
-play_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
-"
-AS_IF([test $NEED_OGG_OBJECTS = yes], [play_objs="$play_objs ogg_afh_common"])
-AS_IF([test $NEED_VORBIS_OBJECTS = yes],
- [play_objs="$play_objs oggdec_filter ogg_afh"])
-AS_IF([test $NEED_SPEEX_OBJECTS = yes],
- [play_objs="$play_objs spxdec_filter spx_afh spx_common"])
-AS_IF([test $NEED_OPUS_OBJECTS = yes],
- [play_objs="$play_objs opusdec_filter opus_afh opus_common"])
-AS_IF([test $NEED_FLAC_OBJECTS = yes],
- [play_objs="$play_objs flacdec_filter flac_afh"])
-if test $HAVE_FAAD = yes; then
- play_objs="$play_objs aac_afh aacdec_filter mp4"
-fi
-if test $HAVE_MAD = yes; then
- play_objs="$play_objs mp3dec_filter"
-fi
-if test $HAVE_OSS = yes; then
- play_objs="$play_objs oss_write"
-fi
-if test $HAVE_ALSA = yes; then
- play_objs="$play_objs alsa_write"
-fi
-if test $NEED_AO_OBJECTS = yes; then
- play_objs="$play_objs ao_write"
-fi
-if test $HAVE_READLINE = yes; then
- play_objs="$play_objs interactive"
-fi
-if test $HAVE_SAMPLERATE = yes; then
- play_objs="$play_objs resample_filter check_wav"
-fi
-AC_SUBST(play_objs, add_dot_o($play_objs))
-######################################################################### write
-write_objs="
- write
- write_common
- file_write
- time
- fd
- string
- sched
- stdin
- buffer_tree
- check_wav
- version
-"
-
-if test $NEED_AO_OBJECTS = yes; then
- write_objs="$write_objs ao_write"
-fi
-if test $HAVE_OSS = yes; then
- write_objs="$write_objs oss_write"
-fi
-if test $HAVE_ALSA = yes; then
- write_objs="$write_objs alsa_write"
-fi
-AC_SUBST(write_objs, add_dot_o($write_objs))
-######################################################################## audioc
-audioc_objs="
- audioc
- string
- lsu
- net
- fd
- time
- version
-"
-if test $HAVE_READLINE = yes; then
- audioc_objs="$audioc_objs
- buffer_tree
- interactive
- sched
- "
-fi
-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]}
-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
-])