Brian Silverman | 8efe23e | 2013-07-07 23:31:37 -0700 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | set -e |
brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame] | 4 | |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 5 | AOS=$(readlink -f $(dirname $0)/..) |
| 6 | . $(dirname $0)/tools_config |
| 7 | |
| 8 | TMPDIR=/tmp/$$-aos-tmpdir |
| 9 | mkdir -p ${EXTERNALS} |
| 10 | mkdir -p ${COMPILED} |
| 11 | |
| 12 | # get and build ninja |
| 13 | [ -d ${NINJA_DIR} ] || git clone --branch ${NINJA_RELEASE} https://github.com/martine/ninja.git ${NINJA_DIR} |
| 14 | [ -x ${NINJA} ] || ${NINJA_DIR}/bootstrap.py |
| 15 | |
| 16 | # get gyp |
| 17 | [ -d ${GYP_DIR} ] || ( svn co http://gyp.googlecode.com/svn/trunk -r ${GYP_REVISION} ${GYP_DIR} && patch -p1 -d ${GYP_DIR} < ${AOS}/externals/gyp.patch ) |
brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame] | 18 | |
| 19 | # get gccdist |
| 20 | GCCDIST=${EXTERNALS}/gccdist |
| 21 | [ -f ${GCCDIST}.zip ] || wget ftp://ftp.ni.com/pub/devzone/tut/updated_vxworks63gccdist.zip -O ${GCCDIST}.zip |
| 22 | [ -d ${GCCDIST} ] || ( cd ${EXTERNALS} && unzip -q ${GCCDIST}.zip ) |
| 23 | |
| 24 | # get eigen |
Brian Silverman | 8efe23e | 2013-07-07 23:31:37 -0700 | [diff] [blame] | 25 | EIGEN_VERSION=3.1.3 |
brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame] | 26 | EIGEN_DIR=${EXTERNALS}/eigen-${EIGEN_VERSION} |
| 27 | [ -f ${EIGEN_DIR}.tar.bz2 ] || wget http://bitbucket.org/eigen/eigen/get/${EIGEN_VERSION}.tar.bz2 -O ${EIGEN_DIR}.tar.bz2 |
| 28 | [ -d ${EIGEN_DIR} ] || ( mkdir ${EIGEN_DIR} && tar --strip-components=1 -C ${EIGEN_DIR} -xf ${EIGEN_DIR}.tar.bz2 ) |
| 29 | |
| 30 | # get the javacv binaries |
| 31 | JAVACV_VERSION=0.2 |
| 32 | JAVACV_DIR=${EXTERNALS}/javacv-bin |
| 33 | JAVACV_ZIP=${EXTERNALS}/javacv-${JAVACV_VERSION}-bin.zip |
| 34 | [ -f ${JAVACV_ZIP} ] || wget http://javacv.googlecode.com/files/javacv-${JAVACV_VERSION}-bin.zip -O ${JAVACV_ZIP} |
| 35 | [ -d ${JAVACV_DIR} ] || ( cd ${EXTERNALS} && unzip ${JAVACV_ZIP} ) |
| 36 | |
| 37 | # get the simple one-jar template jar |
| 38 | ONEJAR_VERSION=0.97 |
| 39 | ONEJAR_JAR=${EXTERNALS}/one-jar-boot-${ONEJAR_VERSION}.jar |
| 40 | [ -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} |
| 41 | |
| 42 | # get and build libjpeg |
| 43 | LIBJPEG_VERSION=8d |
| 44 | LIBJPEG_DIR=${EXTERNALS}/jpeg-${LIBJPEG_VERSION} |
| 45 | # NOTE: this directory ends up in #include names |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 46 | LIBJPEG_PREFIX=${COMPILED}/libjpeg |
brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame] | 47 | LIBJPEG_LIB=${LIBJPEG_PREFIX}/lib/libjpeg.a |
| 48 | LIBJPEG_TAR=${EXTERNALS}/jpegsrc.v${LIBJPEG_VERSION}.tar.gz |
| 49 | [ -f ${LIBJPEG_TAR} ] || wget http://www.ijg.org/files/jpegsrc.v${LIBJPEG_VERSION}.tar.gz -O ${LIBJPEG_TAR} |
| 50 | [ -d ${LIBJPEG_DIR} ] || ( mkdir ${LIBJPEG_DIR} && tar --strip-components=1 -C ${LIBJPEG_DIR} -xf ${LIBJPEG_TAR} ) |
| 51 | [ -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" |
| 52 | |
| 53 | # get gtest |
| 54 | GTEST_VERSION=1.6.0 |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 55 | GTEST_DIR=${EXTERNALS}/gtest-${GTEST_VERSION} |
brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame] | 56 | GTEST_ZIP=${EXTERNALS}/gtest-${GTEST_VERSION}.zip |
brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame] | 57 | [ -f ${GTEST_ZIP} ] || wget http://googletest.googlecode.com/files/gtest-${GTEST_VERSION}.zip -O ${GTEST_ZIP} |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 58 | [ -d ${GTEST_DIR} ] || ( unzip ${GTEST_ZIP} -d ${TMPDIR} && mv ${TMPDIR}/gtest-${GTEST_VERSION} ${GTEST_DIR} && cd ${GTEST_DIR} && patch -p1 < ${AOS}/externals/gtest.patch ) |
brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame] | 59 | |
| 60 | # get and build ctemplate |
Brian Silverman | 8efe23e | 2013-07-07 23:31:37 -0700 | [diff] [blame] | 61 | # This is the next revision after the 2.2 release and it only adds spaces to |
| 62 | # make gcc 4.7 with --std=c++11 happy (user-defined string literals...). |
| 63 | CTEMPLATE_VERSION=129 |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 64 | CTEMPLATE_TAR=${EXTERNALS}/ctemplate-${CTEMPLATE_VERSION}.tar.gz |
| 65 | CTEMPLATE_DIR=${COMPILED}/ctemplate-${CTEMPLATE_VERSION} |
brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame] | 66 | CTEMPLATE_PREFIX=${CTEMPLATE_DIR}-prefix |
| 67 | CTEMPLATE_LIB=${CTEMPLATE_PREFIX}/lib/libctemplate.a |
Brian Silverman | 8efe23e | 2013-07-07 23:31:37 -0700 | [diff] [blame] | 68 | CTEMPLATE_URL=http://ctemplate.googlecode.com |
| 69 | if [[ "${CTEMPLATE_VERSION}" =~ /\./ ]]; then |
| 70 | CTEMPLATE_URL=${CTEMPLATE_URL}/files/ctemplate-${CTEMPLATE_VERSION}.tar.gz |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 71 | [ -f ${CTEMPLATE_TAR} ] || \ |
| 72 | wget ${CTEMPLATE_URL} -O ${CTEMPLATE_TAR} |
Brian Silverman | 8efe23e | 2013-07-07 23:31:37 -0700 | [diff] [blame] | 73 | [ -d ${CTEMPLATE_DIR} ] || ( mkdir ${CTEMPLATE_DIR} && tar \ |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 74 | --strip-components=1 -C ${CTEMPLATE_DIR} -xf ${CTEMPLATE_TAR} ) |
Brian Silverman | 8efe23e | 2013-07-07 23:31:37 -0700 | [diff] [blame] | 75 | else |
| 76 | CTEMPLATE_URL=${CTEMPLATE_URL}/svn/trunk |
| 77 | [ -d ${CTEMPLATE_DIR} ] || \ |
| 78 | svn checkout ${CTEMPLATE_URL} -r ${CTEMPLATE_VERSION} ${CTEMPLATE_DIR} |
| 79 | fi |
brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame] | 80 | [ -f ${CTEMPLATE_LIB} ] || env -i PATH="${PATH}" \ |
| 81 | CFLAGS='-m32' CXXFLAGS='-m32' LDFLAGS='-m32' \ |
| 82 | bash -c "cd ${CTEMPLATE_DIR} && ./configure --disable-shared \ |
| 83 | --prefix=`readlink -f ${CTEMPLATE_PREFIX}` && make && make install" |
Brian Silverman | 798c778 | 2013-03-28 16:48:02 -0700 | [diff] [blame] | 84 | |
| 85 | # get and build gflags |
| 86 | GFLAGS_VERSION=2.0 |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 87 | GFLAGS_TAR=${EXTERNALS}/gflags-${GFLAGS_VERSION}.tar.gz |
| 88 | GFLAGS_DIR=${COMPILED}/gflags-${GFLAGS_VERSION} |
Brian Silverman | 798c778 | 2013-03-28 16:48:02 -0700 | [diff] [blame] | 89 | GFLAGS_PREFIX=${GFLAGS_DIR}-prefix |
| 90 | GFLAGS_LIB=${GFLAGS_PREFIX}/lib/libgflags.a |
| 91 | GFLAGS_URL=https://gflags.googlecode.com/files/gflags-${GFLAGS_VERSION}.tar.gz |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 92 | [ -f ${GFLAGS_TAR} ] || wget ${GFLAGS_URL} -O ${GFLAGS_TAR} |
Brian Silverman | 798c778 | 2013-03-28 16:48:02 -0700 | [diff] [blame] | 93 | [ -d ${GFLAGS_DIR} ] || ( mkdir ${GFLAGS_DIR} && tar \ |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 94 | --strip-components=1 -C ${GFLAGS_DIR} -xf ${GFLAGS_TAR} ) |
Brian Silverman | 798c778 | 2013-03-28 16:48:02 -0700 | [diff] [blame] | 95 | [ -f ${GFLAGS_LIB} ] || env -i PATH="${PATH}" \ |
| 96 | CFLAGS='-m32' CXXFLAGS='-m32' LDFLAGS='-m32' \ |
| 97 | bash -c "cd ${GFLAGS_DIR} && ./configure \ |
| 98 | --prefix=`readlink -f ${GFLAGS_PREFIX}` && make && make install" |
| 99 | |
| 100 | # get and build libusb |
| 101 | LIBUSB_VERSION=1.0.9 |
| 102 | LIBUSB_APIVERSION=1.0 |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 103 | LIBUSB_TAR=${EXTERNALS}/libusb-${LIBUSB_VERSION}.tar.bz2 |
| 104 | LIBUSB_DIR=${COMPILED}/libusb-${LIBUSB_VERSION} |
Brian Silverman | 798c778 | 2013-03-28 16:48:02 -0700 | [diff] [blame] | 105 | LIBUSB_PREFIX=${LIBUSB_DIR}-prefix |
| 106 | LIBUSB_LIB=${LIBUSB_PREFIX}/lib/libusb-${LIBUSB_APIVERSION}.a |
| 107 | LIBUSB_URL=http://sourceforge.net/projects/libusb/files/libusb-${LIBUSB_APIVERSION}/libusb-${LIBUSB_VERSION}/libusb-${LIBUSB_VERSION}.tar.bz2 |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 108 | [ -f ${LIBUSB_TAR} ] || wget ${LIBUSB_URL} -O ${LIBUSB_TAR} |
Brian Silverman | 798c778 | 2013-03-28 16:48:02 -0700 | [diff] [blame] | 109 | [ -d ${LIBUSB_DIR} ] || ( mkdir ${LIBUSB_DIR} && tar \ |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 110 | --strip-components=1 -C ${LIBUSB_DIR} -xf ${LIBUSB_TAR} ) |
Brian Silverman | 798c778 | 2013-03-28 16:48:02 -0700 | [diff] [blame] | 111 | [ -f ${LIBUSB_LIB} ] || env -i PATH="${PATH}" \ |
| 112 | CFLAGS='-m32' CXXFLAGS='-m32' LDFLAGS='-m32' \ |
| 113 | bash -c "cd ${LIBUSB_DIR} && ./configure \ |
| 114 | --prefix=`readlink -f ${LIBUSB_PREFIX}` && make && make install" |
Brian Silverman | 6137a50 | 2013-04-22 15:41:36 -0700 | [diff] [blame] | 115 | |
| 116 | # get the LLVM Compiler-RT source |
| 117 | COMPILER_RT_TAG=RELEASE_32/final |
| 118 | COMPILER_RT_VERSION=`echo ${COMPILER_RT_TAG} | sed s:/:_:` |
| 119 | COMPILER_RT_DIR=${EXTERNALS}/compiler-rt-${COMPILER_RT_VERSION} |
| 120 | COMPILER_RT_URL=http://llvm.org/svn/llvm-project/compiler-rt/tags/${COMPILER_RT_TAG} |
| 121 | [ -d ${COMPILER_RT_DIR} ] || svn checkout ${COMPILER_RT_URL} ${COMPILER_RT_DIR} |
Brian Silverman | 8efe23e | 2013-07-07 23:31:37 -0700 | [diff] [blame] | 122 | |
| 123 | # get and build libevent |
| 124 | LIBEVENT_VERSION=2.0.21 |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 125 | LIBEVENT_TAR=${EXTERNALS}/libevent-${LIBEVENT_VERSION}.tar.gz |
| 126 | LIBEVENT_DIR=${COMPILED}/libevent-${LIBEVENT_VERSION} |
Brian Silverman | 8efe23e | 2013-07-07 23:31:37 -0700 | [diff] [blame] | 127 | LIBEVENT_PREFIX=${LIBEVENT_DIR}-prefix |
| 128 | LIBEVENT_LIB=${LIBEVENT_PREFIX}/lib/libevent.a |
| 129 | LIBEVENT_URL=https://github.com/downloads/libevent/libevent |
| 130 | LIBEVENT_URL=${LIBEVENT_URL}/libevent-${LIBEVENT_VERSION}-stable.tar.gz |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 131 | [ -f ${LIBEVENT_TAR} ] || wget ${LIBEVENT_URL} -O ${LIBEVENT_TAR} |
Brian Silverman | 8efe23e | 2013-07-07 23:31:37 -0700 | [diff] [blame] | 132 | [ -d ${LIBEVENT_DIR} ] || ( mkdir ${LIBEVENT_DIR} && tar \ |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 133 | --strip-components=1 -C ${LIBEVENT_DIR} -xf ${LIBEVENT_TAR} ) |
Brian Silverman | 8efe23e | 2013-07-07 23:31:37 -0700 | [diff] [blame] | 134 | [ -f ${LIBEVENT_LIB} ] || env -i PATH="${PATH}" \ |
| 135 | CFLAGS='-m32' CXXFLAGS='-m32' LDFLAGS='-m32' \ |
| 136 | bash -c "cd ${LIBEVENT_DIR} && ./configure \ |
| 137 | --prefix=`readlink -f ${LIBEVENT_PREFIX}` && make && make install" |
Austin Schuh | 6915528 | 2013-10-27 14:52:35 -0700 | [diff] [blame] | 138 | |
| 139 | # get and build libcdd |
| 140 | LIBCDD_VERSION=094g |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 141 | LIBCDD_TAR=${EXTERNALS}/libcdd-${LIBCDD_VERSION}.tar.gz |
| 142 | LIBCDD_DIR=${COMPILED}/libcdd-${LIBCDD_VERSION} |
Austin Schuh | 6915528 | 2013-10-27 14:52:35 -0700 | [diff] [blame] | 143 | LIBCDD_PREFIX=${LIBCDD_DIR}-prefix |
| 144 | LIBCDD_LIB=${LIBCDD_PREFIX}/lib/libcdd.a |
| 145 | LIBCDD_URL=ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cddlib-${LIBCDD_VERSION}.tar.gz |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 146 | [ -f ${LIBCDD_TAR} ] || \ |
| 147 | wget ${LIBCDD_URL} -O ${LIBCDD_TAR} |
Austin Schuh | 6915528 | 2013-10-27 14:52:35 -0700 | [diff] [blame] | 148 | [ -d ${LIBCDD_DIR} ] || ( mkdir ${LIBCDD_DIR} && tar \ |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 149 | --strip-components=1 -C ${LIBCDD_DIR} -xf ${LIBCDD_TAR} ) |
Austin Schuh | 6915528 | 2013-10-27 14:52:35 -0700 | [diff] [blame] | 150 | [ -f ${LIBCDD_LIB} ] || env -i PATH="${PATH}" \ |
| 151 | CFLAGS='-m32' CXXFLAGS='-m32' LDFLAGS='-m32' \ |
| 152 | bash -c "cd ${LIBCDD_DIR} && ./configure --disable-shared \ |
| 153 | --prefix=`readlink -f ${LIBCDD_PREFIX}` && make && make install" |
Brian Silverman | f10de2a | 2013-11-16 19:56:11 -0800 | [diff] [blame] | 154 | |
| 155 | rm -rf ${TMPDIR} |