Newer
Older
#!/bin/bash
set -ex
DOWNLOADS=${DOWNLOADS:-${HOME}/Downloads}
mkdir -p ${DOWNLOADS}
TARGET=target
PACKAGELIB=${TARGET}/lib
THRIFT_VERSION=0.7.0
THRIFT_PKG=thrift-${THRIFT_VERSION}.tar.gz
THRIFT_PKG_HOST=http://apache.osuosl.org/thrift/${THRIFT_VERSION}
if [ ! -d thrift ]; then
if [ ! -f ${DOWNLOADS}/${THRIFT_PKG} ]; then
if [ -e /usr/bin/curl ]; then
curl ${THRIFT_PKG_HOST}/${THRIFT_PKG} -o ${DOWNLOADS}/${THRIFT_PKG}
else
wget -nc http://download.nextag.com/apache/thrift/${THRIFT_VERSION}/${THRIFT_PKG}
mv ${THRIFT_PKG} ${DOWNLOADS}/.
fi
fi
rm -rf thrift-${THRIFT_VERSION}
tar -z -x -f ${DOWNLOADS}/${THRIFT_PKG}
mv thrift-${THRIFT_VERSION} thrift
fi
if [ ! -f ${PACKAGELIB}/libthrift-${THRIFT_VERSION}.jar -o ! -f thrift/compiler/cpp/thrift ]; then
(
cd thrift
chmod +x ./configure
./configure --with-cpp=no --with-erlang=no --with-perl=no --with-php=no --with-php_extension=no --with-ruby=no --with-haskell=no
ARCHFLAGS="-arch i386 -arch x86_64" make -j4 all
cd lib/java
ant
)
mkdir -p ${PACKAGELIB}
cp thrift/lib/java/build/libthrift-${THRIFT_VERSION}.jar ${PACKAGELIB}
./thrift/compiler/cpp/thrift --gen py --gen java -o ${TARGET} src/main/thrift/packetstreamer.thrift