X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=configure.ac;h=d993e526c8a30bdab55da1dd5a9df6f1ead5b320;hp=7510528b78316b98f6b7c950512cd6acd4e94a17;hb=HEAD;hpb=694aab410a10ce242a6ea8784515f51eac0d5fe0 diff --git a/configure.ac b/configure.ac index 7510528b..92560e00 100644 --- a/configure.ac +++ b/configure.ac @@ -96,8 +96,38 @@ AC_CHECK_HEADER(openssl/ssl.h, [], [HAVE_OPENSSL=no]) AC_CHECK_LIB([crypto], [RAND_bytes], [], [HAVE_OPENSSL=no]) LIB_SUBST_FLAGS(openssl) if test $HAVE_OPENSSL = yes; then - AC_CHECK_LIB([crypto], [RSA_set0_key], - AC_DEFINE([HAVE_RSA_SET0_KEY], [1], [openssl-1.1])) + HAVE_RSA_SET0_KEY=yes + AC_CHECK_DECL([RSA_set0_key], [], [], [#include ]) + AC_CHECK_LIB([crypto], [RSA_set0_key], [], []) + if test "$ac_cv_have_decl_RSA_set0_key" != "$ac_cv_lib_crypto_RSA_set0_key"; then + AC_MSG_ERROR([openssl header/library mismatch]) + fi + if test "$ac_cv_have_decl_RSA_set0_key" = yes; then + AC_DEFINE([HAVE_RSA_SET0_KEY], [1], [openssl >= 1.1]) + else + AC_MSG_WARN([ + Old openssl library detected. Support for openssl-1.0 and earlier + 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 ]) + 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], + [#include ]) + AC_CHECK_LIB([crypto], [OPENSSL_thread_stop], [], + [HAVE_OPENSSL_THREAD_STOP=no]) + test $HAVE_OPENSSL_THREAD_STOP = yes && + AC_DEFINE([HAVE_OPENSSL_THREAD_STOP], [1], + [not available on openssl-1.0]) fi UNSTASH_FLAGS ######################################################################### gcrypt @@ -266,12 +296,10 @@ AC_DEFUN([NEED_FLAC_OBJECTS], [{ }]) ########################################################################### faad STASH_FLAGS -LIB_ARG_WITH([faad], [-lfaad -lmp4ff]) +LIB_ARG_WITH([faad], [-lfaad]) 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 @@ -348,11 +376,16 @@ AC_CHECK_HEADER(samplerate.h, [], HAVE_SAMPLERATE=no) AC_CHECK_LIB([samplerate], [src_process], [], HAVE_SAMPLERATE=no) LIB_SUBST_FLAGS(samplerate) UNSTASH_FLAGS +######################################################################### ubsan +AC_ARG_ENABLE([ubsan], [AS_HELP_STRING(--enable-ubsan, + [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" + executables="$executables server upgrade_db" server_errlist_objs=" server afh_common @@ -366,7 +399,6 @@ if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes && test -n "$BISON" && \ daemon http_send close_on_fork - mm crypt_common base64 ipc @@ -395,7 +427,7 @@ if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes && test -n "$BISON" && \ lsu " if test "$CRYPTOLIB" = openssl; then - server_errlist_objs="$server_errlist_objs crypt" + server_errlist_objs="$server_errlist_objs openssl" else server_errlist_objs="$server_errlist_objs gcrypt" fi @@ -405,13 +437,24 @@ if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes && test -n "$BISON" && \ 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" + 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" @@ -421,6 +464,7 @@ if test -n "$CRYPTOLIB"; then net string fd + lsu sched stdin stdout @@ -433,7 +477,7 @@ if test -n "$CRYPTOLIB"; then version " if test "$CRYPTOLIB" = openssl; then - client_errlist_objs="$client_errlist_objs crypt" + client_errlist_objs="$client_errlist_objs openssl" else client_errlist_objs="$client_errlist_objs gcrypt" fi @@ -490,7 +534,7 @@ if test -n "$CRYPTOLIB"; then lsu " if test "$CRYPTOLIB" = openssl; then - audiod_errlist_objs="$audiod_errlist_objs crypt" + audiod_errlist_objs="$audiod_errlist_objs openssl" else audiod_errlist_objs="$audiod_errlist_objs gcrypt" fi @@ -545,7 +589,7 @@ fi if test $HAVE_OSS = yes -o $HAVE_ALSA = yes; then build_mixer="yes" executables="$executables mixer" - mixer_errlist_objs="mixer exec string fd version" + 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 @@ -571,6 +615,7 @@ if test $HAVE_CURSES = yes; then fd gui gui_theme + lsu time sched version @@ -595,6 +640,7 @@ filter_errlist_objs=" amp_filter fecdec_filter fec + lsu version prebuffer_filter time @@ -650,7 +696,7 @@ 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" + recv_errlist_objs="$recv_errlist_objs aac_afh mp4" fi recv_objs="$recv_errlist_objs" AC_SUBST(recv_objs, add_dot_o($recv_objs)) @@ -685,7 +731,7 @@ NEED_FLAC_OBJECTS && { audio_format_handlers="$audio_format_handlers flac" } if test $HAVE_FAAD = yes; then - afh_errlist_objs="$afh_errlist_objs aac_afh" + afh_errlist_objs="$afh_errlist_objs aac_afh mp4" audio_format_handlers="$audio_format_handlers aac" fi @@ -743,7 +789,7 @@ 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" + 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" @@ -796,8 +842,10 @@ AC_SUBST(write_objs, add_dot_o($write_objs)) audioc_errlist_objs=" audioc string + lsu net fd + time version " if test $HAVE_READLINE = yes; then @@ -805,7 +853,6 @@ if test $HAVE_READLINE = yes; then buffer_tree interactive sched - time " fi audioc_objs="$audioc_errlist_objs" @@ -826,6 +873,7 @@ 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