diff options
author | 2013-02-01 20:48:16 -0800 | |
---|---|---|
committer | 2013-02-01 20:50:28 -0800 | |
commit | 7fb28de9ca941950794bceddeb27cf975360b33b (patch) | |
tree | d594de702200f6490d4e9a67f0c7f282936bd7f5 | |
parent | aa32ffa7b46496ed639057b30d4f49ea53df7ec9 (diff) |
Build script for CTemplate
-rwxr-xr-x | scripts/prepare-ctemplate-macos.sh | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/scripts/prepare-ctemplate-macos.sh b/scripts/prepare-ctemplate-macos.sh new file mode 100755 index 00000000..9ee31b80 --- /dev/null +++ b/scripts/prepare-ctemplate-macos.sh @@ -0,0 +1,97 @@ +#!/bin/sh + +version='2.2' +url="http://ctemplate.googlecode.com/files/ctemplate-$version.tar.gz" +package_filename="ctemplate-$version.tar.gz" + +arch="i386 x86_64" +sysrootpath="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk" + +arch_flags="" +for current_arch in $arch ; do + arch_flags="$arch_flags -arch $current_arch" +done + +builddir="$HOME/MailCore-Builds/dependencies" +BUILD_TIMESTAMP=`date +'%Y%m%d%H%M%S'` +tempbuilddir="$builddir/workdir/$BUILD_TIMESTAMP" +mkdir -p "$tempbuilddir" +srcdir="$tempbuilddir/src" +logdir="$tempbuilddir/log" +resultdir="$builddir/builds" +tmpdir="$tempbuilddir/tmp" + +if test -f "$resultdir/ctemplate-$version.zip" ; then + echo install from cache + rm -rf ../Externals/ctemplate + mkdir -p ../Externals/tmp + unzip -q "$resultdir/ctemplate-$version.zip" -d ../Externals/tmp + mv "../Externals/tmp/ctemplate-$version/ctemplate" ../Externals + rm -rf ../Externals/tmp + exit 0 +fi + +mkdir -p "$resultdir" +mkdir -p "$logdir" +mkdir -p "$tmpdir" +mkdir -p "$srcdir" + +pushd . >/dev/null + +echo get CTemplate +cd "$srcdir" +if test -f "$builddir/downloads/$package_filename" ; then + cp "$builddir/downloads/$package_filename" . +else + curl -O "$url" + if test x$? != x0 ; then + echo fetch of ctemplate failed + exit 1 + fi + mkdir -p "$builddir/downloads" + cp "$package_filename" "$builddir/downloads" +fi + +tar xf "$package_filename" + +echo building CTemplate +cd "$srcdir/ctemplate-$version" +export CFLAGS="$arch_flags -isysroot $sysrootpath -mfix-and-continue -mmacosx-version-min=10.7" +export CXXFLAGS="$arch_flags -isysroot $sysrootpath -mfix-and-continue -mmacosx-version-min=10.7" +export LDLAGS="$arch_flags -isysroot $sysrootpath -mfix-and-continue -mmacosx-version-min=10.7" +./configure --disable-shared --disable-dependency-tracking >> "$logdir/ctemplate-build.log" +make libctemplate.la >> "$logdir/ctemplate-build.log" +make libctemplate_nothreads.la >> "$logdir/ctemplate-build.log" +make install-libLTLIBRARIES "prefix=$tmpdir/bin/ctemplate" >> "$logdir/ctemplate-build.log" +if test x$? != x0 ; then + echo build of ctemplate failed + exit 1 +fi + +make install-nodist_ctemplateincludeHEADERS "prefix=$tmpdir/bin/ctemplate" >> "$logdir/ctemplate-build.log" +if test x$? != x0 ; then + echo install of ctemplate failed + exit 1 +fi + +cd "$tmpdir/bin" +mkdir -p "ctemplate-$version" +mv ctemplate "ctemplate-$version" +rm -f "$resultdir/ctemplate-$version.zip" +zip -qry "$resultdir/ctemplate-$version.zip" "ctemplate-$version" +rm -f "$resultdir/ctemplate-latest.zip" +cd "$resultdir" +ln -s "ctemplate-$version.zip" "ctemplate-latest.zip" + +echo build of ctemplate-$version done + +popd + +rm -rf ../Externals/ctemplate +mkdir -p ../Externals/tmp +unzip -q "$resultdir/ctemplate-$version.zip" -d ../Externals/tmp +mv "../Externals/tmp/ctemplate-$version/ctemplate" ../Externals +rm -rf ../Externals/tmp + +echo cleaning +rm -rf "$tempbuilddir" |