From df01ba66ea989c73c32116209dc0922d129d6cf4 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 17 Jul 2013 11:27:38 -0700 Subject: [PATCH] Detect extension format. --- configure.ac | 5 +++- src/protocols/rdp/Makefile.am | 45 ++++++++++++++++++++++++++++------- 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/configure.ac b/configure.ac index f00290ba..64b0bf4c 100644 --- a/configure.ac +++ b/configure.ac @@ -215,6 +215,7 @@ fi have_winpr=yes have_freerdp=yes +legacy_freerdp_extensions=no RDP_LIBS= # libfreerdp-cache @@ -231,7 +232,8 @@ AC_CHECK_LIB([freerdp-core], [freerdp_new], 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"], + [RDP_LIBS="$RDP_LIBS -lfreerdp-channels" + legacy_freerdp_extensions=yes], [have_freerdp=no])]) # libfreerdp-utils @@ -269,6 +271,7 @@ then fi +AM_CONDITIONAL([LEGACY_FREERDP_EXTENSIONS], [test "x${legacy_freerdp_extensions}" = "xyes"]) AM_CONDITIONAL([ENABLE_WINPR], [test "x${have_winpr}" = "xyes"]) AM_CONDITIONAL([ENABLE_RDP], [test "x${have_freerdp}" = "xyes"]) diff --git a/src/protocols/rdp/Makefile.am b/src/protocols/rdp/Makefile.am index 74d0f18d..b7a72296 100644 --- a/src/protocols/rdp/Makefile.am +++ b/src/protocols/rdp/Makefile.am @@ -40,7 +40,6 @@ ACLOCAL_AMFLAGS = -I m4 AM_CFLAGS = -Werror -Wall -Iinclude @LIBGUAC_INCLUDE@ lib_LTLIBRARIES = libguac-client-rdp.la -freerdp_LTLIBRARIES = guac_rdpsnd.la guac_rdpdr.la libguac_client_rdp_la_SOURCES = \ audio.c \ @@ -60,12 +59,12 @@ libguac_client_rdp_la_SOURCES = \ rdp_pointer.c \ wav_encoder.c -guac_rdpsnd_la_SOURCES = \ +guacsnd_sources = \ guac_rdpsnd/rdpsnd_messages.c \ guac_rdpsnd/rdpsnd_service.c \ audio.c -guac_rdpdr_la_SOURCES = \ +guacdr_sources = \ guac_rdpdr/rdpdr_messages.c \ guac_rdpdr/rdpdr_printer.c \ guac_rdpdr/rdpdr_service.c @@ -92,8 +91,8 @@ noinst_HEADERS = \ # Add compatibility layer for WinPR if not available if ! ENABLE_WINPR noinst_HEADERS += compat/winpr-stream.h - guac_rdpsnd_la_SOURCES += compat/winpr-stream.c - guac_rdpdr_la_SOURCES += compat/winpr-stream.c + guacsnd_sources += compat/winpr-stream.c + guacdr_sources += compat/winpr-stream.c endif # Compile OGG support if available @@ -103,12 +102,40 @@ if ENABLE_OGG endif libguac_client_rdp_la_LDFLAGS = -version-info 0:0:0 @RDP_LIBS@ @VORBIS_LIBS@ @PTHREAD_LIBS@ @CAIRO_LIBS@ -guac_rdpsnd_la_LDFLAGS = -module -avoid-version -shared @RDP_LIBS@ @VORBIS_LIBS@ @PTHREAD_LIBS@ -guac_rdpdr_la_LDFLAGS = -module -avoid-version -shared @RDP_LIBS@ @PTHREAD_LIBS@ +guacsnd_ldflags = -module -avoid-version -shared @RDP_LIBS@ @VORBIS_LIBS@ @PTHREAD_LIBS@ +guacdr_ldflags = -module -avoid-version -shared @RDP_LIBS@ @PTHREAD_LIBS@ libguac_client_rdp_la_LIBADD = @LIBGUAC_LTLIB@ -guac_rdpsnd_la_LIBADD = @LIBGUAC_LTLIB@ -guac_rdpdr_la_LIBADD = @LIBGUAC_LTLIB@ +guacsnd_libadd = @LIBGUAC_LTLIB@ +guacdr_libadd = @LIBGUAC_LTLIB@ +if LEGACY_FREERDP_EXTENSIONS + +# FreeRDP 1.0-style extensions +freerdp_LTLIBRARIES = guacsnd.la guacdr.la freerdpdir = ${libdir}/freerdp +guacsnd_la_SOURCES = ${guacsnd_sources} +guacsnd_la_LDFLAGS = ${guacsnd_ldflags} +guacsnd_la_LIBADD = ${guacsnd_libadd} + +guacdr_la_SOURCES = ${guacdr_sources} +guacdr_la_LDFLAGS = ${guacdr_ldflags} +guacdr_la_LIBADD = ${guacdr_libadd} + +else + +# FreeRDP 1.1 (and hopefully onward) extensions +freerdp_LTLIBRARIES = guacsnd-client.la guacdr-client.la +freerdpdir = ${libdir}/freerdp/extensions + +guacsnd_client_la_SOURCES = ${guacsnd_sources} +guacsnd_client_la_LDFLAGS = ${guacsnd_ldflags} +guacsnd_client_la_LIBADD = ${guacsnd_libadd} + +guacdr_client_la_SOURCES = ${guacdr_sources} +guacdr_client_la_LDFLAGS = ${guacdr_ldflags} +guacdr_client_la_LIBADD = ${guacdr_libadd} + +endif +