summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Pitcher <bradpitcher@gmail.com>2012-02-04 21:14:35 (GMT)
committerBrad Pitcher <bradpitcher@gmail.com>2012-02-04 21:14:35 (GMT)
commit03771dc21ee84ff2ac681cec7782a478709f0d54 (patch)
treede713e6d26e00919e35c1bbb1c59e99efa76bc80
parente725437a5a083ba5fa9e1c53af27f6e84027d656 (diff)
Fix linux releases
-rw-r--r--scripts/chrpath_linux.c3
-rwxr-xr-xscripts/installer-linux.sh (renamed from scripts/release-linux.sh)47
-rwxr-xr-xscripts/openscad-linux8
-rwxr-xr-xscripts/release-common.sh38
4 files changed, 42 insertions, 54 deletions
diff --git a/scripts/chrpath_linux.c b/scripts/chrpath_linux.c
index 685913c..28e3a5e 100644
--- a/scripts/chrpath_linux.c
+++ b/scripts/chrpath_linux.c
@@ -107,9 +107,6 @@
/* Define to the version of this package. */
#define PACKAGE_VERSION ""0.13""
-/* The size of a `void *', as computed by sizeof. */
-#define SIZEOF_VOID_P 4
-
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
diff --git a/scripts/release-linux.sh b/scripts/installer-linux.sh
index e1eb001..8b3fc6d 100755
--- a/scripts/release-linux.sh
+++ b/scripts/installer-linux.sh
@@ -1,41 +1,4 @@
#!/bin/bash
-# WARNING: This script might only work with the authors setup...
-
-VERSION=`date "+%Y.%m.%d"`
-#VERSION=2011.12
-
-set -ex
-
-# svnclean
-
-qmake-qt4 VERSION=$VERSION QMAKE_CXXFLAGS_RELEASE="-O3 -march=pentium"
-make
-
-rm -rf release
-mkdir -p release/{bin,lib/openscad,examples,libraries}
-
-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 scripts/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|gmp|gmpxx|mpfr)\.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 )" )"
@@ -80,13 +43,3 @@ echo "Copying libraries..."
cp -rv libraries/. "$prefix"/share/openscad/libraries/
echo "Installation finished. Have a nice day."
-EOT
-
-chmod 755 -R release/
-
-cp examples/* release/examples/
-chmod 644 -R release/examples/*
-
-cp -R libraries/* release/libraries/
-chmod -R u=rwx,go=r,+X release/libraries/*
-rm -rf `find release/libraries -name ".git"`
diff --git a/scripts/openscad-linux b/scripts/openscad-linux
new file mode 100755
index 0000000..1246199
--- /dev/null
+++ b/scripts/openscad-linux
@@ -0,0 +1,8 @@
+#!/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 "$@"
diff --git a/scripts/release-common.sh b/scripts/release-common.sh
index 72ae29c..80c9795 100755
--- a/scripts/release-common.sh
+++ b/scripts/release-common.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
#
# This script creates a binary release of OpenSCAD.
# This should work under Mac OS X, Windows (msys), and Linux cross-compiling
@@ -24,10 +24,20 @@ printUsage()
echo " Example: $0 -v 2010.01
}
-if [[ $OSTYPE =~ "darwin" ]]; then
+if [[ "$OSTYPE" =~ "darwin" ]]; then
OS=MACOSX
elif [[ $OSTYPE == "msys" ]]; then
OS=WIN
+elif [[ $OSTYPE == "linux-gnu" ]]; then
+ OS=LINUX
+ if [[ `uname -m` == "x86_64" ]]; then
+ ARCH=64
+ else
+ ARCH=32
+ fi
+ echo "Detected ARCH: $ARCH"
+elif [[ $OSTYPE == "mingw-cross-env" ]]; then
+ OS=LINXWIN
fi
echo "Detected OS: $OS"
@@ -47,7 +57,7 @@ fi
echo "Building openscad-$VERSION $CONFIGURATION..."
case $OS in
- MACOSX)
+ LINUX|MACOSX)
CONFIG=deploy
TARGET=
;;
@@ -83,7 +93,7 @@ case $OS in
rm -rf OpenSCAD.app
;;
WIN)
- #if the following files are missing their tried removal stops the build process on msys
+ #if the following files are missing their tried removal stops the build process on msys
touch -t 200012121010 parser_yacc.h parser_yacc.cpp lexer_lex.cpp
;;
esac
@@ -158,4 +168,24 @@ case $OS in
echo "Binary created: OpenSCAD-$VERSION.zip"
echo "Installer created: OpenSCAD-$VERSION-Installer.exe"
;;
+ LINUX)
+ # Do stuff from release-linux.sh
+ mkdir openscad-$VERSION/bin
+ mkdir -p openscad-$VERSION/lib/openscad
+ cp scripts/openscad-linux openscad-$VERSION/bin/openscad
+ cp openscad openscad-$VERSION/lib/openscad/
+ if [[ $ARCH == 64 ]]; then
+ gcc -o chrpath_linux -DSIZEOF_VOID_P=8 scripts/chrpath_linux.c
+ else
+ gcc -o chrpath_linux -DSIZEOF_VOID_P=4 scripts/chrpath_linux.c
+ fi
+ ./chrpath_linux -d openscad-$VERSION/lib/openscad/openscad
+ ldd openscad | sed -re 's,.* => ,,; s,[\t ].*,,;' -e '/Qt|boost/ { p; d; };' \
+ -e '/lib(icu.*|stdc.*|audio|CGAL|GLEW|opencsg|png|gmp|gmpxx|mpfr)\.so/ { p; d; };' \
+ -e 'd;' | xargs cp -vt openscad-$VERSION/lib/openscad/
+ strip openscad-$VERSION/lib/openscad/*
+ cp scripts/installer-linux.sh openscad-$VERSION/install.sh
+ chmod 755 -R openscad-$VERSION/
+ tar cz openscad-$VERSION > openscad-$VERSION.x86-64.tar.gz
+ ;;
esac
contact: Jan Huwald // Impressum