Build guacd and libguac.
This commit is contained in:
parent
4c089caeb9
commit
1d3fa12747
@ -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
|
||||
|
||||
|
12
configure.ac
12
configure.ac
@ -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
|
||||
|
||||
|
162
init.d/guacd
162
init.d/guacd
@ -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 $?
|
||||
|
3
src/guacd/.gitignore
vendored
3
src/guacd/.gitignore
vendored
@ -1,4 +1,7 @@
|
||||
|
||||
# Compiled init script
|
||||
init.d/guacd
|
||||
|
||||
# Compiled proxy
|
||||
guacd
|
||||
guacd.exe
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user