Add mechanism for creating binary tarballs
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4274 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/Makefile.am b/Makefile.am
index d8b1ff0..811f5a9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -18,6 +18,12 @@
dmg: all
sh makemacpkg
+tarball: all
+ sh maketarball
+
+servertarball: all
+ sh maketarball server
+
EXTRA_DIST = CMakeLists.txt cmakescripts/getdate.bat LICENCE.TXT \
doc java media release config.h.cmake.in m4
diff --git a/configure.ac b/configure.ac
index c1efa8f..a05e2fd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -224,6 +224,7 @@
AC_SUBST(BUILD)
AC_CONFIG_FILES([makemacpkg:release/makemacpkg.in])
+AC_CONFIG_FILES([maketarball:release/maketarball.in])
AC_OUTPUT([
Makefile
diff --git a/release/BUILDING.txt b/release/BUILDING.txt
index 3f58081..6b2f9db 100644
--- a/release/BUILDING.txt
+++ b/release/BUILDING.txt
@@ -433,6 +433,14 @@
Unix
----
+make tarball
+
+ Create a binary tarball containing the TigerVNC Viewer
+
+make servertarball
+
+ Create a binary tarball containing both the TigerVNC Server and Viewer
+
make dmg
Create Macintosh package/disk image. This requires the PackageMaker
diff --git a/release/maketarball.in b/release/maketarball.in
new file mode 100644
index 0000000..cc836f3
--- /dev/null
+++ b/release/maketarball.in
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+set -u
+set -e
+trap onexit INT
+trap onexit TERM
+trap onexit EXIT
+
+TMPDIR=
+
+onexit()
+{
+ if [ ! "$TMPDIR" = "" ]; then
+ rm -rf $TMPDIR
+ fi
+}
+
+PACKAGE_NAME=@PACKAGE_NAME@
+VERSION=@VERSION@
+BUILD=@BUILD@
+SRCDIR=@srcdir@
+PACKAGE_FILE=$PACKAGE_NAME-`uname -s`-@host_cpu@.tar.gz
+SERVER=0
+
+if [ $# -gt 0 ]; then
+ if [ "$1" = "server" ]; then
+ SERVER=1
+ fi
+fi
+
+umask 022
+TMPDIR=`mktemp -d /tmp/$PACKAGE_NAME-build.XXXXXX`
+rm -f $PACKAGE_FILE
+if [ $SERVER = 1 ]; then
+ make xserver-install prefix=/opt/TigerVNC DESTDIR=$TMPDIR
+else
+ make install prefix=/opt/TigerVNC DESTDIR=$TMPDIR
+fi
+pushd $TMPDIR
+tar cfz $PACKAGE_FILE opt
+popd
+cp $TMPDIR/$PACKAGE_FILE .
+
+exit