diff --git a/guacd/Makefile.am b/guacd/Makefile.am index 4075eb72..4f9305dc 100644 --- a/guacd/Makefile.am +++ b/guacd/Makefile.am @@ -37,14 +37,15 @@ AUTOMAKE_OPTIONS = foreign initdir = @init_dir@ -AM_CFLAGS = -Werror -Wall -pedantic -Iinclude +AM_CFLAGS = -Werror -Wall -pedantic -Iinclude $(LIBGUAC_INCLUDE) sbin_PROGRAMS = guacd init_SCRIPTS = init.d/guacd man_MANS = man/guacd.8 noinst_HEADERS = include/client.h include/log.h -guacd_SOURCES = src/daemon.c src/client.c src/log.c +guacd_SOURCES = src/daemon.c src/client.c src/log.c +guacd_LDADD = $(LIBGUAC_LTLIB) EXTRA_DIST = init.d/guacd.in man/guacd.8 LICENSE CLEANFILES = $(init_SCRIPTS) diff --git a/guacd/configure.ac b/guacd/configure.ac index 7b7e51ae..8a42c312 100644 --- a/guacd/configure.ac +++ b/guacd/configure.ac @@ -38,6 +38,9 @@ AC_PREREQ([2.61]) AC_INIT([guacd], [0.7.0]) AM_INIT_AUTOMAKE([-Wall -Werror foreign]) +LT_PREREQ([2.2]) +LT_INIT([dlopen]) + AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR([src/client.c]) @@ -48,6 +51,15 @@ AC_PROG_CC_C99 # Libraries AC_CHECK_LIB([pthread], [pthread_create]) +# 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 + # Functions AC_FUNC_MALLOC AC_CHECK_FUNCS([memset socket strerror fork]) diff --git a/libguac/doc/Doxyfile b/libguac/doc/Doxyfile index 9e7129d9..23420e26 100644 --- a/libguac/doc/Doxyfile +++ b/libguac/doc/Doxyfile @@ -603,7 +603,7 @@ RECURSIVE = YES # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. -EXCLUDE = ../include/client-handlers.h ../include/palette.h +EXCLUDE = ../include/_private # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded diff --git a/libguac/include/client-handlers.h b/libguac/include/_private/client-handlers.h similarity index 100% rename from libguac/include/client-handlers.h rename to libguac/include/_private/client-handlers.h diff --git a/libguac/include/palette.h b/libguac/include/_private/palette.h similarity index 100% rename from libguac/include/palette.h rename to libguac/include/_private/palette.h diff --git a/libguac/include/unicode.h b/libguac/include/_private/unicode.h similarity index 100% rename from libguac/include/unicode.h rename to libguac/include/_private/unicode.h diff --git a/libguac/include/client.h b/libguac/include/guacamole/client.h similarity index 100% rename from libguac/include/client.h rename to libguac/include/guacamole/client.h diff --git a/libguac/include/error.h b/libguac/include/guacamole/error.h similarity index 100% rename from libguac/include/error.h rename to libguac/include/guacamole/error.h diff --git a/libguac/include/hash.h b/libguac/include/guacamole/hash.h similarity index 100% rename from libguac/include/hash.h rename to libguac/include/guacamole/hash.h diff --git a/libguac/include/instruction.h b/libguac/include/guacamole/instruction.h similarity index 100% rename from libguac/include/instruction.h rename to libguac/include/guacamole/instruction.h diff --git a/libguac/include/layer.h b/libguac/include/guacamole/layer.h similarity index 100% rename from libguac/include/layer.h rename to libguac/include/guacamole/layer.h diff --git a/libguac/include/plugin.h b/libguac/include/guacamole/plugin.h similarity index 100% rename from libguac/include/plugin.h rename to libguac/include/guacamole/plugin.h diff --git a/libguac/include/pool.h b/libguac/include/guacamole/pool.h similarity index 100% rename from libguac/include/pool.h rename to libguac/include/guacamole/pool.h diff --git a/libguac/include/protocol.h b/libguac/include/guacamole/protocol.h similarity index 100% rename from libguac/include/protocol.h rename to libguac/include/guacamole/protocol.h diff --git a/libguac/include/socket.h b/libguac/include/guacamole/socket.h similarity index 100% rename from libguac/include/socket.h rename to libguac/include/guacamole/socket.h diff --git a/libguac/include/stream.h b/libguac/include/guacamole/stream.h similarity index 100% rename from libguac/include/stream.h rename to libguac/include/guacamole/stream.h diff --git a/libguac/include/timestamp.h b/libguac/include/guacamole/timestamp.h similarity index 100% rename from libguac/include/timestamp.h rename to libguac/include/guacamole/timestamp.h diff --git a/libguac/src/Makefile.am b/libguac/src/Makefile.am index 340ab4c7..4cf625f8 100644 --- a/libguac/src/Makefile.am +++ b/libguac/src/Makefile.am @@ -36,42 +36,42 @@ AUTOMAKE_OPTIONS = foreign ACLOCAL_AMFLAGS = -I m4 -AM_CFLAGS = -Werror -Wall -pedantic -I../include +AM_CFLAGS = -Werror -Wall -pedantic -I../include/guacamole -I../include/_private libguacincdir = $(includedir)/guacamole -libguacinc_HEADERS = \ - ../include/client.h \ - ../include/error.h \ - ../include/hash.h \ - ../include/instruction.h \ - ../include/layer.h \ - ../include/plugin.h \ - ../include/pool.h \ - ../include/protocol.h \ - ../include/socket.h \ - ../include/stream.h \ - ../include/timestamp.h +libguacinc_HEADERS = \ + ../include/guacamole/client.h \ + ../include/guacamole/error.h \ + ../include/guacamole/hash.h \ + ../include/guacamole/instruction.h \ + ../include/guacamole/layer.h \ + ../include/guacamole/plugin.h \ + ../include/guacamole/pool.h \ + ../include/guacamole/protocol.h \ + ../include/guacamole/socket.h \ + ../include/guacamole/stream.h \ + ../include/guacamole/timestamp.h -noinst_HEADERS = \ - ../include/client-handlers.h \ - ../include/palette.h \ - ../include/unicode.h +noinst_HEADERS = \ + ../include/_private/client-handlers.h \ + ../include/_private/palette.h \ + ../include/_private/unicode.h libguac_la_SOURCES = \ client.c \ - client-handlers.c \ - error.c \ - hash.c \ - instruction.c \ - palette.c \ - plugin.c \ - pool.c \ - protocol.c \ - socket.c \ - socket-fd.c \ - socket-nest.c \ - timestamp.c \ - unicode.c + client-handlers.c \ + error.c \ + hash.c \ + instruction.c \ + palette.c \ + plugin.c \ + pool.c \ + protocol.c \ + socket.c \ + socket-fd.c \ + socket-nest.c \ + timestamp.c \ + unicode.c lib_LTLIBRARIES = libguac.la libguac_la_LDFLAGS = -version-info 4:0:0