Convert RDP and VNC to new build system.

This commit is contained in:
Michael Jumper 2013-06-04 20:19:33 -07:00
parent 7f1eb77c8f
commit e0d09d4be8
8 changed files with 65 additions and 26 deletions

View File

@ -37,5 +37,5 @@
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4
# Subprojects # Subprojects
SUBDIRS = libguac guacd SUBDIRS = libguac guacd protocols/vnc protocols/rdp

View File

@ -43,7 +43,7 @@ LT_PREREQ([2.2])
LT_INIT([dlopen]) LT_INIT([dlopen])
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SUBDIRS([libguac guacd]) AC_CONFIG_SUBDIRS([libguac guacd protocols/vnc protocols/rdp])
AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([Makefile])
AC_OUTPUT AC_OUTPUT

View File

@ -37,7 +37,7 @@
AUTOMAKE_OPTIONS = foreign AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4
AM_CFLAGS = -Werror -Wall -Iinclude AM_CFLAGS = -Werror -Wall -Iinclude $(LIBGUAC_INCLUDE)
lib_LTLIBRARIES = libguac-client-rdp.la lib_LTLIBRARIES = libguac-client-rdp.la
freerdp_LTLIBRARIES = guac_rdpsnd.la freerdp_LTLIBRARIES = guac_rdpsnd.la
@ -93,6 +93,9 @@ endif
libguac_client_rdp_la_LDFLAGS = -version-info 0:0:0 libguac_client_rdp_la_LDFLAGS = -version-info 0:0:0
guac_rdpsnd_la_LDFLAGS = -module -avoid-version -shared guac_rdpsnd_la_LDFLAGS = -module -avoid-version -shared
libguac_client_rdp_la_LIBADD = $(LIBGUAC_LTLIB)
guac_rdpsnd_la_LIBADD = $(LIBGUAC_LTLIB)
freerdpdir = ${libdir}/freerdp/ freerdpdir = ${libdir}/freerdp/
EXTRA_DIST = LICENSE EXTRA_DIST = LICENSE

View File

