Build guacd and libguac.
This commit is contained in:
parent
4c089caeb9
commit
1d3fa12747
@ -37,6 +37,5 @@
|
|||||||
ACLOCAL_AMFLAGS = -I m4
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
|
||||||
# Subprojects
|
# Subprojects
|
||||||
DIST_SUBDIRS = libguac guacd protocols/vnc protocols/rdp protocols/ssh protocols/spice
|
SUBDIRS = src/libguac src/guacd
|
||||||
SUBDIRS = libguac guacd $(PROTOCOL_DIRS)
|
|
||||||
|
|
||||||
|
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([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([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([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([cunit], [CU_run_test], [CUNIT_LIBS=-lcunit])
|
||||||
AC_CHECK_LIB([wsock32], [main])
|
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_SIZE_T
|
||||||
AC_TYPE_SSIZE_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
|
# 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
|
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
|
# Compiled proxy
|
||||||
guacd
|
guacd
|
||||||
guacd.exe
|
guacd.exe
|
||||||
|
@ -37,14 +37,14 @@
|
|||||||
AUTOMAKE_OPTIONS = foreign
|
AUTOMAKE_OPTIONS = foreign
|
||||||
initdir = @init_dir@
|
initdir = @init_dir@
|
||||||
|
|
||||||
AM_CFLAGS = -Werror -Wall -pedantic -Iinclude $(LIBGUAC_INCLUDE)
|
AM_CFLAGS = -Werror -Wall -pedantic $(LIBGUAC_INCLUDE)
|
||||||
|
|
||||||
sbin_PROGRAMS = guacd
|
sbin_PROGRAMS = guacd
|
||||||
init_SCRIPTS = init.d/guacd
|
init_SCRIPTS = init.d/guacd
|
||||||
man_MANS = man/guacd.8
|
man_MANS = man/guacd.8
|
||||||
|
|
||||||
noinst_HEADERS = include/client.h include/log.h
|
noinst_HEADERS = client.h log.h
|
||||||
guacd_SOURCES = src/daemon.c src/client.c src/log.c
|
guacd_SOURCES = daemon.c client.c log.c
|
||||||
guacd_LDADD = $(LIBGUAC_LTLIB)
|
guacd_LDADD = $(LIBGUAC_LTLIB)
|
||||||
|
|
||||||
EXTRA_DIST = init.d/guacd.in man/guacd.8 LICENSE
|
EXTRA_DIST = init.d/guacd.in man/guacd.8 LICENSE
|
||||||
|
@ -36,8 +36,43 @@
|
|||||||
|
|
||||||
AUTOMAKE_OPTIONS = foreign
|
AUTOMAKE_OPTIONS = foreign
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
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