X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=configure.ac;h=8ea488c2eb2ab9e316cefe3cb9af3c5db651cac8;hb=ba8727c5857363c70f190ea98f92c41cd041e375;hp=b817979f39ec79c141cd67eaaef6f49f559b5d21;hpb=ccbe76ece6a8d05439b2dbb51c1c777735c4171e;p=paraslash.git diff --git a/configure.ac b/configure.ac index b817979f..8ea488c2 100644 --- a/configure.ac +++ b/configure.ac @@ -38,6 +38,7 @@ AC_DEFUN([LIB_SUBST_FLAGS], [ 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= @@ -102,9 +103,14 @@ if test $HAVE_OPENSSL = yes; then 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 - test "$ac_cv_have_decl_RSA_set0_key" = yes && + 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], @@ -167,6 +173,7 @@ case "$enable_cryptolib" in ;; esac AC_SUBST(crypto_ldflags) +AC_SUBST(CRYPTOLIB) ########################################################################## iconv STASH_FLAGS LIBS= @@ -268,35 +275,32 @@ AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], HAVE_FLAC=no) 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 -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 @@ -346,7 +350,9 @@ AC_CHECK_HEADER(ao/ao.h, [], HAVE_AO=no) 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]) @@ -378,111 +384,17 @@ 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 +######################################################### server and upgrade_db +if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes; 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" - 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 @@ -490,95 +402,6 @@ fi 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 @@ -586,120 +409,15 @@ fi if test $HAVE_OSS = yes -o $HAVE_ALSA = yes; then build_mixer="yes" executables="$executables mixer" - mixer_errlist_objs="mixer exec string fd 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" -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_objs=" afh string fd @@ -710,33 +428,30 @@ afh_errlist_objs=" 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" +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" -} -NEED_SPEEX_OBJECTS && { - afh_errlist_objs="$afh_errlist_objs spx_afh spx_common" +]) +AS_IF([test $NEED_SPEEX_OBJECTS = yes], [ + afh_objs="$afh_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" +]) +AS_IF([test $NEED_OPUS_OBJECTS = yes], [ + afh_objs="$afh_objs opus_afh opus_common" audio_format_handlers="$audio_format_handlers opus" -} -NEED_FLAC_OBJECTS && { - afh_errlist_objs="$afh_errlist_objs flac_afh" +]) +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_errlist_objs="$afh_errlist_objs aac_afh" + afh_objs="$afh_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_objs=" play fd sched @@ -769,48 +484,39 @@ play_errlist_objs=" 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" -} +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_errlist_objs="$play_errlist_objs aac_afh aacdec_filter" + play_objs="$play_objs aac_afh aacdec_filter mp4" fi if test $HAVE_MAD = yes; then - play_errlist_objs="$play_errlist_objs mp3dec_filter" + play_objs="$play_objs mp3dec_filter" fi if test $HAVE_OSS = yes; then - play_errlist_objs="$play_errlist_objs oss_write" + play_objs="$play_objs oss_write" fi if test $HAVE_ALSA = yes; then - play_errlist_objs="$play_errlist_objs alsa_write" + play_objs="$play_objs alsa_write" +fi +if test $NEED_AO_OBJECTS = yes; then + play_objs="$play_objs ao_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" + play_objs="$play_objs interactive" fi if test $HAVE_SAMPLERATE = yes; then - play_errlist_objs="$play_errlist_objs resample_filter check_wav" + play_objs="$play_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_objs=" write write_common file_write @@ -824,35 +530,33 @@ write_errlist_objs=" version " -NEED_AO_OBJECTS && { - write_errlist_objs="$write_errlist_objs ao_write" -} +if test $NEED_AO_OBJECTS = yes; then + write_objs="$write_objs ao_write" +fi if test $HAVE_OSS = yes; then - write_errlist_objs="$write_errlist_objs oss_write" + write_objs="$write_objs oss_write" fi if test $HAVE_ALSA = yes; then - write_errlist_objs="$write_errlist_objs alsa_write" + write_objs="$write_objs alsa_write" fi -write_objs="$write_errlist_objs" AC_SUBST(write_objs, add_dot_o($write_objs)) ######################################################################## audioc -audioc_errlist_objs=" +audioc_objs=" audioc string lsu net fd + time version " if test $HAVE_READLINE = yes; then - audioc_errlist_objs="$audioc_errlist_objs + audioc_objs="$audioc_objs buffer_tree interactive sched - time " fi -audioc_objs="$audioc_errlist_objs" AC_SUBST(audioc_objs, add_dot_o($audioc_objs)) AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers", @@ -864,7 +568,6 @@ 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