summaryrefslogtreecommitdiff
path: root/release-linux.sh
diff options
context:
space:
mode:
Diffstat (limited to 'release-linux.sh')
-rw-r--r--release-linux.sh78
1 files changed, 78 insertions, 0 deletions
diff --git a/release-linux.sh b/release-linux.sh
new file mode 100644
index 0000000..fc6e6c4
--- /dev/null
+++ b/release-linux.sh
@@ -0,0 +1,78 @@
+#!/bin/sh
+# WARNING: This script might only work with the authors setup...
+
+set -ex
+
+svnclean
+
+qmake
+make
+
+rm -rf release
+mkdir -p release/{bin,lib/openscad}
+
+cat > release/bin/openscad << "EOT"
+#!/bin/bash
+
+cd "$( dirname "$( type -p $0 )" )"
+libdir=$PWD/../lib/openscad/
+cd "$OLDPWD"
+
+export LD_LIBRARY_PATH="$libdir${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
+exec $libdir/openscad "$@"
+EOT
+
+cp openscad release/lib/openscad/
+gcc -o chrpath_linux chrpath_linux.c
+./chrpath_linux -d release/lib/openscad/openscad
+
+ldd openscad | sed -r 's,.* => ,,; s,[\t ].*,,; /./ ! d; /libGLcore/ d; /libnvidia/ d;' | xargs cp -vt release/lib/openscad/
+strip release/lib/openscad/*
+
+cat > release/install.sh << "EOT"
+#!/bin/bash
+
+# change to the install source directory
+cd "$( dirname "$( type -p $0 )" )"
+
+if ! [ -f bin/openscad -a -d lib/openscad -a -d examples ]; then
+ echo "Error: Can't change to install source directory!" >&2
+ exit 1
+fi
+
+echo "This will install openscad. Please enter the install prefix"
+echo "or press Ctrl-C to abort the install process:"
+read -p "[/usr/local]: " prefix
+
+if [ "$prefix" = "" ]; then
+ prefix="/usr/local"
+fi
+
+if [ ! -d "$prefix" ]; then
+ echo; echo "Install prefix \`$prefix' does not exist. Press ENTER to continue"
+ echo "or press Ctrl-C to abort the install process:"
+ read -p "press enter to continue> "
+fi
+
+mkdir -p "$prefix"/{bin,lib/openscad}
+
+if ! [ -w "$prefix"/bin/ -a -w "$prefix"/lib/ ]; then
+ echo "You does not seam to have write permissions for prefix \`$prefix'!" >&2
+ echo "Maybe you should have run this install script using \`sudo'?" >&2
+ exit 1
+fi
+
+echo "Copying application wrappers..."
+cp -rv bin/. "$prefix"/bin/
+
+echo "Copying application and libraries..."
+cp -rv lib/. "$prefix"/lib/
+
+echo "Installation finished. Have a nice day."
+EOT
+
+chmod 755 -R release/
+
+cp -r examples release/
+chmod 644 -R release/examples/*
+
contact: Jan Huwald // Impressum