mirror of
https://github.com/meetecho/janus-gateway.git
synced 2025-04-20 03:57:55 +08:00
1126 lines
42 KiB
Plaintext
1126 lines
42 KiB
Plaintext
AC_INIT([Janus WebRTC Server],[1.3.2],[https://github.com/meetecho/janus-gateway],[janus-gateway],[https://janus.conf.meetecho.com])
|
|
AC_LANG(C)
|
|
AC_CONFIG_AUX_DIR([.])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
|
|
AC_ENABLE_SHARED(yes)
|
|
AC_ENABLE_STATIC(no)
|
|
|
|
AM_INIT_AUTOMAKE([foreign subdir-objects])
|
|
AM_SILENT_RULES([yes])
|
|
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
|
|
AC_PROG_CC
|
|
|
|
LT_PREREQ([2.2])
|
|
LT_INIT
|
|
|
|
# Common CFLAGS
|
|
CFLAGS="$CFLAGS \
|
|
-fPIC \
|
|
-fstack-protector-all \
|
|
-fstrict-aliasing \
|
|
-pthread \
|
|
-Wall \
|
|
-Warray-bounds \
|
|
-Wextra \
|
|
-Wformat-nonliteral \
|
|
-Wformat-security \
|
|
-Wformat=2 \
|
|
-Winit-self \
|
|
-Wlarger-than=2097152 \
|
|
-Wmissing-declarations \
|
|
-Wmissing-format-attribute \
|
|
-Wmissing-include-dirs \
|
|
-Wmissing-noreturn \
|
|
-Wmissing-prototypes \
|
|
-Wnested-externs \
|
|
-Wold-style-definition \
|
|
-Wpacked \
|
|
-Wpointer-arith \
|
|
-Wsign-compare \
|
|
-Wstrict-prototypes \
|
|
-Wswitch-default \
|
|
-Wunused \
|
|
-Wno-unused-parameter \
|
|
-Wno-unused-result \
|
|
-Wwrite-strings \
|
|
-Werror=implicit-function-declaration"
|
|
|
|
case "$CC" in
|
|
*clang*)
|
|
# Specific clang flags
|
|
CFLAGS="$CFLAGS \
|
|
-Wno-initializer-overrides \
|
|
-Wno-missing-noreturn"
|
|
;;
|
|
cc*)
|
|
CFLAGS="$CFLAGS \
|
|
-Wno-cast-align \
|
|
-Wno-initializer-overrides"
|
|
;;
|
|
*)
|
|
# Specific gcc flags
|
|
CFLAGS="$CFLAGS \
|
|
-Wno-override-init \
|
|
-Wunsafe-loop-optimizations \
|
|
-Wunused-but-set-variable"
|
|
esac
|
|
|
|
JANUS_VERSION=1302
|
|
AC_SUBST(JANUS_VERSION)
|
|
JANUS_VERSION_STRING="1.3.2"
|
|
AC_SUBST(JANUS_VERSION_STRING)
|
|
JANUS_VERSION_SO="2:7:0"
|
|
AC_SUBST(JANUS_VERSION_SO)
|
|
|
|
case "$host_os" in
|
|
darwin*)
|
|
CFLAGS="$CFLAGS -I/usr/local/opt/openssl/include -I/usr/local/include"
|
|
# add rdynamic to LDFLAGS
|
|
LDFLAGS="$LDFLAGS -Wl,-export_dynamic"
|
|
LDFLAGS="$LDFLAGS -L/usr/local/lib -L/usr/local/opt/openssl/lib -L/opt/local/lib -L/usr/local/libsrtp/lib"
|
|
AM_CONDITIONAL([DARWIN_OS], true)
|
|
;;
|
|
freebsd*)
|
|
CFLAGS="$CFLAGS -I/usr/include/openssl"
|
|
LDFLAGS="$LDFLAGS -Xlinker --export-dynamic"
|
|
LDFLAGS="$LDFLAGS -L/usr/lib/openssl -lcrypto -lssl -L/usr/local/lib"
|
|
AM_CONDITIONAL([DARWIN_OS], false)
|
|
;;
|
|
*)
|
|
LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
|
|
AM_CONDITIONAL([DARWIN_OS], false)
|
|
AC_DEFINE(HAS_DTLS_WINDOW_SIZE, 1)
|
|
esac
|
|
|
|
glib_version=2.34
|
|
ssl_version=1.0.1
|
|
jansson_version=2.5
|
|
|
|
##
|
|
# Janus
|
|
##
|
|
|
|
AC_ARG_ENABLE([docs],
|
|
[AS_HELP_STRING([--enable-docs],
|
|
[Enable building documentation])],
|
|
[],
|
|
[enable_docs=no])
|
|
|
|
AC_ARG_ENABLE([data-channels],
|
|
[AS_HELP_STRING([--disable-data-channels],
|
|
[Disable DataChannels])],
|
|
[],
|
|
[enable_data_channels=maybe])
|
|
|
|
AC_ARG_ENABLE([boringssl],
|
|
[AS_HELP_STRING([--enable-boringssl],
|
|
[Use BoringSSL instead of OpenSSL])],
|
|
[
|
|
case "${enableval}" in
|
|
yes) boringssl_dir=/opt/boringssl ;;
|
|
no) boringssl_dir= ;;
|
|
*) boringssl_dir=${enableval} ;;
|
|
esac
|
|
],
|
|
[boringssl_dir=])
|
|
|
|
AC_ARG_ENABLE([libsrtp2],
|
|
[AS_HELP_STRING([--enable-libsrtp2],
|
|
[Use libsrtp 2.0.x instead of libsrtp 1.5.x])],
|
|
[],
|
|
[enable_libsrtp2=maybe])
|
|
|
|
AC_ARG_ENABLE([aes-gcm],
|
|
[AS_HELP_STRING([--disable-aes-gcm],
|
|
[Disable AES-GCM support in libsrtp(2)])],
|
|
[],
|
|
[AC_DEFINE(HAVE_SRTP_AESGCM)])
|
|
|
|
AC_ARG_ENABLE([dtls-settimeout],
|
|
[AS_HELP_STRING([--enable-dtls-settimeout],
|
|
[Use DTLSv1_set_initial_timeout_duration (only available in recent BoringSSL versions)])],
|
|
[],
|
|
[enable_dtls_settimeout=no])
|
|
|
|
AC_ARG_ENABLE([pthread-mutex],
|
|
[AS_HELP_STRING([--enable-pthread-mutex],
|
|
[Use pthread_mutex instead of GMutex (see #1397)])],
|
|
[],
|
|
[enable_pthread_mutex=no])
|
|
|
|
AC_ARG_ENABLE([turn-rest-api],
|
|
[AS_HELP_STRING([--disable-turn-rest-api],
|
|
[Disable TURN REST API client (via libcurl)])],
|
|
[],
|
|
[enable_turn_rest_api=maybe])
|
|
|
|
AC_ARG_ENABLE([all-plugins],
|
|
[AS_HELP_STRING([--disable-all-plugins],
|
|
[Disable building all plugins (except those manually enabled)])],
|
|
[
|
|
AS_IF([test "x$enable_plugin_audiobridge" != "xyes"],
|
|
[enable_plugin_audiobridge=no])
|
|
AS_IF([test "x$enable_plugin_duktape" != "xyes"],
|
|
[enable_plugin_duktape=no])
|
|
AS_IF([test "x$enable_plugin_echotest" != "xyes"],
|
|
[enable_plugin_echotest=no])
|
|
AS_IF([test "x$enable_plugin_lua" != "xyes"],
|
|
[enable_plugin_lua=no])
|
|
AS_IF([test "x$enable_plugin_recordplay" != "xyes"],
|
|
[enable_plugin_recordplay=no])
|
|
AS_IF([test "x$enable_plugin_sip" != "xyes"],
|
|
[enable_plugin_sip=no])
|
|
AS_IF([test "x$enable_plugin_nosip" != "xyes"],
|
|
[enable_plugin_nosip=no])
|
|
AS_IF([test "x$enable_plugin_streaming" != "xyes"],
|
|
[enable_plugin_streaming=no])
|
|
AS_IF([test "x$enable_plugin_textroom" != "xyes"],
|
|
[enable_plugin_textroom=no])
|
|
AS_IF([test "x$enable_plugin_videocall" != "xyes"],
|
|
[enable_plugin_videocall=no])
|
|
AS_IF([test "x$enable_plugin_videoroom" != "xyes"],
|
|
[enable_plugin_videoroom=no])
|
|
],
|
|
[])
|
|
|
|
AC_ARG_ENABLE([all-transports],
|
|
[AS_HELP_STRING([--disable-all-transports],
|
|
[Disable building all transports (except those manually enabled)])],
|
|
[
|
|
AS_IF([test "x$enable_rest" != "xyes"],
|
|
[enable_rest=no])
|
|
AS_IF([test "x$enable_websockets" != "xyes"],
|
|
[enable_websockets=no])
|
|
AS_IF([test "x$enable_rabbitmq" != "xyes"],
|
|
[enable_rabbitmq=no])
|
|
AS_IF([test "x$enable_mqtt" != "xyes"],
|
|
[enable_mqtt=no])
|
|
AS_IF([test "x$enable_unix_sockets" != "xyes"],
|
|
[enable_unix_sockets=no])
|
|
AS_IF([test "x$enable_nanomsg" != "xyes"],
|
|
[enable_nanomsg=no])
|
|
],
|
|
[])
|
|
|
|
AC_ARG_ENABLE([all-handlers],
|
|
[AS_HELP_STRING([--disable-all-handlers],
|
|
[Disable building all event handlers (except those manually enabled)])],
|
|
[
|
|
AS_IF([test "x$enable_sample_event_handler" != "xyes"],
|
|
[enable_sample_event_handler=no])
|
|
AS_IF([test "x$enable_websockets_event_handler" != "xyes"],
|
|
[enable_websockets_event_handler=no])
|
|
AS_IF([test "x$enable_rabbitmq_event_handler" != "xyes"],
|
|
[enable_rabbitmq_event_handler=no])
|
|
AS_IF([test "x$enable_mqtt_event_handler" != "xyes"],
|
|
[enable_mqtt_event_handler=no])
|
|
AS_IF([test "x$enable_nanomsg_event_handler" != "xyes"],
|
|
[enable_nanomsg_event_handler=no])
|
|
AS_IF([test "x$enable_gelf_event_handler" != "xyes"],
|
|
[enable_gelf_event_handler=no])
|
|
],
|
|
[])
|
|
|
|
AC_ARG_ENABLE([all-loggers],
|
|
[AS_HELP_STRING([--disable-all-loggers],
|
|
[Disable building all loggers (except those manually enabled)])],
|
|
[
|
|
AS_IF([test "x$enable_json_logger" != "xyes"],
|
|
[enable_json_logger=no])
|
|
],
|
|
[])
|
|
|
|
AC_ARG_ENABLE([all-js-modules],
|
|
[AS_HELP_STRING([--enable-all-js-modules],
|
|
[Build all the JavaScript modules (instead of manually enabling them one by one)])],
|
|
[
|
|
enable_javascript_es_module=yes
|
|
enable_javascript_umd_module=yes
|
|
enable_javascript_iife_module=yes
|
|
enable_javascript_common_js_module=yes
|
|
],
|
|
[])
|
|
|
|
AC_ARG_ENABLE([rest],
|
|
[AS_HELP_STRING([--disable-rest],
|
|
[Disable REST (HTTP/HTTPS) support])],
|
|
[AS_IF([test "x$enable_rest" != "xyes"],
|
|
[enable_rest=no])],
|
|
[enable_rest=maybe])
|
|
|
|
AC_ARG_ENABLE([websockets],
|
|
[AS_HELP_STRING([--disable-websockets],
|
|
[Disable WebSockets support])],
|
|
[AS_IF([test "x$enable_websockets" != "xyes"],
|
|
[enable_websockets=no])],
|
|
[enable_websockets=maybe])
|
|
|
|
AC_ARG_ENABLE([rabbitmq],
|
|
[AS_HELP_STRING([--disable-rabbitmq],
|
|
[Disable RabbitMQ integration])],
|
|
[AS_IF([test "x$enable_rabbitmq" != "xyes"],
|
|
[enable_rabbitmq=no])],
|
|
[enable_rabbitmq=maybe])
|
|
|
|
AC_ARG_ENABLE([mqtt],
|
|
[AS_HELP_STRING([--disable-mqtt],
|
|
[Disable MQTT integration])],
|
|
[AS_IF([test "x$enable_mqtt" != "xyes"],
|
|
[enable_mqtt=no])],
|
|
[enable_mqtt=maybe])
|
|
|
|
AC_ARG_ENABLE([unix-sockets],
|
|
[AS_HELP_STRING([--disable-unix-sockets],
|
|
[Disable Unix Sockets integration])],
|
|
[AS_IF([test "x$enable_unix_sockets" != "xyes"],
|
|
[enable_unix_sockets=no])],
|
|
[enable_unix_sockets=maybe])
|
|
|
|
AC_ARG_ENABLE([nanomsg],
|
|
[AS_HELP_STRING([--disable-nanomsg],
|
|
[Disable Nanomsg integration])],
|
|
[AS_IF([test "x$enable_nanomsg" != "xyes"],
|
|
[enable_nanomsg=no])],
|
|
[enable_nanomsg=maybe])
|
|
|
|
AC_ARG_ENABLE([sample-event-handler],
|
|
[AS_HELP_STRING([--disable-sample-event-handler],
|
|
[Disable sample event handler (HTTP POST) ])],
|
|
[AS_IF([test "x$enable_sample_event_handler" != "xyes"],
|
|
[enable_sample_event_handler=no])],
|
|
[enable_sample_event_handler=maybe])
|
|
|
|
AC_ARG_ENABLE([websockets-event-handler],
|
|
[AS_HELP_STRING([--disable-websockets-event-handler],
|
|
[Disable WebSockets event handler ])],
|
|
[AS_IF([test "x$enable_websockets_event_handler" != "xyes"],
|
|
[enable_websockets_event_handler=no])],
|
|
[enable_websockets_event_handler=maybe])
|
|
|
|
AC_ARG_ENABLE([rabbitmq-event-handler],
|
|
[AS_HELP_STRING([--disable-rabbitmq-event-handler],
|
|
[Disable RabbitMQ event handler ])],
|
|
[AS_IF([test "x$enable_rabbitmq_event_handler" != "xyes"],
|
|
[enable_rabbitmq_event_handler=no])],
|
|
[enable_rabbitmq_event_handler=maybe])
|
|
|
|
AC_ARG_ENABLE([mqtt-event-handler],
|
|
[AS_HELP_STRING([--disable-mqtt-event-handler],
|
|
[Disable MQTT event handler ])],
|
|
[AS_IF([test "x$enable_mqtt_event_handler" != "xyes"],
|
|
[enable_mqtt_event_handler=no])],
|
|
[enable_mqtt_event_handler=maybe])
|
|
|
|
AC_ARG_ENABLE([nanomsg-event-handler],
|
|
[AS_HELP_STRING([--disable-nanomsg-event-handler],
|
|
[Disable Nanomsg event handler ])],
|
|
[AS_IF([test "x$enable_nanomsg_event_handler" != "xyes"],
|
|
[enable_nanomsg_event_handler=no])],
|
|
[enable_nanomsg_event_handler=maybe])
|
|
|
|
AC_ARG_ENABLE([gelf-event-handler],
|
|
[AS_HELP_STRING([--disable-gelf-event-handler],
|
|
[Disable gelf event handler ])],
|
|
[AS_IF([test "x$enable_gelf_event_handler" != "xyes"],
|
|
[enable_gelf_event_handler=no])],
|
|
[enable_gelf_event_handler=yes])
|
|
|
|
AC_ARG_ENABLE([json-logger],
|
|
[AS_HELP_STRING([--enable-json-logger],
|
|
[Enable external JSON file logger ])],
|
|
[AS_IF([test "x$enable_json_logger" != "xyes"],
|
|
[enable_json_logger=no])],
|
|
[enable_json_logger=no])
|
|
|
|
AC_ARG_ENABLE([systemd-sockets],
|
|
[AS_HELP_STRING([--enable-systemd-sockets],
|
|
[Enable Systemd Unix Sockets management])],
|
|
[],
|
|
[enable_systemd_sockets=no])
|
|
|
|
case "$host_os" in
|
|
freebsd*)
|
|
PKGCHECKMODULES="glib-2.0 >= $glib_version
|
|
gio-2.0 >= $glib_version
|
|
libconfig
|
|
nice
|
|
jansson >= $jansson_version
|
|
zlib"
|
|
;;
|
|
*)
|
|
PKGCHECKMODULES="glib-2.0 >= $glib_version
|
|
gio-2.0 >= $glib_version
|
|
libconfig
|
|
nice
|
|
jansson >= $jansson_version
|
|
libssl >= $ssl_version
|
|
libcrypto
|
|
zlib"
|
|
esac
|
|
PKG_CHECK_MODULES([JANUS],"$PKGCHECKMODULES")
|
|
|
|
JANUS_MANUAL_LIBS="${JANUS_MANUAL_LIBS} -lm"
|
|
AC_SUBST(JANUS_MANUAL_LIBS)
|
|
|
|
AS_IF([test "x${boringssl_dir}" != "x"],
|
|
[echo "Trying to use BoringSSL instead of OpenSSL...";
|
|
AC_MSG_NOTICE([BoringSSL directory is ${boringssl_dir}])
|
|
CFLAGS="$CFLAGS -I${boringssl_dir}/include";
|
|
BORINGSSL_CFLAGS=" -I${boringssl_dir}/include";
|
|
AC_SUBST(BORINGSSL_CFLAGS)
|
|
BORINGSSL_LIBS=" -L${boringssl_dir}/lib -lstdc++";
|
|
AC_SUBST(BORINGSSL_LIBS)
|
|
AC_CHECK_HEADERS([${boringssl_dir}/include/openssl/opensslconf.h],
|
|
[AC_DEFINE(HAVE_BORINGSSL)],
|
|
[AC_MSG_ERROR([BoringSSL headers not found in ${boringssl_dir}, use --disable-boringssl if you want to use OpenSSL instead])])
|
|
])
|
|
AM_CONDITIONAL([ENABLE_BORINGSSL], [test "x${boringssl_dir}" != "x"])
|
|
|
|
AS_IF([test "x$enable_dtls_settimeout" = "xyes"],
|
|
[
|
|
AC_DEFINE(HAVE_DTLS_SETTIMEOUT)
|
|
AC_MSG_NOTICE([Assuming DTLSv1_set_initial_timeout_duration is available])
|
|
])
|
|
AM_CONDITIONAL([ENABLE_DTLS_SETTIMEOUT], [test "x$enable_dtls_settimeout" = "xyes"])
|
|
|
|
AS_IF([test "x$enable_pthread_mutex" = "xyes"],
|
|
[
|
|
AC_DEFINE(USE_PTHREAD_MUTEX)
|
|
AC_MSG_NOTICE([Will use pthread_mutex instead of GMutex])
|
|
])
|
|
AM_CONDITIONAL([ENABLE_PTHREAD_MUTEX], [test "x$enable_pthread_mutex" = "xyes"])
|
|
|
|
AC_SEARCH_LIBS([tls_config_set_ca_mem],[tls],
|
|
[AM_CONDITIONAL([LIBRESSL_DETECTED], true)],
|
|
[AM_CONDITIONAL([LIBRESSL_DETECTED], false)]
|
|
)
|
|
|
|
AC_CHECK_LIB([nice],
|
|
[nice_agent_set_port_range],
|
|
[AC_DEFINE(HAVE_PORTRANGE)],
|
|
[AC_MSG_NOTICE([libnice version does not have nice_agent_set_port_range])]
|
|
)
|
|
|
|
AC_CHECK_LIB([nice],
|
|
[nice_address_equal_no_port],
|
|
[AC_DEFINE(HAVE_LIBNICE_TCP)],
|
|
[AC_MSG_NOTICE([libnice version does not support TCP candidates])]
|
|
)
|
|
|
|
AC_CHECK_LIB([nice],
|
|
[nice_agent_close_async],
|
|
[AC_DEFINE(HAVE_CLOSE_ASYNC)],
|
|
[AC_MSG_NOTICE([libnice version does not have nice_agent_close_async])]
|
|
)
|
|
|
|
AC_CHECK_LIB([nice],
|
|
[nice_agent_new_full],
|
|
[AC_DEFINE(HAVE_ICE_NOMINATION)],
|
|
[AC_MSG_NOTICE([libnice version does not have nice_agent_new_full])]
|
|
)
|
|
|
|
AC_CHECK_LIB([nice],
|
|
[nice_agent_consent_lost],
|
|
[AC_DEFINE(HAVE_CONSENT_FRESHNESS)],
|
|
[AC_MSG_NOTICE([libnice version does not have nice_agent_consent_lost])]
|
|
)
|
|
|
|
AC_CHECK_LIB([dl],
|
|
[dlopen],
|
|
[JANUS_MANUAL_LIBS="${JANUS_MANUAL_LIBS} -ldl"],
|
|
[AC_MSG_ERROR([libdl not found.])])
|
|
|
|
AM_CONDITIONAL([ENABLE_LIBSRTP_2], false)
|
|
AS_IF([test "x$enable_libsrtp2" != "xno"],
|
|
[PKG_CHECK_MODULES([LIBSRTP],
|
|
[libsrtp2],
|
|
[
|
|
AC_DEFINE(HAVE_SRTP_2)
|
|
enable_libsrtp2=yes
|
|
AM_CONDITIONAL([ENABLE_LIBSRTP_2], true)
|
|
],
|
|
[
|
|
AS_IF([test "x$enable_libsrtp2" = "xyes"],
|
|
[AC_MSG_ERROR([libsrtp2 headers not found. See README.md for installation instructions or use --disable-libsrtp-2 to try and autodetect libsrtp 1.5.x instead])])
|
|
])
|
|
])
|
|
AM_COND_IF([ENABLE_LIBSRTP_2],
|
|
[],
|
|
[PKG_CHECK_MODULES([LIBSRTP],
|
|
[libsrtp >= 1.5.0],
|
|
[enable_libsrtp2=no],
|
|
[AC_MSG_ERROR([libsrtp and libsrtp2 not found. See README.md for installation instructions])
|
|
])
|
|
])
|
|
|
|
AC_CHECK_LIB([usrsctp],
|
|
[usrsctp_finish],
|
|
[
|
|
AS_IF([test "x$enable_data_channels" != "xno"],
|
|
[
|
|
AC_DEFINE(HAVE_SCTP)
|
|
JANUS_MANUAL_LIBS="${JANUS_MANUAL_LIBS} -lusrsctp"
|
|
enable_data_channels=yes
|
|
])
|
|
],
|
|
[
|
|
AS_IF([test "x$enable_data_channels" = "xyes"],
|
|
[AC_MSG_ERROR([libusrsctp not found. See README.md for installation instructions or use --disable-data-channels])])
|
|
])
|
|
AM_CONDITIONAL([ENABLE_SCTP], [test "x$enable_data_channels" = "xyes"])
|
|
|
|
PKG_CHECK_MODULES([LIBCURL],
|
|
[libcurl],
|
|
[
|
|
AC_DEFINE(HAVE_LIBCURL)
|
|
AS_IF(
|
|
[test "x$enable_turn_rest_api" != "xno"],
|
|
[
|
|
AC_DEFINE(HAVE_TURNRESTAPI)
|
|
enable_turn_rest_api=yes
|
|
])
|
|
AS_IF([test "x$enable_sample_event_handler" != "xno"],
|
|
[
|
|
AC_DEFINE(HAVE_SAMPLEEVH)
|
|
enable_sample_event_handler=yes
|
|
])
|
|
],
|
|
[
|
|
AS_IF([test "x$enable_turn_rest_api" = "xyes"],
|
|
[AC_MSG_ERROR([libcurl not found. See README.md for installation instructions or use --disable-turn-rest-api])])
|
|
AS_IF([test "x$enable_sample_event_handler" = "xyes"],
|
|
[AC_MSG_ERROR([libcurl not found. See README.md for installation instructions or use --disable-sample-event-handler])])
|
|
])
|
|
AM_CONDITIONAL([ENABLE_TURN_REST_API], [test "x$enable_turn_rest_api" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_SAMPLEEVH], [test "x$enable_sample_event_handler" = "xyes"])
|
|
|
|
AC_CHECK_PROG([DOXYGEN],
|
|
[doxygen],
|
|
[doxygen])
|
|
AC_CHECK_PROG([DOT],
|
|
[dot],
|
|
[dot])
|
|
AS_IF([test -z "$DOXYGEN" -o -z "$DOT"],
|
|
[
|
|
AS_IF([test "x$enable_docs" = "xyes"],
|
|
[AC_MSG_ERROR([doxygen or dot not found. See README.md for installation instructions or remove --enable-docs])])
|
|
])
|
|
AM_CONDITIONAL([ENABLE_DOCS], [test "x$enable_docs" = "xyes"])
|
|
if test "x$enable_docs" = "xyes"; then
|
|
doxygen_version=$($DOXYGEN --version)
|
|
AS_VERSION_COMPARE([$doxygen_version], [1.8.11],
|
|
[],
|
|
[],
|
|
[
|
|
AS_VERSION_COMPARE([$doxygen_version], [1.8.14],
|
|
[AC_MSG_ERROR([Doxygen $doxygen_version not usable: versions between 1.8.12 and 1.8.14 are known to render poorly.])],
|
|
[],
|
|
[]
|
|
)
|
|
]
|
|
)
|
|
fi
|
|
|
|
|
|
##
|
|
# Transports
|
|
##
|
|
|
|
PKG_CHECK_MODULES([TRANSPORTS],
|
|
[
|
|
glib-2.0 >= $glib_version
|
|
jansson >= $jansson_version
|
|
])
|
|
|
|
PKG_CHECK_MODULES([MHD],
|
|
[libmicrohttpd >= 0.9.59],
|
|
[
|
|
AS_IF([test "x$enable_rest" = "xmaybe"],
|
|
[enable_rest=yes])
|
|
],
|
|
[
|
|
AS_IF([test "x$enable_rest" = "xyes"],
|
|
[AC_MSG_ERROR([libmicrohttpd not found. See README.md for installation instructions or use --disable-rest])])
|
|
])
|
|
AC_SUBST([MHD_CFLAGS])
|
|
AC_SUBST([MHD_LIBS])
|
|
AM_CONDITIONAL([ENABLE_REST], [test "x$enable_rest" = "xyes"])
|
|
|
|
AC_CHECK_LIB([websockets],
|
|
[lws_create_vhost],
|
|
[
|
|
AS_IF([test "x$enable_websockets" != "xno"],
|
|
[
|
|
AC_DEFINE(HAVE_WEBSOCKETS)
|
|
WS_MANUAL_LIBS="-lwebsockets"
|
|
enable_websockets=yes
|
|
AC_CHECK_LIB([websockets],
|
|
[lws_get_peer_simple],
|
|
[AC_DEFINE(HAVE_LIBWEBSOCKETS_PEER_SIMPLE)]
|
|
)
|
|
])
|
|
AS_IF([test "x$enable_websockets_event_handler" != "xno"],
|
|
[
|
|
AC_DEFINE(HAVE_WSEVH)
|
|
WS_MANUAL_LIBS="-lwebsockets"
|
|
enable_websockets_event_handler=yes
|
|
])
|
|
],
|
|
[
|
|
AS_IF([test "x$enable_websockets" = "xyes"],
|
|
[AC_MSG_ERROR([libwebsockets not found. See README.md for installation instructions or use --disable-websockets])])
|
|
])
|
|
AM_CONDITIONAL([ENABLE_WEBSOCKETS], [test "x$enable_websockets" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_WSEVH], [test "x$enable_websockets_event_handler" = "xyes"])
|
|
AC_SUBST(WS_MANUAL_LIBS)
|
|
|
|
AC_CHECK_LIB([rabbitmq],
|
|
[amqp_error_string2],
|
|
[
|
|
AS_IF([test "x$enable_rabbitmq" != "xno"],
|
|
[
|
|
AC_DEFINE(HAVE_RABBITMQ)
|
|
enable_rabbitmq=yes
|
|
])
|
|
AS_IF([test "x$enable_rabbitmq_event_handler" != "xno"],
|
|
[
|
|
AC_DEFINE(HAVE_RABBITMQEVH)
|
|
enable_rabbitmq_event_handler=yes
|
|
])
|
|
AC_CHECK_HEADERS([rabbitmq-c/amqp.h])
|
|
],
|
|
[
|
|
AS_IF([test "x$enable_rabbitmq" = "xyes"],
|
|
[AC_MSG_ERROR([rabbitmq-c not found. See README.md for installation instructions or use --disable-rabbitmq])])
|
|
AS_IF([test "x$enable_rabbitmq_event_handler" = "xyes"],
|
|
[AC_MSG_ERROR([rabbitmq-c not found. See README.md for installation instructions or use --disable-rabbitmq-event-handler])])
|
|
])
|
|
AC_CHECK_LIB([paho-mqtt3a],
|
|
[MQTTAsync_create],
|
|
[
|
|
AS_IF([test "x$enable_mqtt" != "xno"],
|
|
[
|
|
AC_DEFINE(HAVE_MQTT)
|
|
enable_mqtt=yes
|
|
])
|
|
AS_IF([test "x$enable_mqtt_event_handler" != "xno"],
|
|
[
|
|
AC_DEFINE(HAVE_MQTTEVH)
|
|
enable_mqtt_event_handler=yes
|
|
])
|
|
],
|
|
[
|
|
AS_IF([test "x$enable_mqtt" = "xyes"],
|
|
[AC_MSG_ERROR([paho c client not found. See README.md for installation instructions or use --disable-mqtt])])
|
|
AS_IF([test "x$enable_mqtt_event_handler" = "xyes"],
|
|
[AC_MSG_ERROR([paho c not found. See README.md for installation instructions or use --disable-mqtt-event-handler])])
|
|
])
|
|
AC_CHECK_LIB([nanomsg],
|
|
[nn_socket],
|
|
[
|
|
AS_IF([test "x$enable_nanomsg" != "xno"],
|
|
[
|
|
AC_DEFINE(HAVE_NANOMSG)
|
|
enable_nanomsg=yes
|
|
])
|
|
AS_IF([test "x$enable_nanomsg_event_handler" != "xno"],
|
|
[
|
|
AC_DEFINE(HAVE_NANOMSGEVH)
|
|
enable_nanomsg_event_handler=yes
|
|
])
|
|
],
|
|
[
|
|
AS_IF([test "x$enable_nanomsg" = "xyes"],
|
|
[AC_MSG_ERROR([nanomsg not found. See README.md for installation instructions or use --disable-nanomsg])])
|
|
AS_IF([test "x$enable_nanomsg_event_handler" = "xyes"],
|
|
[AC_MSG_ERROR([nanomsg not found. See README.md for installation instructions or use --disable-nanomsg-event-handler])])
|
|
])
|
|
AM_CONDITIONAL([ENABLE_RABBITMQ], [test "x$enable_rabbitmq" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_RABBITMQEVH], [test "x$enable_rabbitmq_event_handler" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_MQTT], [test "x$enable_mqtt" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_MQTTEVH], [test "x$enable_mqtt_event_handler" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_NANOMSG], [test "x$enable_nanomsg" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_NANOMSGEVH], [test "x$enable_nanomsg_event_handler" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_GELFEVH], [test "x$enable_gelf_event_handler" = "xyes"])
|
|
|
|
AM_CONDITIONAL([ENABLE_JSONLOGGER], [test "x$enable_json_logger" = "xyes"])
|
|
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
#include <stdlib.h>
|
|
#include <sys/socket.h>
|
|
#include <sys/un.h>
|
|
void test() {
|
|
int pfd = socket(PF_UNIX, SOCK_SEQPACKET | SOCK_NONBLOCK, 0);
|
|
if(pfd < 0)
|
|
exit(1);
|
|
}]], [[]])],[
|
|
AS_IF([test "x$enable_unix_sockets" != "xno"],
|
|
[
|
|
AC_DEFINE(HAVE_PFUNIX)
|
|
enable_unix_sockets=yes
|
|
])
|
|
],[
|
|
AS_IF([test "x$enable_unix_sockets" = "xyes"],
|
|
[AC_MSG_ERROR([SOCK_SEQPACKET not defined in your OS. Use --disable-unix-sockets])])
|
|
])
|
|
AM_CONDITIONAL([ENABLE_PFUNIX], [test "x$enable_unix_sockets" = "xyes"])
|
|
|
|
AS_IF([test "x$enable_systemd_sockets" = "xyes"],
|
|
[PKG_CHECK_MODULES([LIBSYSTEMD],
|
|
[libsystemd],
|
|
[
|
|
AC_DEFINE(HAVE_LIBSYSTEMD)
|
|
],
|
|
[AC_MSG_ERROR([libsystemd not found. systemd unix domain socket service not supported])])
|
|
])
|
|
|
|
|
|
##
|
|
# Plugins
|
|
##
|
|
|
|
PKG_CHECK_MODULES([PLUGINS],
|
|
[
|
|
glib-2.0 >= $glib_version
|
|
jansson >= $jansson_version
|
|
])
|
|
|
|
AC_ARG_ENABLE([plugin-audiobridge],
|
|
[AS_HELP_STRING([--disable-plugin-audiobridge],
|
|
[Disable audiobridge plugin])],
|
|
[AS_IF([test "x$enable_plugin_audiobridge" != "xyes"],
|
|
[enable_plugin_audiobridge=no])],
|
|
[enable_plugin_audiobridge=maybe])
|
|
|
|
AC_ARG_ENABLE([plugin-duktape],
|
|
[AS_HELP_STRING([--enable-plugin-duktape],
|
|
[Enable duktape plugin])],
|
|
[AS_IF([test "x$enable_plugin_duktape" != "xyes"],
|
|
[enable_plugin_duktape=no])],
|
|
[enable_plugin_duktape=no])
|
|
|
|
AC_ARG_ENABLE([plugin-echotest],
|
|
[AS_HELP_STRING([--disable-plugin-echotest],
|
|
[Disable echotest plugin])],
|
|
[AS_IF([test "x$enable_plugin_echotest" != "xyes"],
|
|
[enable_plugin_echotest=no])],
|
|
[enable_plugin_echotest=yes])
|
|
|
|
AC_ARG_ENABLE([plugin-lua],
|
|
[AS_HELP_STRING([--enable-plugin-lua],
|
|
[Enable lua plugin])],
|
|
[AS_IF([test "x$enable_plugin_lua" != "xyes"],
|
|
[enable_plugin_lua=no])],
|
|
[enable_plugin_lua=no])
|
|
|
|
AC_ARG_ENABLE([plugin-recordplay],
|
|
[AS_HELP_STRING([--disable-plugin-recordplay],
|
|
[Disable record&play plugin])],
|
|
[AS_IF([test "x$enable_plugin_recordplay" != "xyes"],
|
|
[enable_plugin_recordplay=no])],
|
|
[enable_plugin_recordplay=yes])
|
|
|
|
AC_ARG_ENABLE([plugin-sip],
|
|
[AS_HELP_STRING([--disable-plugin-sip],
|
|
[Disable sip plugin])],
|
|
[AS_IF([test "x$enable_plugin_sip" != "xyes"],
|
|
[enable_plugin_sip=no])],
|
|
[enable_plugin_sip=maybe])
|
|
|
|
AC_ARG_ENABLE([plugin-nosip],
|
|
[AS_HELP_STRING([--disable-plugin-nosip],
|
|
[Disable nosip plugin])],
|
|
[AS_IF([test "x$enable_plugin_nosip" != "xyes"],
|
|
[enable_plugin_nosip=no])],
|
|
[enable_plugin_nosip=yes])
|
|
|
|
AC_ARG_ENABLE([plugin-streaming],
|
|
[AS_HELP_STRING([--disable-plugin-streaming],
|
|
[Disable streaming plugin])],
|
|
[AS_IF([test "x$enable_plugin_streaming" != "xyes"],
|
|
[enable_plugin_streaming=no])],
|
|
[enable_plugin_streaming=yes])
|
|
|
|
AC_ARG_ENABLE([plugin-textroom],
|
|
[AS_HELP_STRING([--disable-plugin-textroom],
|
|
[Disable textroom plugin])],
|
|
[AS_IF([test "x$enable_plugin_textroom" != "xyes"],
|
|
[enable_plugin_textroom=no])],
|
|
[enable_plugin_textroom=yes])
|
|
|
|
AC_ARG_ENABLE([plugin-videocall],
|
|
[AS_HELP_STRING([--disable-plugin-videocall],
|
|
[Disable videocall plugin])],
|
|
[AS_IF([test "x$enable_plugin_videocall" != "xyes"],
|
|
[enable_plugin_videocall=no])],
|
|
[enable_plugin_videocall=yes])
|
|
|
|
AC_ARG_ENABLE([plugin-videoroom],
|
|
[AS_HELP_STRING([--disable-plugin-videoroom],
|
|
[Disable videoroom plugin])],
|
|
[AS_IF([test "x$enable_plugin_videoroom" != "xyes"],
|
|
[enable_plugin_videoroom=no])],
|
|
[enable_plugin_videoroom=yes])
|
|
|
|
PKG_CHECK_MODULES([SOFIA],
|
|
[sofia-sip-ua],
|
|
[
|
|
AS_IF([test "x$enable_plugin_sip" = "xmaybe"],
|
|
[enable_plugin_sip=yes])
|
|
],
|
|
[
|
|
AS_IF([test "x$enable_plugin_sip" = "xyes"],
|
|
[AC_MSG_ERROR([sofia-sip-ua not found. See README.md for installation instructions or use --disable-plugin-sip])])
|
|
])
|
|
AC_SUBST([SOFIA_CFLAGS])
|
|
AC_SUBST([SOFIA_LIBS])
|
|
|
|
PKG_CHECK_MODULES([OPUS],
|
|
[
|
|
opus
|
|
],
|
|
[
|
|
AS_IF([test "x$enable_plugin_audiobridge" = "xmaybe"],
|
|
[
|
|
enable_plugin_audiobridge=yes
|
|
])
|
|
AS_IF([test "x$enable_plugin_audiobridge" = "xyes"],
|
|
[
|
|
AC_DEFINE(FLOATING_POINT)
|
|
AC_DEFINE([EXPORT], [], [Symbol visibility prefix])
|
|
])
|
|
],
|
|
[
|
|
AS_IF([test "x$enable_plugin_audiobridge" = "xyes"],
|
|
[AC_MSG_ERROR([libopus not found. See README.md for installation instructions or use --disable-plugin-audiobridge])])
|
|
])
|
|
AC_SUBST([OPUS_CFLAGS])
|
|
AC_SUBST([OPUS_LIBS])
|
|
|
|
PKG_CHECK_MODULES([OGG],
|
|
[ogg],
|
|
[
|
|
AC_DEFINE(HAVE_LIBOGG)
|
|
],
|
|
[
|
|
])
|
|
AC_SUBST([OGG_CFLAGS])
|
|
AC_SUBST([OGG_LIBS])
|
|
|
|
PKG_CHECK_MODULES([RNNOISE],
|
|
[rnnoise],
|
|
[
|
|
AC_DEFINE(HAVE_RNNOISE)
|
|
],
|
|
[
|
|
])
|
|
AC_SUBST([RNNOISE_CFLAGS])
|
|
AC_SUBST([RNNOISE_LIBS])
|
|
|
|
PKG_CHECK_MODULES([LUA],
|
|
[lua],
|
|
[
|
|
AS_IF([test "x$enable_plugin_lua" = "xmaybe"],
|
|
[enable_plugin_lua=yes])
|
|
],
|
|
[PKG_CHECK_MODULES([LUA],
|
|
[lua5.3],
|
|
[
|
|
AS_IF([test "x$enable_plugin_lua" = "xmaybe"],
|
|
[enable_plugin_lua=yes])
|
|
],
|
|
[
|
|
AS_IF([test "x$enable_plugin_lua" = "xyes"],
|
|
[AC_MSG_ERROR([lua-libs not found. See README.md for installation instructions or use --disable-plugin-lua])])
|
|
])
|
|
])
|
|
AC_SUBST([LUA_CFLAGS])
|
|
AC_SUBST([LUA_LIBS])
|
|
|
|
PKG_CHECK_MODULES([DUKTAPE],
|
|
[duktape],
|
|
[
|
|
AS_IF([test "x$enable_plugin_duktape" = "xmaybe"],
|
|
[enable_plugin_duktape=yes])
|
|
],
|
|
[
|
|
AS_IF([test "x$enable_plugin_duktape" = "xyes"],
|
|
[AC_MSG_ERROR([duktape not found. See README.md for installation instructions or use --disable-plugin-duktape])])
|
|
])
|
|
AC_SUBST([DUKTAPE_CFLAGS])
|
|
AC_SUBST([DUKTAPE_LIBS])
|
|
|
|
AM_CONDITIONAL([ENABLE_PLUGIN_AUDIOBRIDGE], [test "x$enable_plugin_audiobridge" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_PLUGIN_DUKTAPE], [test "x$enable_plugin_duktape" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_PLUGIN_ECHOTEST], [test "x$enable_plugin_echotest" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_PLUGIN_LUA], [test "x$enable_plugin_lua" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_PLUGIN_RECORDPLAY], [test "x$enable_plugin_recordplay" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_PLUGIN_SIP], [test "x$enable_plugin_sip" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_PLUGIN_NOSIP], [test "x$enable_plugin_nosip" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_PLUGIN_STREAMING], [test "x$enable_plugin_streaming" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_PLUGIN_VIDEOCALL], [test "x$enable_plugin_videocall" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_PLUGIN_VIDEOROOM], [test "x$enable_plugin_videoroom" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_PLUGIN_TEXTROOM], [test "x$enable_plugin_textroom" = "xyes"])
|
|
|
|
|
|
##
|
|
# Event handlers
|
|
##
|
|
|
|
PKG_CHECK_MODULES([EVENTS],
|
|
[
|
|
glib-2.0 >= $glib_version
|
|
jansson >= $jansson_version
|
|
])
|
|
|
|
|
|
##
|
|
# Loggers
|
|
##
|
|
|
|
PKG_CHECK_MODULES([LOGGERS],
|
|
[
|
|
glib-2.0 >= $glib_version
|
|
jansson >= $jansson_version
|
|
])
|
|
|
|
|
|
##
|
|
# JavaScript modules
|
|
##
|
|
|
|
AC_ARG_ENABLE([javascript-es-module],
|
|
[AS_HELP_STRING([--enable-javascript-es-module],
|
|
[Generate an ECMAScript style module from janus.js])],
|
|
[AS_IF([test "x$enable_javascript_es_module" = "xyes"],
|
|
[enable_javascript_es_module=yes])],
|
|
[enable_javascript_es_module=no])
|
|
AM_CONDITIONAL([ENABLE_JAVASCRIPT_ES_MODULE], [test "x$enable_javascript_es_module" = "xyes" ])
|
|
|
|
AC_ARG_ENABLE([javascript-umd-module],
|
|
[AS_HELP_STRING([--enable-javascript-umd-module],
|
|
[Generate an UMD style module from janus.js])],
|
|
[AS_IF([test "x$enable_javascript_umd_module" = "xyes"],
|
|
[enable_javascript_umd_module=yes])],
|
|
[enable_javascript_umd_module=no])
|
|
AM_CONDITIONAL([ENABLE_JAVASCRIPT_UMD_MODULE], [test "x$enable_javascript_umd_module" = "xyes" ])
|
|
|
|
AC_ARG_ENABLE([javascript-iife-module],
|
|
[AS_HELP_STRING([--enable-javascript-iife-module],
|
|
[Generate an IIFE style wrapper around janus.js])],
|
|
[AS_IF([test "x$enable_javascript_iife_module" = "xyes"],
|
|
[enable_javascript_iife_module=yes])],
|
|
[enable_javascript_iife_module=no])
|
|
AM_CONDITIONAL([ENABLE_JAVASCRIPT_IIFE_MODULE], [test "x$enable_javascript_iife_module" = "xyes" ])
|
|
|
|
AC_ARG_ENABLE([javascript-common-js-module],
|
|
[AS_HELP_STRING([--enable-javascript-common-js-module],
|
|
[Generate an CommonJS style module from janus.js])],
|
|
[AS_IF([test "x$enable_javascript_common_js_module" = "xyes"],
|
|
[enable_javascript_common_js_module=yes])],
|
|
[enable_javascript_common_js_module=no])
|
|
AM_CONDITIONAL([ENABLE_JAVASCRIPT_COMMON_JS_MODULE], [test "x$enable_javascript_common_js_module" = "xyes" ])
|
|
|
|
case "-${enable_javascript_common_js_module}-${enable_javascript_iife_module}-${enable_javascript_umd_module}-${enable_javascript_es_module}-" in
|
|
*-yes*)
|
|
AM_CONDITIONAL([ENABLE_JAVASCRIPT_MODULES], true)
|
|
;;
|
|
*)
|
|
AM_CONDITIONAL([ENABLE_JAVASCRIPT_MODULES], false)
|
|
;;
|
|
esac
|
|
|
|
AC_ARG_VAR(NPM,"npm executable to use")
|
|
AC_PATH_PROG(NPM,npm,,)
|
|
AM_CONDITIONAL([NPM_FOUND], [test "x$NPM" != "x" ])
|
|
AM_COND_IF([ENABLE_JAVASCRIPT_MODULES],[
|
|
AM_COND_IF([NPM_FOUND],,[AC_MSG_ERROR([npm not found])])
|
|
])
|
|
|
|
|
|
##
|
|
# Post-processing
|
|
##
|
|
|
|
AC_ARG_ENABLE([post-processing],
|
|
[AS_HELP_STRING([--enable-post-processing],
|
|
[Enable building post-processing utility])],
|
|
[],
|
|
[enable_post_processing=no])
|
|
|
|
AS_IF([test "x$enable_post_processing" = "xyes"],
|
|
[PKG_CHECK_MODULES([POST_PROCESSING],
|
|
[
|
|
glib-2.0 >= $glib_version
|
|
jansson >= $jansson_version
|
|
libssl >= $ssl_version
|
|
libcrypto
|
|
libavutil
|
|
libavcodec
|
|
libavformat
|
|
ogg
|
|
zlib
|
|
])
|
|
])
|
|
|
|
PKG_CHECK_MODULES([PCAP],
|
|
[libpcap],
|
|
[
|
|
AC_DEFINE(HAVE_LIBPCAP)
|
|
enable_pcap2mjr=yes
|
|
],
|
|
[
|
|
enable_pcap2mjr=no
|
|
])
|
|
AC_SUBST([PCAP_CFLAGS])
|
|
AC_SUBST([PCAP_LIBS])
|
|
|
|
AM_CONDITIONAL([WITH_SOURCE_DATE_EPOCH], [test "x$SOURCE_DATE_EPOCH" != "x"])
|
|
AM_CONDITIONAL([ENABLE_POST_PROCESSING], [test "x$enable_post_processing" = "xyes"])
|
|
AM_CONDITIONAL([ENABLE_PCAP2MJR], [test "x$enable_pcap2mjr" = "xyes"])
|
|
|
|
AC_CONFIG_FILES([
|
|
Makefile
|
|
src/Makefile
|
|
html/Makefile
|
|
docs/Makefile
|
|
])
|
|
|
|
JANUS_MANUAL_LIBS+=" -pthread"
|
|
|
|
AC_OUTPUT
|
|
|
|
##
|
|
# Summary
|
|
##
|
|
echo
|
|
echo "Compiler: $CC"
|
|
AM_COND_IF([ENABLE_LIBSRTP_2],
|
|
[echo "libsrtp version: 2.x"],
|
|
[echo "libsrtp version: 1.5.x"])
|
|
AM_COND_IF([ENABLE_BORINGSSL],
|
|
[echo "SSL/crypto library: BoringSSL"
|
|
AM_COND_IF([ENABLE_DTLS_SETTIMEOUT],
|
|
[echo "DTLS set-timeout: yes"],
|
|
[echo "DTLS set-timeout: no"])
|
|
],
|
|
[AM_COND_IF([LIBRESSL_DETECTED],
|
|
[echo "SSL/crypto library: LibreSSL"],
|
|
[echo "SSL/crypto library: OpenSSL"])
|
|
echo "DTLS set-timeout: not available"])
|
|
AM_COND_IF([ENABLE_PTHREAD_MUTEX],
|
|
[echo "Mutex implementation: pthread mutex"],
|
|
[echo "Mutex implementation: GMutex (native futex on Linux)"])
|
|
AM_COND_IF([ENABLE_SCTP],
|
|
[echo "DataChannels support: yes"],
|
|
[echo "DataChannels support: no"])
|
|
AM_COND_IF([ENABLE_POST_PROCESSING],
|
|
[echo "Recordings post-processor: yes"],
|
|
[echo "Recordings post-processor: no"])
|
|
AM_COND_IF([ENABLE_TURN_REST_API],
|
|
[echo "TURN REST API client: yes"],
|
|
[echo "TURN REST API client: no"])
|
|
AM_COND_IF([ENABLE_DOCS],
|
|
[echo "Doxygen documentation: yes"],
|
|
[echo "Doxygen documentation: no"])
|
|
echo "Transports:"
|
|
AM_COND_IF([ENABLE_REST],
|
|
[echo " REST (HTTP/HTTPS): yes"],
|
|
[echo " REST (HTTP/HTTPS): no"])
|
|
AM_COND_IF([ENABLE_WEBSOCKETS],
|
|
[echo " WebSockets: yes"],
|
|
[echo " WebSockets: no"])
|
|
AM_COND_IF([ENABLE_RABBITMQ],
|
|
[echo " RabbitMQ: yes"],
|
|
[echo " RabbitMQ: no"])
|
|
AM_COND_IF([ENABLE_MQTT],
|
|
[echo " MQTT: yes"],
|
|
[echo " MQTT: no"])
|
|
AM_COND_IF([ENABLE_PFUNIX],
|
|
[echo " Unix Sockets: yes"],
|
|
[echo " Unix Sockets: no"])
|
|
AM_COND_IF([ENABLE_NANOMSG],
|
|
[echo " Nanomsg: yes"],
|
|
[echo " Nanomsg: no"])
|
|
echo "Plugins:"
|
|
AM_COND_IF([ENABLE_PLUGIN_ECHOTEST],
|
|
[echo " Echo Test: yes"],
|
|
[echo " Echo Test: no"])
|
|
AM_COND_IF([ENABLE_PLUGIN_STREAMING],
|
|
[echo " Streaming: yes"],
|
|
[echo " Streaming: no"])
|
|
AM_COND_IF([ENABLE_PLUGIN_VIDEOCALL],
|
|
[echo " Video Call: yes"],
|
|
[echo " Video Call: no"])
|
|
AM_COND_IF([ENABLE_PLUGIN_SIP],
|
|
[echo " SIP Gateway: yes"],
|
|
[echo " SIP Gateway: no"])
|
|
AM_COND_IF([ENABLE_PLUGIN_NOSIP],
|
|
[echo " NoSIP (RTP Bridge): yes"],
|
|
[echo " NoSIP (RTP Bridge): no"])
|
|
AM_COND_IF([ENABLE_PLUGIN_AUDIOBRIDGE],
|
|
[echo " Audio Bridge: yes"],
|
|
[echo " Audio Bridge: no"])
|
|
AM_COND_IF([ENABLE_PLUGIN_VIDEOROOM],
|
|
[echo " Video Room: yes"],
|
|
[echo " Video Room: no"])
|
|
AM_COND_IF([ENABLE_PLUGIN_RECORDPLAY],
|
|
[echo " Record&Play: yes"],
|
|
[echo " Record&Play: no"])
|
|
AM_COND_IF([ENABLE_PLUGIN_TEXTROOM],
|
|
[echo " Text Room: yes"],
|
|
[echo " Text Room: no"])
|
|
AM_COND_IF([ENABLE_PLUGIN_LUA],
|
|
[echo " Lua Interpreter: yes"],
|
|
[echo " Lua Interpreter: no"])
|
|
AM_COND_IF([ENABLE_PLUGIN_DUKTAPE],
|
|
[echo " Duktape Interpreter: yes"],
|
|
[echo " Duktape Interpreter: no"])
|
|
echo "Event handlers:"
|
|
AM_COND_IF([ENABLE_SAMPLEEVH],
|
|
[echo " Sample event handler: yes"],
|
|
[echo " Sample event handler: no"])
|
|
AM_COND_IF([ENABLE_WSEVH],
|
|
[echo " WebSocket ev. handler: yes"],
|
|
[echo " WebSocket ev. handler: no"])
|
|
AM_COND_IF([ENABLE_RABBITMQEVH],
|
|
[echo " RabbitMQ event handler:yes"],
|
|
[echo " RabbitMQ event handler:no"])
|
|
AM_COND_IF([ENABLE_MQTTEVH],
|
|
[echo " MQTT event handler: yes"],
|
|
[echo " MQTT event handler: no"])
|
|
AM_COND_IF([ENABLE_NANOMSGEVH],
|
|
[echo " Nanomsg event handler: yes"],
|
|
[echo " Nanomsg event handler: no"])
|
|
AM_COND_IF([ENABLE_GELFEVH],
|
|
[echo " GELF event handler: yes"],
|
|
[echo " GELF event handler: no"])
|
|
echo "External loggers:"
|
|
AM_COND_IF([ENABLE_JSONLOGGER],
|
|
[echo " JSON file logger: yes"],
|
|
[echo " JSON file logger: no"])
|
|
AM_COND_IF([ENABLE_JAVASCRIPT_MODULES], [
|
|
echo "JavaScript modules: yes"
|
|
echo " Using npm: $NPM"
|
|
AM_COND_IF([ENABLE_JAVASCRIPT_ES_MODULE],
|
|
[echo " ES syntax: yes"],
|
|
[echo " ES syntax: no"])
|
|
AM_COND_IF([ENABLE_JAVASCRIPT_IIFE_MODULE],
|
|
[echo " IIFE syntax: yes"],
|
|
[echo " IIFE syntax: no"])
|
|
AM_COND_IF([ENABLE_JAVASCRIPT_UMD_MODULE],
|
|
[echo " UMD syntax: yes"],
|
|
[echo " UMD syntax: no"])
|
|
AM_COND_IF([ENABLE_JAVASCRIPT_COMMON_JS_MODULE],
|
|
[echo " CommonJS syntax: yes"],
|
|
[echo " CommonJS syntax: no"])
|
|
],
|
|
[echo "JavaScript modules: no"])
|
|
|
|
echo
|
|
echo "If this configuration is ok for you, do a 'make' to start building Janus. A 'make install' will install Janus and its plugins to the specified prefix. Finally, a 'make configs' will install some sample configuration files too (something you'll only want to do the first time, though)."
|
|
echo
|