summaryrefslogtreecommitdiff
path: root/release-linux.sh
blob: 41a7aa3030d93a43a87ba32ba2c7f6b53fd8d881 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/bash
# WARNING: This script might only work with the authors setup...

VERSION=2010.01

set -ex

# svnclean

qmake-qt4 VERSION=$VERSION
make

rm -rf release
mkdir -p release/{bin,lib/openscad,examples}

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 -re 's,.* => ,,; s,[\t ].*,,;' -e '/Qt|boost/ { p; d; };' \
		-e '/lib(audio|CGAL|GLEW|opencsg|png)\.so/ { p; d; };' \
		-e '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 examples/* release/examples/
chmod 644 -R release/examples/*

contact: Jan Huwald // Impressum