Build guacd and libguac.

This commit is contained in:
Michael Jumper 2013-06-05 11:50:48 -07:00
parent 4c089caeb9
commit 1d3fa12747
8 changed files with 54 additions and 171 deletions

View File

@ -37,6 +37,5 @@
ACLOCAL_AMFLAGS = -I m4
# Subprojects
DIST_SUBDIRS = libguac guacd protocols/vnc protocols/rdp protocols/ssh protocols/spice
SUBDIRS = libguac guacd $(PROTOCOL_DIRS)
SUBDIRS = src/libguac src/guacd

View File

@ -60,7 +60,9 @@ AC_DEFINE([_BSD_SOURCE], [], [Uses BSD APIs])
AC_CHECK_LIB([dl], [dlopen],, AC_MSG_ERROR("libdl is required for loading client plugins"))
AC_CHECK_LIB([png], [png_write_png],, AC_MSG_ERROR("libpng is required for writing png messages"))
AC_CHECK_LIB([cairo], [cairo_create],, AC_MSG_ERROR("cairo is required for drawing instructions"))
AC_CHECK_LIB([pthread], [pthread_create], [PTHREAD_LIBS=-lpthread])
AC_CHECK_LIB([pthread], [pthread_create],
[PTHREAD_LIBS=-lpthread
AC_DEFINE([HAVE_LIBPTHREAD])])
AC_CHECK_LIB([cunit], [CU_run_test], [CUNIT_LIBS=-lcunit])
AC_CHECK_LIB([wsock32], [main])
@ -76,6 +78,10 @@ AC_CHECK_FUNCS([clock_gettime gettimeofday memmove memset select strdup png_get_
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
# Bundled libguac
AC_SUBST([LIBGUAC_LTLIB], '$(top_builddir)/src/libguac/libguac.la')
AC_SUBST([LIBGUAC_INCLUDE], '-I$(top_srcdir)/src/libguac')
#
# Ogg Vorbis
#
@ -143,6 +149,8 @@ $PACKAGE_NAME version $PACKAGE_VERSION:
"
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([Makefile
src/libguac/Makefile
src/guacd/Makefile])
AC_OUTPUT

View File

@ -1,162 +0,0 @@
#!/bin/sh
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is guacd.
#
# The Initial Developer of the Original Code is
# Michael Jumper.
# Portions created by the Initial Developer are Copyright (C) 2010
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
# guacd
#
# chkconfig: 2345 20 80
# description: Guacamole proxy daemon
### BEGIN INIT INFO
# Provides: guacd
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Guacamole proxy daemon
# Description: The Guacamole proxy daemon, required to translate remote desktop protocols into the text-based Guacamole protocol used by the JavaScript application.
### END INIT INFO
prog="guacd"
exec="/usr/local/sbin/$prog"
pidfile="/var/run/$prog.pid"
# Returns PID of currently running process, if any
getpid() {
if [ -f "$pidfile" ]
then
read PID < "$pidfile"
# If pidfile contains PID and PID is valid
if [ -n "$PID" ] && ps "$PID" > /dev/null 2>&1
then
echo "$PID"
return 0
fi
fi
# pidfile/pid not found, or process is dead
return 1
}
start() {
[ -x $exec ] || exit 5
echo -n "Starting $prog: "
getpid > /dev/null || $exec -p "$pidfile"
retval=$?
case "$retval" in
0)
echo "SUCCESS"
;;
*)
echo "FAIL"
;;
esac
return $retval
}
stop() {
echo -n "Stopping $prog: "
PID=`getpid`
retval=$?
case "$retval" in
0)
if kill $PID > /dev/null 2>&1
then
echo "SUCCESS"
return 0
fi
echo "FAIL"
return 1
;;
*)
echo "SUCCESS (not running)"
return 0
;;
esac
}
restart() {
stop && start
}
force_reload() {
restart
}
status() {
PID=`getpid`
retval=$?
case "$retval" in
0)
echo "$prog is running with PID=$PID."
;;
*)
echo "$prog is not running."
;;
esac
return $retval
}
case "$1" in
start|stop|status|restart|force-reload)
$1
;;
try-restart)
status && restart
;;
*)
echo "Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
exit 2
esac
exit $?

View File

@ -1,4 +1,7 @@
# Compiled init script
init.d/guacd
# Compiled proxy
guacd
guacd.exe

View File

@ -37,14 +37,14 @@
AUTOMAKE_OPTIONS = foreign
initdir = @init_dir@
AM_CFLAGS = -Werror -Wall -pedantic -Iinclude $(LIBGUAC_INCLUDE)
AM_CFLAGS = -Werror -Wall -pedantic $(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
noinst_HEADERS = client.h log.h
guacd_SOURCES = daemon.c client.c log.c
guacd_LDADD = $(LIBGUAC_LTLIB)
EXTRA_DIST = init.d/guacd.in man/guacd.8 LICENSE

View File

@ -36,8 +36,43 @@
AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4
AM_CFLAGS = -Werror -Wall -pedantic -Iguacamole
SUBDIRS = src . tests
libguacincdir = $(includedir)/guacamole
libguacinc_HEADERS = \
guacamole/client.h \
guacamole/error.h \
guacamole/hash.h \
guacamole/instruction.h \
guacamole/layer.h \
guacamole/plugin.h \
guacamole/pool.h \
guacamole/protocol.h \
guacamole/socket.h \
guacamole/stream.h \
guacamole/timestamp.h
EXTRA_DIST = LICENSE doc/Doxyfile
noinst_HEADERS = \
client-handlers.h \
palette.h \
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
lib_LTLIBRARIES = libguac.la
libguac_la_LDFLAGS = -version-info 4:0:0