GUAC-745: Add --without-SUPPORT options for vnc/rdp/ssh/etc.

This commit is contained in:
Michael Jumper 2014-08-12 14:37:48 -07:00
parent 405140cc8f
commit a29f0e8ccd

View File

@ -129,21 +129,24 @@ AC_ARG_WITH(init_dir,
AM_CONDITIONAL([ENABLE_INIT], [test "x${init_dir}" != "x"])
AC_SUBST(init_dir)
AC_ARG_ENABLE(ssh_agent,
[AS_HELP_STRING([--enable-ssh-agent],
[enable built-in ssh-agent])
],enable_ssh_agent=yes)
#
# libssl
#
have_ssl=yes
have_ssl=disabled
SSL_LIBS=
AC_ARG_WITH([ssl],
[AS_HELP_STRING([--with-ssl],
[support SSL encryption @<:@default=check@:>@])],
[],
[with_ssl=check])
if test "x$with_ssl" != "xno"
then
have_ssl=yes
AC_CHECK_HEADER(openssl/ssl.h,, [have_ssl=no])
AC_CHECK_LIB([ssl], [SSL_CTX_new], [SSL_LIBS="$SSL_LIBS -lssl"], [have_ssl=no])
AM_CONDITIONAL([ENABLE_SSL], [test "x${have_ssl}" = "xyes"])
if test "x${have_ssl}" = "xno"
then
@ -155,7 +158,9 @@ then
else
AC_DEFINE([ENABLE_SSL],, [Whether SSL-related support is enabled])
fi
fi
AM_CONDITIONAL([ENABLE_SSL], [test "x${have_ssl}" = "xyes"])
AC_SUBST(SSL_LIBS)
@ -163,14 +168,22 @@ AC_SUBST(SSL_LIBS)
# Ogg Vorbis
#
have_vorbis=yes
have_vorbis=disabled
VORBIS_LIBS=
AC_ARG_WITH([vorbis],
[AS_HELP_STRING([--with-vorbis],
[support Ogg Vorbis @<:@default=check@:>@])],
[],
[with_vorbis=check])
if test "x$with_vorbis" != "xno"
then
have_vorbis=yes
AC_CHECK_HEADER(vorbis/vorbisenc.h,, [have_vorbis=no])
AC_CHECK_LIB([ogg], [ogg_stream_init], [VORBIS_LIBS="$VORBIS_LIBS -logg"], [have_vorbis=no])
AC_CHECK_LIB([vorbis], [vorbis_block_init], [VORBIS_LIBS="$VORBIS_LIBS -lvorbis"], [have_vorbis=no])
AC_CHECK_LIB([vorbisenc], [vorbis_encode_init], [VORBIS_LIBS="$VORBIS_LIBS -lvorbisenc"], [have_vorbis=no])
AM_CONDITIONAL([ENABLE_OGG], [test "x${have_vorbis}" = "xyes"])
if test "x${have_vorbis}" = "xno"
then
@ -183,18 +196,28 @@ else
AC_DEFINE([ENABLE_OGG],,
[Whether support for Ogg Vorbis is enabled])
fi
fi
AM_CONDITIONAL([ENABLE_OGG], [test "x${have_vorbis}" = "xyes"])
AC_SUBST(VORBIS_LIBS)
#
# PulseAudio
#
have_pulse=yes
have_pulse=disabled
PULSE_LIBS=
AC_ARG_WITH([pulse],
[AS_HELP_STRING([--with-pulse],
[support PulseAudio @<:@default=check@:>@])],
[],
[with_pulse=check])
if test "x$with_pulse" != "xno"
then
have_pulse=yes
AC_CHECK_LIB([pulse], [pa_context_new], [PULSE_LIBS="$PULSE_LIBS -lpulse"], [have_pulse=no])
AM_CONDITIONAL([ENABLE_PULSE], [test "x${have_pulse}" = "xyes"])
if test "x${have_pulse}" = "xno"
then
@ -206,26 +229,48 @@ then
else
AC_DEFINE([ENABLE_PULSE],, [Whether PulseAudio support is enabled])
fi
fi
AM_CONDITIONAL([ENABLE_PULSE], [test "x${have_pulse}" = "xyes"])
AC_SUBST(PULSE_LIBS)
#
# PANGO
#
have_pango=disabled
AC_ARG_WITH([pango],
[AS_HELP_STRING([--with-pango],
[support Pango text layout @<:@default=check@:>@])],
[],
[with_pango=check])
if test "x$with_pango" != "xno"
then
have_pango=yes
PKG_CHECK_MODULES([PANGO], [pango],, [have_pango=no]);
PKG_CHECK_MODULES([PANGOCAIRO], [pangocairo],, [have_pango=no]);
fi
#
# Terminal emulator
#
have_terminal=disabled
AC_ARG_WITH([terminal],
[AS_HELP_STRING([--with-terminal],
[support text-based protocols @<:@default=check@:>@])],
[],
[with_terminal=check])
if test "x$with_terminal" != "xno"
then
have_terminal=yes
if test "x${have_pango}" = "xno"
then
have_terminal=no
fi
fi
AM_CONDITIONAL([ENABLE_TERMINAL], [test "x${have_terminal}" = "xyes"])
@ -233,12 +278,21 @@ AM_CONDITIONAL([ENABLE_TERMINAL], [test "x${have_terminal}" = "xyes"])
# libVNCServer
#
have_libvncserver=yes
have_libvncserver=disabled
VNC_LIBS=
AC_ARG_WITH([vnc],
[AS_HELP_STRING([--with-vnc],
[support VNC @<:@default=check@:>@])],
[],
[with_vnc=check])
if test "x$with_vnc" != "xno"
then
have_libvncserver=yes
AC_CHECK_LIB([vncclient], [rfbInitClient], [VNC_LIBS="$VNC_LIBS -lvncclient"], [have_libvncserver=no])
AM_CONDITIONAL([ENABLE_VNC], [test "x${have_libvncserver}" = "xyes"])
fi
AM_CONDITIONAL([ENABLE_VNC], [test "x${have_libvncserver}" = "xyes"])
AC_SUBST(VNC_LIBS)
#
@ -297,6 +351,16 @@ fi
# FreeRDP
#
have_freerdp=disabled
RDP_LIBS=
AC_ARG_WITH([rdp],
[AS_HELP_STRING([--with-rdp],
[support RDP @<:@default=check@:>@])],
[],
[with_rdp=check])
if test "x$with_rdp" != "xno"
then
have_winpr=yes
have_freerdp=yes
legacy_freerdp_extensions=no
@ -304,17 +368,6 @@ rdpsettings_interface=unknown
rdpsettings_fastpath=yes
freerdp_interface=unknown
event_interface=unknown
RDP_LIBS=
# libfreerdp-cache
AC_CHECK_LIB([freerdp-cache], [glyph_cache_register_callbacks],
[RDP_LIBS="$RDP_LIBS -lfreerdp-cache"],
[AC_MSG_WARN([
--------------------------------------------
Unable to find libfreerdp-cache
RDP will be disabled.
--------------------------------------------])
have_freerdp=no])
# libfreerdp-core
AC_CHECK_LIB([freerdp-core], [freerdp_new],
@ -325,15 +378,35 @@ AC_CHECK_LIB([freerdp-core], [freerdp_new],
RDP will be disabled.
--------------------------------------------])
have_freerdp=no])
fi
# libfreerdp-cache
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_LIB([freerdp-cache], [glyph_cache_register_callbacks],
[RDP_LIBS="$RDP_LIBS -lfreerdp-cache"],
[AC_MSG_WARN([
--------------------------------------------
Unable to find libfreerdp-cache
RDP will be disabled.
--------------------------------------------])
have_freerdp=no])
fi
# libfreerdp-channels (1.0) / libfreerdp-client (1.1)
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_LIB([freerdp-client], [freerdp_channels_new],
[RDP_LIBS="$RDP_LIBS -lfreerdp-client"],
[AC_CHECK_LIB([freerdp-channels], [freerdp_channels_new],
[RDP_LIBS="$RDP_LIBS -lfreerdp-channels"
legacy_freerdp_extensions=yes])])
fi
# libfreerdp-utils
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_LIB([freerdp-utils], [svc_plugin_init],
[RDP_LIBS="$RDP_LIBS -lfreerdp-utils"],
[AC_MSG_WARN([
@ -342,8 +415,11 @@ AC_CHECK_LIB([freerdp-utils], [svc_plugin_init],
RDP will be disabled.
--------------------------------------------])
have_freerdp=no])
fi
# libfreerdp-codec
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_LIB([freerdp-codec], [freerdp_image_convert],
[RDP_LIBS="$RDP_LIBS -lfreerdp-codec"],
[AC_MSG_WARN([
@ -352,12 +428,18 @@ AC_CHECK_LIB([freerdp-codec], [freerdp_image_convert],
RDP will be disabled.
--------------------------------------------])
have_freerdp=no])
fi
# Check for interval polling in plugins
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_MEMBERS([rdpSvcPlugin.interval_ms],,,
[[#include <freerdp/utils/svc_plugin.h>]])
fi
# Keyboard layout header
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_HEADERS([freerdp/locale/keyboard.h],,
[AC_CHECK_HEADERS([freerdp/kbd/layouts.h],,
[AC_MSG_WARN([
@ -366,11 +448,17 @@ AC_CHECK_HEADERS([freerdp/locale/keyboard.h],,
RDP will be disabled.
--------------------------------------------])
have_freerdp=no])])
fi
# New headers defining addins
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_HEADERS([freerdp/addin.h freerdp/client/channels.h])
fi
# Header defining cliprdr
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_HEADERS([freerdp/client/cliprdr.h],,
[AC_CHECK_HEADERS([freerdp/plugins/cliprdr.h],,
[AC_MSG_WARN([
@ -382,7 +470,11 @@ AC_CHECK_HEADERS([freerdp/client/cliprdr.h],,
[#include <freerdp/types.h>])],
[#include <winpr/wtypes.h>
#include <winpr/collections.h>])
fi
# Addin registration variations
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_DECL([freerdp_register_addin_provider],
[AC_DEFINE([HAVE_FREERDP_REGISTER_ADDIN_PROVIDER],,
[Whether freerdp_register_addin_provider() is defined])],,
@ -392,12 +484,15 @@ AC_CHECK_DECL([freerdp_channels_global_init],
[AC_DEFINE([HAVE_FREERDP_CHANNELS_GLOBAL_INIT],,
[Whether freerdp_channels_global_init() is defined])],,
[#include <freerdp/channels/channels.h>])
fi
#
# FreeRDP: WinPR
#
# Check for stream support via WinPR
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_HEADER(winpr/stream.h,,
[have_winpr=no,
AC_CHECK_DECL([stream_write_uint8],,
@ -408,8 +503,11 @@ AC_CHECK_HEADER(winpr/stream.h,,
--------------------------------------------])
have_freerdp=no],
[#include <freerdp/utils/stream.h>])])
fi
# Check for types in WinPR
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_HEADER(winpr/wtypes.h,,
[have_winpr=no,
AC_CHECK_HEADER(freerdp/types.h,,
@ -419,8 +517,9 @@ AC_CHECK_HEADER(winpr/wtypes.h,,
RDP will be disabled.
--------------------------------------------])
have_freerdp=no])])
fi
if test "x${have_winpr}" = "xyes"
if test "x${have_libfreerdp}" = "xyes" -a "x${have_winpr}" = "xyes"
then
AC_DEFINE([ENABLE_WINPR],,
[Whether library support for WinPR types was found])
@ -430,6 +529,8 @@ fi
# FreeRDP: freerdp
#
if test "x${have_libfreerdp}" = "xyes"
then
# Check for current (as of 1.1) freerdp interface
AC_CHECK_MEMBERS([freerdp.ContextSize],
[freerdp_interface=stable],,
@ -455,11 +556,14 @@ elif test "x${freerdp_interface}" = "xunknown"; then
--------------------------------------------])
have_freerdp=no
fi
fi
#
# FreeRDP: rdpSettings
#
if test "x${have_libfreerdp}" = "xyes"
then
# Check for current (as of 1.1) rdpSettings interface
AC_CHECK_MEMBERS([rdpSettings.Width,
rdpSettings.Height,
@ -498,26 +602,34 @@ elif test "x${rdpsettings_interface}" = "xunknown"; then
--------------------------------------------])
have_freerdp=no
fi
fi
# Activate FastPath settings if present
if test "x${rdpsettings_fastpath}" = "xyes"; then
if test "x${have_libfreerdp}" = "xyes" -a "x${rdpsettings_fastpath}" = "xyes"; then
AC_DEFINE([HAVE_RDPSETTINGS_FASTPATH],,
[Whether the rdpSettings structure has FastPath settings])
fi
# Check if the type CHANNEL_ENTRY_POINTS_FREERDP exists, if not define it to CHANNEL_ENTRY_POINTS_EX
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_TYPE([CHANNEL_ENTRY_POINTS_FREERDP],,
AC_DEFINE([CHANNEL_ENTRY_POINTS_FREERDP],[CHANNEL_ENTRY_POINTS_EX], [Type compatibility]),
[[#include <freerdp/svc.h>]])
fi
# Check if the freerdp version header exists
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_HEADERS([freerdp/version.h])
fi
#
# FreeRDP: rdpBitmap
#
if test "x${have_libfreerdp}" = "xyes"
then
AC_MSG_CHECKING([whether rdpBitmap.Decompress() requires the codec_id])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <winpr/wtypes.h>
#include <freerdp/freerdp.h>
@ -535,11 +647,14 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <winpr/wtypes.h>
[AC_MSG_RESULT([no])
AC_DEFINE([LEGACY_RDPBITMAP],,
[Whether the legacy rdpBitmap API was found])])
fi
#
# FreeRDP: rdpPalette
#
if test "x${have_libfreerdp}" = "xyes"
then
AC_MSG_CHECKING([whether rdpPalette.entries is static])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <freerdp/update.h>
rdpPalette p;
@ -548,22 +663,28 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <freerdp/update.h>
[AC_MSG_RESULT([no])
AC_DEFINE([LEGACY_RDPPALETTE],,
[Whether the legacy rdpPalette API was found])])
fi
#
# FreeRDP: rdpPointer
#
# Check for SetDefault and SetNull members of rdpPointer
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_MEMBERS([rdpPointer.SetDefault,
rdpPointer.SetNull],
,,
[[#include <freerdp/freerdp.h>]])
fi
#
# FreeRDP: wMessage / RDP_EVENT
#
# Check for current (as of 1.1) wMessage interface
if test "x${have_libfreerdp}" = "xyes"
then
AC_CHECK_MEMBERS([wMessage.id],
[event_interface=stable],,
[[#include <winpr/collections.h>]])
@ -588,7 +709,7 @@ elif test "x${event_interface}" = "xunknown"; then
--------------------------------------------])
have_freerdp=no
fi
fi
AM_CONDITIONAL([LEGACY_FREERDP_EXTENSIONS], [test "x${legacy_freerdp_extensions}" = "xyes"])
AM_CONDITIONAL([ENABLE_WINPR], [test "x${have_winpr}" = "xyes"])
@ -600,12 +721,28 @@ AC_SUBST(RDP_LIBS)
# libssh2
#
have_libssh2=yes
have_libssh2=disabled
SSH_LIBS=
AC_ARG_WITH([ssh],
[AS_HELP_STRING([--with-ssh],
[support SSH @<:@default=check@:>@])],
[],
[with_ssh=check])
AC_ARG_ENABLE(ssh_agent,
[AS_HELP_STRING([--enable-ssh-agent],
[enable built-in ssh-agent])
],enable_ssh_agent=yes)
if test "x$with_ssh" != "xno"
then
have_libssh2=yes
AC_CHECK_LIB([ssh2], [libssh2_session_init_ex],
[SSH_LIBS="$SSH_LIBS -lssh2"],
[have_libssh2=no])
fi
AM_CONDITIONAL([ENABLE_SSH], [test "x${have_libssh2}" = "xyes" \
-a "x${have_terminal}" = "xyes" \
-a "x${have_ssl}" = "xyes"])
@ -667,12 +804,22 @@ AM_CONDITIONAL([ENABLE_SSH_AGENT],
# libtelnet
#
have_libtelnet=yes
have_libtelnet=disabled
TELNET_LIBS=
AC_ARG_WITH([telnet],
[AS_HELP_STRING([--with-telnet],
[support Telnet @<:@default=check@:>@])],
[],
[with_telnet=check])
if test "x$with_telnet" != "xno"
then
have_libtelnet=yes
AC_CHECK_LIB([telnet], [telnet_init],
[TELNET_LIBS="$TELNET_LIBS -ltelnet"],
[have_libtelnet=no])
fi
AM_CONDITIONAL([ENABLE_TELNET], [test "x${have_libtelnet}" = "xyes" \
-a "x${have_terminal}" = "xyes"])