@ -34,26 +34,39 @@
# #
# ***** END LICENSE BLOCK ***** # ***** END LICENSE BLOCK *****
AC_INIT(src/client.c) AC_PREREQ([2.61])
AM_INIT_AUTOMAKE([libguac-client-rdp], 0.7.4) AC_INIT([libguac-client-rdp], [0.7.4])
AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([-Wall -Werror foreign])
# Checks for programs. LT_PREREQ([2.2])
LT_INIT([dlopen])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([src/client.c])
# Programs
AC_PROG_CC AC_PROG_CC
AC_PROG_CC_C99 AC_PROG_CC_C99
AC_PROG_LIBTOOL AC_PROG_LIBTOOL
# Checks for libraries. # Libraries
AC_CHECK_LIB([guac], [guac_client_plugin_open],, AC_MSG_ERROR("libguac must be installed first")) AC_CHECK_LIB([pthread], [pthread_mutex_init],, AC_MSG_ERROR("libpthread is required"))
AC_CHECK_LIB([cairo], [cairo_create],, AC_MSG_ERROR("cairo is required for drawing instructions")) AC_CHECK_LIB([cairo], [cairo_create],, AC_MSG_ERROR("cairo is required for drawing instructions"))
AC_CHECK_LIB([freerdp-cache], [glyph_cache_register_callbacks],, AC_MSG_ERROR("libfreerdp-cache is required (part of FreeRDP)")) AC_CHECK_LIB([freerdp-cache], [glyph_cache_register_callbacks],, AC_MSG_ERROR("libfreerdp-cache is required (part of FreeRDP)"))
AC_CHECK_LIB([freerdp-core], [freerdp_new],, AC_MSG_ERROR("libfreerdp-core is required (part of FreeRDP)")) AC_CHECK_LIB([freerdp-core], [freerdp_new],, AC_MSG_ERROR("libfreerdp-core is required (part of FreeRDP)"))
AC_CHECK_LIB([freerdp-channels], [freerdp_channels_new],, AC_MSG_ERROR("libfreerdp-channels is required (part of FreeRDP)")) AC_CHECK_LIB([freerdp-channels], [freerdp_channels_new],, AC_MSG_ERROR("libfreerdp-channels is required (part of FreeRDP)"))
AC_CHECK_LIB([freerdp-utils], [xzalloc],, AC_MSG_ERROR("libfreerdp-utils is required (part of FreeRDP)")) AC_CHECK_LIB([freerdp-utils], [xzalloc],, AC_MSG_ERROR("libfreerdp-utils is required (part of FreeRDP)"))
AC_CHECK_LIB([freerdp-codec], [freerdp_image_convert],, AC_MSG_ERROR("libfreerdp-codec is required (part of FreeRDP)")) AC_CHECK_LIB([freerdp-codec], [freerdp_image_convert],, AC_MSG_ERROR("libfreerdp-codec is required (part of FreeRDP)"))
AC_CHECK_LIB([pthread], [pthread_mutex_init],, AC_MSG_ERROR("libpthread is required"))
# Check for libvorbisenc
# If bundled copy of libguac found, use that
if test -d "$srcdir/../../libguac"
then
AC_SUBST([LIBGUAC_LTLIB], '$(top_builddir)/../../libguac/src/libguac.la')
AC_SUBST([LIBGUAC_INCLUDE], '-I$(top_srcdir)/../../libguac/include')
else
AC_CHECK_LIB([guac], [guac_client_plugin_open])
fi
have_vorbisenc=yes have_vorbisenc=yes
AC_CHECK_HEADER(vorbis/vorbisenc.h,, [have_vorbisenc=no]) AC_CHECK_HEADER(vorbis/vorbisenc.h,, [have_vorbisenc=no])
@ -71,16 +84,19 @@ else
AC_DEFINE([ENABLE_OGG]) AC_DEFINE([ENABLE_OGG])
fi fi
# Checks for header files. # Functions
AC_CHECK_HEADERS([guacamole/client.h guacamole/guacio.h guacamole/protocol.h freerdp/locale/keyboard.h freerdp/kbd/layouts.h]) AC_FUNC_MALLOC
AC_CHECK_FUNCS([memset socket strerror fork])
# Headers
AC_CHECK_HEADERS([freerdp/locale/keyboard.h freerdp/kbd/layouts.h])
# Check for FreeRDP version-specific features # Check for FreeRDP version-specific features
AC_CHECK_MEMBERS([rdpPointer.SetDefault, rdpPointer.SetNull], AC_CHECK_MEMBERS([rdpPointer.SetDefault, rdpPointer.SetNull],
[], [], [], [],
[[#include <freerdp/freerdp.h>]]) [[#include <freerdp/freerdp.h>]])
# Checks for library functions. # Done
AC_FUNC_MALLOC
AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([Makefile])
AC_OUTPUT AC_OUTPUT

View File

@ -37,7 +37,7 @@
AUTOMAKE_OPTIONS = foreign AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4
AM_CFLAGS = -Werror -Wall -pedantic -Iinclude AM_CFLAGS = -Werror -Wall -pedantic -Iinclude $(LIBGUAC_INCLUDE)
lib_LTLIBRARIES = libguac-client-vnc.la lib_LTLIBRARIES = libguac-client-vnc.la
@ -45,6 +45,7 @@ libguac_client_vnc_la_SOURCES = src/client.c src/vnc_handlers.c src/guac_handler
noinst_HEADERS = include/client.h include/vnc_handlers.h include/guac_handlers.h include/convert.h noinst_HEADERS = include/client.h include/vnc_handlers.h include/guac_handlers.h include/convert.h
libguac_client_vnc_la_LDFLAGS = -version-info 0:0:0 libguac_client_vnc_la_LDFLAGS = -version-info 0:0:0
libguac_client_vnc_la_LIBADD = $(LIBGUAC_LTLIB)
EXTRA_DIST = LICENSE EXTRA_DIST = LICENSE

View File

@ -34,24 +34,43 @@
# #
# ***** END LICENSE BLOCK ***** # ***** END LICENSE BLOCK *****
AC_INIT(src/client.c) AC_PREREQ([2.61])
AM_INIT_AUTOMAKE([libguac-client-vnc], 0.7.2) AC_INIT([libguac-client-vnc], [0.7.2])
AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([-Wall -Werror foreign])
# Checks for programs. LT_PREREQ([2.2])
LT_INIT([dlopen])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([src/client.c])
# Programs
AC_PROG_CC AC_PROG_CC
AC_PROG_CC_C99
AC_PROG_LIBTOOL AC_PROG_LIBTOOL
# Checks for libraries. # Libraries
AC_CHECK_LIB([guac], [guac_client_plugin_open],, AC_MSG_ERROR("libguac must be installed first")) AC_CHECK_LIB([pthread], [pthread_create])
AC_CHECK_LIB([cairo], [cairo_create],, AC_MSG_ERROR("cairo is required for drawing instructions")) AC_CHECK_LIB([cairo], [cairo_create],, AC_MSG_ERROR("cairo is required for drawing instructions"))
AC_CHECK_LIB([vncclient], [rfbInitClient],, AC_MSG_ERROR("libvncclient is required")) AC_CHECK_LIB([vncclient], [rfbInitClient],, AC_MSG_ERROR("libvncclient is required"))
# Checks for header files. # If bundled copy of libguac found, use that
AC_CHECK_HEADERS([stdlib.h string.h syslog.h guacamole/client.h guacamole/socket.h guacamole/protocol.h iconv.h]) if test -d "$srcdir/../../libguac"
then
AC_SUBST([LIBGUAC_LTLIB], '$(top_builddir)/../../libguac/src/libguac.la')
AC_SUBST([LIBGUAC_INCLUDE], '-I$(top_srcdir)/../../libguac/include')
else
AC_CHECK_LIB([guac], [guac_client_plugin_open])
fi
# Checks for library functions. # Functions
AC_FUNC_MALLOC AC_FUNC_MALLOC
AC_CHECK_FUNCS([memset socket strerror fork])
# Headers
AC_CHECK_HEADERS([stdlib.h string.h syslog.h iconv.h])
# Done
AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([Makefile])
AC_OUTPUT AC_OUTPUT