diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2013-02-15 08:44:41 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2013-02-15 08:44:41 +0200 |
commit | d845f920ec1f5cd6ef5a95366383e74725912441 (patch) | |
tree | 2969ea00c3dbb1553cde248fc918cfb241f361f6 /binary/darwin/build-dist | |
parent | a4a5194f4ffc82aa817f4b8e2d4f6d29dac1a0b9 (diff) |
Add Mac OS X ODB binary build scripts
Diffstat (limited to 'binary/darwin/build-dist')
-rwxr-xr-x | binary/darwin/build-dist | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/binary/darwin/build-dist b/binary/darwin/build-dist new file mode 100755 index 0000000..ccbe0a7 --- /dev/null +++ b/binary/darwin/build-dist @@ -0,0 +1,192 @@ +#! /usr/bin/env bash + +# Create ODB compiler Darwin distribution. +# +# -rebuild +# -arch +# +trap 'exit 1' ERR + +function error () +{ + echo "$*" 1>&2 +} + +rebuild=n + +arch=i686-apple-darwin8 +rebuild=n + +while [ $# -gt 0 ]; do + case $1 in + -rebuild) + rebuild=y + shift + ;; + -arch) + shift + arch=$1 + shift + ;; + *) + error "unknown option: $1" + exit 1 + ;; + esac +done + +wd=`pwd` +cpu=`echo $arch | sed -e 's/^\([^-]*\)-.*$/\1/'` + +cver=`echo libcutl-?.*.tar.gz | sed -e "s%libcutl-\(.*\).tar.gz%\1%"` +over=`echo odb-?.*.tar.gz | sed -e "s%odb-\(.*\).tar.gz%\1%"` +mver=`echo $over | sed -e 's%\([0-9]*\.[0-9]*\).*%\1%'` + +install_root="/tmp/odb-$over-$cpu-macosx" + +# Using older version of GCC (newer one have trouble with old as). +# +export PATH=/$arch-4.5.1/bin:$PATH + +# Clean everything up if we are rebuilding. +# +if [ $rebuild = y ]; then + rm -rf libcutl + rm -rf odb odb-build-d odb-build-p + rm -rf $install_root + rm -rf libodb + rm -rf libodb-boost + rm -rf libodb-qt + + if [ ! -d ../boost-binary ]; then + error "no boost distribution in ../boost-binary" + exit 1 + fi + + tar xfz libcutl-$cver.tar.gz + mv libcutl-$cver libcutl + + tar xfz odb-$over.tar.gz + mv odb-$over odb + + libodb=`echo libodb-$mver.*.tar.gz | sed -e 's%\(.*\)\.tar\.gz%\1%'` + tar xfz $libodb.tar.gz + mv $libodb libodb + + libodb_boost=`echo libodb-boost-$mver.*.tar.gz | sed -e 's%\(.*\)\.tar\.gz%\1%'` + tar xfz $libodb_boost.tar.gz + mv $libodb_boost libodb-boost + + libodb_qt=`echo libodb-qt-$mver.*.tar.gz | sed -e 's%\(.*\)\.tar\.gz%\1%'` + tar xfz $libodb_qt.tar.gz + mv $libodb_qt libodb-qt +fi + +rm -f /tmp/odb-$over-$cpu-macosx.tar.bz2 + +mkdir -p odb-build-d +mkdir -p odb-build-p + +# Build libcutl +# +cd libcutl + +if [ $rebuild = y ]; then + ../libcutl-configure +fi + +make +cd .. + +# Build odb plugin +# +cd odb-build-p + +if [ $rebuild = y ]; then + ../odb-configure p $arch $install_root +fi + +make +make install-strip +cd .. + +# Build odb driver +# +cd odb-build-d + +if [ $rebuild = y ]; then + ../odb-configure d $arch $install_root +fi + +make -C odb odb +cp odb/odb $install_root/bin/ +cd .. + +# Build libodb +# +cd libodb + +if [ $rebuild = y ]; then + ../libodb-configure $install_root/lib/odb/$arch +fi + +make +cd odb +make install-data +cd ../.. + +# Build libodb-boost +# +cd libodb-boost + +if [ $rebuild = y ]; then + ../libodb-boost-configure $install_root/lib/odb/$arch +fi + +make +make install-data +cd .. + +# Build libodb-qt +# +cd libodb-qt + +if [ $rebuild = y ]; then + ../libodb-qt-configure $install_root/lib/odb/$arch +fi + +make +make install-data +cd .. + +# Copy /$arch over to installation +# +cp -r /$arch $install_root/lib/odb/ + +# Copy the default options file. +# +mkdir -p $install_root/etc/odb +cp ./default.options $install_root/etc/odb/ + +# Copy manifest and README. +# +cp manifest $install_root/lib/odb/$arch/ +cp README $install_root/ + + +# Move doc and man out of share/ +# +rm -rf $install_root/doc $install_root/man +mv $install_root/share/man $install_root/ +mv $install_root/share/doc/odb $install_root/doc +rm -r $install_root/share + +# Clean some things up. +# +rm -f `find $install_root -name '*.la'` + +# Pack it up. +# +cd /tmp +tar cfj $wd/test/odb-$over-$cpu-macosx.tar.bz2 odb-$over-$cpu-macosx +cd $wd |