blob: f671ac38b3a17fb586131fd20d0b871293dbba82 [file] [log] [blame]
Brian Silverman8efe23e2013-07-07 23:31:37 -07001#!/bin/bash
2
3set -e
brians343bc112013-02-10 01:53:46 +00004
5AOS=`dirname $0`/..
6EXTERNALS=${AOS}/externals
7
8# get gccdist
9GCCDIST=${EXTERNALS}/gccdist
10[ -f ${GCCDIST}.zip ] || wget ftp://ftp.ni.com/pub/devzone/tut/updated_vxworks63gccdist.zip -O ${GCCDIST}.zip
11[ -d ${GCCDIST} ] || ( cd ${EXTERNALS} && unzip -q ${GCCDIST}.zip )
12
13# get eigen
Brian Silverman8efe23e2013-07-07 23:31:37 -070014EIGEN_VERSION=3.1.3
brians343bc112013-02-10 01:53:46 +000015EIGEN_DIR=${EXTERNALS}/eigen-${EIGEN_VERSION}
16[ -f ${EIGEN_DIR}.tar.bz2 ] || wget http://bitbucket.org/eigen/eigen/get/${EIGEN_VERSION}.tar.bz2 -O ${EIGEN_DIR}.tar.bz2
17[ -d ${EIGEN_DIR} ] || ( mkdir ${EIGEN_DIR} && tar --strip-components=1 -C ${EIGEN_DIR} -xf ${EIGEN_DIR}.tar.bz2 )
18
19# get the javacv binaries
20JAVACV_VERSION=0.2
21JAVACV_DIR=${EXTERNALS}/javacv-bin
22JAVACV_ZIP=${EXTERNALS}/javacv-${JAVACV_VERSION}-bin.zip
23[ -f ${JAVACV_ZIP} ] || wget http://javacv.googlecode.com/files/javacv-${JAVACV_VERSION}-bin.zip -O ${JAVACV_ZIP}
24[ -d ${JAVACV_DIR} ] || ( cd ${EXTERNALS} && unzip ${JAVACV_ZIP} )
25
26# get the simple one-jar template jar
27ONEJAR_VERSION=0.97
28ONEJAR_JAR=${EXTERNALS}/one-jar-boot-${ONEJAR_VERSION}.jar
29[ -f ${ONEJAR_JAR} ] || wget http://sourceforge.net/projects/one-jar/files/one-jar/one-jar-${ONEJAR_VERSION}/one-jar-boot-${ONEJAR_VERSION}.jar/download -O ${ONEJAR_JAR}
30
31# get and build libjpeg
32LIBJPEG_VERSION=8d
33LIBJPEG_DIR=${EXTERNALS}/jpeg-${LIBJPEG_VERSION}
34# NOTE: this directory ends up in #include names
35LIBJPEG_PREFIX=${EXTERNALS}/libjpeg
36LIBJPEG_LIB=${LIBJPEG_PREFIX}/lib/libjpeg.a
37LIBJPEG_TAR=${EXTERNALS}/jpegsrc.v${LIBJPEG_VERSION}.tar.gz
38[ -f ${LIBJPEG_TAR} ] || wget http://www.ijg.org/files/jpegsrc.v${LIBJPEG_VERSION}.tar.gz -O ${LIBJPEG_TAR}
39[ -d ${LIBJPEG_DIR} ] || ( mkdir ${LIBJPEG_DIR} && tar --strip-components=1 -C ${LIBJPEG_DIR} -xf ${LIBJPEG_TAR} )
40[ -f ${LIBJPEG_LIB} ] || env -i PATH="${PATH}" bash -c "cd ${LIBJPEG_DIR} && CFLAGS='-m32' ./configure --disable-shared --prefix=`readlink -f ${LIBJPEG_PREFIX}` && make && make install"
41
42# get gtest
43GTEST_VERSION=1.6.0
44GTEST_DIR=${EXTERNALS}/gtest-${GTEST_VERSION}-p1
45GTEST_ZIP=${EXTERNALS}/gtest-${GTEST_VERSION}.zip
46TMPDIR=/tmp/$$-aos-tmpdir
47[ -f ${GTEST_ZIP} ] || wget http://googletest.googlecode.com/files/gtest-${GTEST_VERSION}.zip -O ${GTEST_ZIP}
48[ -d ${GTEST_DIR} ] || ( unzip ${GTEST_ZIP} -d ${TMPDIR} && mv ${TMPDIR}/gtest-${GTEST_VERSION} ${GTEST_DIR} && cd ${GTEST_DIR} && patch -p1 < ../gtest.patch )
49
50# get and build ctemplate
Brian Silverman8efe23e2013-07-07 23:31:37 -070051# This is the next revision after the 2.2 release and it only adds spaces to
52# make gcc 4.7 with --std=c++11 happy (user-defined string literals...).
53CTEMPLATE_VERSION=129
brians343bc112013-02-10 01:53:46 +000054CTEMPLATE_DIR=${EXTERNALS}/ctemplate-${CTEMPLATE_VERSION}
55CTEMPLATE_PREFIX=${CTEMPLATE_DIR}-prefix
56CTEMPLATE_LIB=${CTEMPLATE_PREFIX}/lib/libctemplate.a
Brian Silverman8efe23e2013-07-07 23:31:37 -070057CTEMPLATE_URL=http://ctemplate.googlecode.com
58if [[ "${CTEMPLATE_VERSION}" =~ /\./ ]]; then
59 CTEMPLATE_URL=${CTEMPLATE_URL}/files/ctemplate-${CTEMPLATE_VERSION}.tar.gz
60 [ -f ${CTEMPLATE_DIR}.tar.gz ] || \
61 wget ${CTEMPLATE_URL} -O ${CTEMPLATE_DIR}.tar.gz
62 [ -d ${CTEMPLATE_DIR} ] || ( mkdir ${CTEMPLATE_DIR} && tar \
63 --strip-components=1 -C ${CTEMPLATE_DIR} -xf ${CTEMPLATE_DIR}.tar.gz )
64else
65 CTEMPLATE_URL=${CTEMPLATE_URL}/svn/trunk
66 [ -d ${CTEMPLATE_DIR} ] || \
67 svn checkout ${CTEMPLATE_URL} -r ${CTEMPLATE_VERSION} ${CTEMPLATE_DIR}
68fi
brians343bc112013-02-10 01:53:46 +000069[ -f ${CTEMPLATE_LIB} ] || env -i PATH="${PATH}" \
70 CFLAGS='-m32' CXXFLAGS='-m32' LDFLAGS='-m32' \
71 bash -c "cd ${CTEMPLATE_DIR} && ./configure --disable-shared \
72 --prefix=`readlink -f ${CTEMPLATE_PREFIX}` && make && make install"
Brian Silverman798c7782013-03-28 16:48:02 -070073
74# get and build gflags
75GFLAGS_VERSION=2.0
76GFLAGS_DIR=${EXTERNALS}/gflags-${GFLAGS_VERSION}
77GFLAGS_PREFIX=${GFLAGS_DIR}-prefix
78GFLAGS_LIB=${GFLAGS_PREFIX}/lib/libgflags.a
79GFLAGS_URL=https://gflags.googlecode.com/files/gflags-${GFLAGS_VERSION}.tar.gz
80[ -f ${GFLAGS_DIR}.tar.gz ] || wget ${GFLAGS_URL} -O ${GFLAGS_DIR}.tar.gz
81[ -d ${GFLAGS_DIR} ] || ( mkdir ${GFLAGS_DIR} && tar \
82 --strip-components=1 -C ${GFLAGS_DIR} -xf ${GFLAGS_DIR}.tar.gz )
83[ -f ${GFLAGS_LIB} ] || env -i PATH="${PATH}" \
84 CFLAGS='-m32' CXXFLAGS='-m32' LDFLAGS='-m32' \
85 bash -c "cd ${GFLAGS_DIR} && ./configure \
86 --prefix=`readlink -f ${GFLAGS_PREFIX}` && make && make install"
87
88# get and build libusb
89LIBUSB_VERSION=1.0.9
90LIBUSB_APIVERSION=1.0
91LIBUSB_DIR=${EXTERNALS}/libusb-${LIBUSB_VERSION}
92LIBUSB_PREFIX=${LIBUSB_DIR}-prefix
93LIBUSB_LIB=${LIBUSB_PREFIX}/lib/libusb-${LIBUSB_APIVERSION}.a
94LIBUSB_URL=http://sourceforge.net/projects/libusb/files/libusb-${LIBUSB_APIVERSION}/libusb-${LIBUSB_VERSION}/libusb-${LIBUSB_VERSION}.tar.bz2
95[ -f ${LIBUSB_DIR}.tar.bz2 ] || wget ${LIBUSB_URL} -O ${LIBUSB_DIR}.tar.bz2
96[ -d ${LIBUSB_DIR} ] || ( mkdir ${LIBUSB_DIR} && tar \
97 --strip-components=1 -C ${LIBUSB_DIR} -xf ${LIBUSB_DIR}.tar.bz2 )
98[ -f ${LIBUSB_LIB} ] || env -i PATH="${PATH}" \
99 CFLAGS='-m32' CXXFLAGS='-m32' LDFLAGS='-m32' \
100 bash -c "cd ${LIBUSB_DIR} && ./configure \
101 --prefix=`readlink -f ${LIBUSB_PREFIX}` && make && make install"
Brian Silverman6137a502013-04-22 15:41:36 -0700102
103# get the LLVM Compiler-RT source
104COMPILER_RT_TAG=RELEASE_32/final
105COMPILER_RT_VERSION=`echo ${COMPILER_RT_TAG} | sed s:/:_:`
106COMPILER_RT_DIR=${EXTERNALS}/compiler-rt-${COMPILER_RT_VERSION}
107COMPILER_RT_URL=http://llvm.org/svn/llvm-project/compiler-rt/tags/${COMPILER_RT_TAG}
108[ -d ${COMPILER_RT_DIR} ] || svn checkout ${COMPILER_RT_URL} ${COMPILER_RT_DIR}
Brian Silverman8efe23e2013-07-07 23:31:37 -0700109
110# get and build libevent
111LIBEVENT_VERSION=2.0.21
112LIBEVENT_DIR=${EXTERNALS}/libevent-${LIBEVENT_VERSION}
113LIBEVENT_PREFIX=${LIBEVENT_DIR}-prefix
114LIBEVENT_LIB=${LIBEVENT_PREFIX}/lib/libevent.a
115LIBEVENT_URL=https://github.com/downloads/libevent/libevent
116LIBEVENT_URL=${LIBEVENT_URL}/libevent-${LIBEVENT_VERSION}-stable.tar.gz
117[ -f ${LIBEVENT_DIR}.tar.gz ] || wget ${LIBEVENT_URL} -O ${LIBEVENT_DIR}.tar.gz
118[ -d ${LIBEVENT_DIR} ] || ( mkdir ${LIBEVENT_DIR} && tar \
119 --strip-components=1 -C ${LIBEVENT_DIR} -xf ${LIBEVENT_DIR}.tar.gz )
120[ -f ${LIBEVENT_LIB} ] || env -i PATH="${PATH}" \
121 CFLAGS='-m32' CXXFLAGS='-m32' LDFLAGS='-m32' \
122 bash -c "cd ${LIBEVENT_DIR} && ./configure \
123 --prefix=`readlink -f ${LIBEVENT_PREFIX}` && make && make install"