1251881Speter#!/bin/sh 2251881Speter# 3251881Speter# 4251881Speter# Licensed to the Apache Software Foundation (ASF) under one 5251881Speter# or more contributor license agreements. See the NOTICE file 6251881Speter# distributed with this work for additional information 7251881Speter# regarding copyright ownership. The ASF licenses this file 8251881Speter# to you under the Apache License, Version 2.0 (the 9251881Speter# "License"); you may not use this file except in compliance 10251881Speter# with the License. You may obtain a copy of the License at 11251881Speter# 12251881Speter# http://www.apache.org/licenses/LICENSE-2.0 13251881Speter# 14251881Speter# Unless required by applicable law or agreed to in writing, 15251881Speter# software distributed under the License is distributed on an 16251881Speter# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17251881Speter# KIND, either express or implied. See the License for the 18251881Speter# specific language governing permissions and limitations 19251881Speter# under the License. 20251881Speter# 21251881Speter# 22251881Speter# 23251881Speter# get-deps.sh -- download the dependencies useful for building Subversion 24251881Speter# 25251881Speter 26251881Speter# If changing this file please take care to try to make your changes as 27251881Speter# portable as possible. That means at a minimum only use POSIX supported 28251881Speter# features and functions. However, it may be desirable to use an even 29251881Speter# more narrow set of features than POSIX, e.g. Solaris /bin/sh only has 30251881Speter# a subset of the POSIX shell features. If in doubt, limit yourself to 31251881Speter# features already used in the file. Reviewing the history of changes 32251881Speter# may be useful as well. 33251881Speter 34251881SpeterAPR_VERSION=${APR_VERSION:-"1.4.6"} 35251881SpeterAPU_VERSION=${APU_VERSION:-"1.5.1"} 36269847SpeterSERF_VERSION=${SERF_VERSION:-"1.3.4"} 37251881SpeterZLIB_VERSION=${ZLIB_VERSION:-"1.2.8"} 38251881SpeterSQLITE_VERSION=${SQLITE_VERSION:-"3.7.15.1"} 39251881SpeterGTEST_VERSION=${GTEST_VERSION:-"1.6.0"} 40269847SpeterHTTPD_VERSION=${HTTPD_VERSION:-"2.4.10"} 41251881SpeterAPR_ICONV_VERSION=${APR_ICONV_VERSION:-"1.2.1"} 42251881Speter 43251881SpeterAPR=apr-${APR_VERSION} 44251881SpeterAPR_UTIL=apr-util-${APU_VERSION} 45251881SpeterSERF=serf-${SERF_VERSION} 46251881SpeterZLIB=zlib-${ZLIB_VERSION} 47251881SpeterSQLITE_VERSION_LIST=`echo $SQLITE_VERSION | sed -e 's/\./ /g'` 48251881SpeterSQLITE=sqlite-amalgamation-`printf %d%02d%02d%02d $SQLITE_VERSION_LIST` 49251881SpeterGTEST=gtest-${GTEST_VERSION} 50251881SpeterGTEST_URL=http://googletest.googlecode.com/files/ 51251881Speter 52251881SpeterHTTPD=httpd-${HTTPD_VERSION} 53251881SpeterAPR_ICONV=apr-iconv-${APR_ICONV_VERSION} 54251881Speter 55251881SpeterBASEDIR=`pwd` 56251881SpeterTEMPDIR=$BASEDIR/temp 57251881Speter 58251881SpeterHTTP_FETCH= 59251881Speter[ -z "$HTTP_FETCH" ] && type wget >/dev/null 2>&1 && HTTP_FETCH="wget -q -nc" 60269847Speter[ -z "$HTTP_FETCH" ] && type curl >/dev/null 2>&1 && HTTP_FETCH="curl -sOL" 61251881Speter[ -z "$HTTP_FETCH" ] && type fetch >/dev/null 2>&1 && HTTP_FETCH="fetch -q" 62251881Speter 63251881Speter# Need this uncommented if any of the specific versions of the ASF tarballs to 64251881Speter# be downloaded are no longer available on the general mirrors. 65251881SpeterAPACHE_MIRROR=http://archive.apache.org/dist 66251881Speter 67251881Speter# helpers 68251881Speterusage() { 69251881Speter echo "Usage: $0" 70251881Speter echo "Usage: $0 [ apr | serf | zlib | sqlite | gtest ] ..." 71251881Speter exit $1 72251881Speter} 73251881Speter 74251881Speter# getters 75251881Speterget_apr() { 76251881Speter cd $TEMPDIR 77251881Speter test -d $BASEDIR/apr || $HTTP_FETCH $APACHE_MIRROR/apr/$APR.tar.bz2 78251881Speter test -d $BASEDIR/apr-util || $HTTP_FETCH $APACHE_MIRROR/apr/$APR_UTIL.tar.bz2 79251881Speter cd $BASEDIR 80251881Speter 81251881Speter test -d $BASEDIR/apr || bzip2 -dc $TEMPDIR/$APR.tar.bz2 | tar -xf - 82251881Speter test -d $BASEDIR/apr-util || bzip2 -dc $TEMPDIR/$APR_UTIL.tar.bz2 | tar -xf - 83251881Speter 84251881Speter test -d $BASEDIR/apr || mv $APR apr 85251881Speter test -d $BASEDIR/apr-util || mv $APR_UTIL apr-util 86251881Speter} 87251881Speter 88251881Speterget_serf() { 89251881Speter test -d $BASEDIR/serf && return 90251881Speter 91251881Speter cd $TEMPDIR 92269847Speter $HTTP_FETCH http://serf.googlecode.com/svn/src_releases/$SERF.tar.bz2 93251881Speter cd $BASEDIR 94251881Speter 95251881Speter bzip2 -dc $TEMPDIR/$SERF.tar.bz2 | tar -xf - 96251881Speter 97251881Speter mv $SERF serf 98251881Speter} 99251881Speter 100251881Speterget_zlib() { 101251881Speter test -d $BASEDIR/zlib && return 102251881Speter 103251881Speter cd $TEMPDIR 104269847Speter $HTTP_FETCH http://sourceforge.net/projects/libpng/files/zlib/$ZLIB_VERSION/$ZLIB.tar.gz 105251881Speter cd $BASEDIR 106251881Speter 107251881Speter gzip -dc $TEMPDIR/$ZLIB.tar.gz | tar -xf - 108251881Speter 109251881Speter mv $ZLIB zlib 110251881Speter} 111251881Speter 112251881Speterget_sqlite() { 113251881Speter test -d $BASEDIR/sqlite-amalgamation && return 114251881Speter 115251881Speter cd $TEMPDIR 116251881Speter $HTTP_FETCH http://www.sqlite.org/$SQLITE.zip 117251881Speter cd $BASEDIR 118251881Speter 119251881Speter unzip -q $TEMPDIR/$SQLITE.zip 120251881Speter 121251881Speter mv $SQLITE sqlite-amalgamation 122251881Speter 123251881Speter} 124251881Speter 125251881Speterget_gtest() { 126251881Speter test -d $BASEDIR/gtest && return 127251881Speter 128251881Speter cd $TEMPDIR 129251881Speter $HTTP_FETCH ${GTEST_URL}/${GTEST}.zip 130251881Speter cd $BASEDIR 131251881Speter 132251881Speter unzip -q $TEMPDIR/$GTEST.zip 133251881Speter 134251881Speter mv $GTEST gtest 135251881Speter} 136251881Speter 137251881Speter# main() 138251881Speterget_deps() { 139251881Speter mkdir -p $TEMPDIR 140251881Speter 141251881Speter for i in zlib serf sqlite-amalgamation apr apr-util gtest; do 142251881Speter if [ -d $i ]; then 143251881Speter echo "Local directory '$i' already exists; the downloaded copy won't be used" >&2 144251881Speter fi 145251881Speter done 146251881Speter 147251881Speter if [ $# -gt 0 ]; then 148251881Speter for target in "$@"; do 149251881Speter if [ "$target" != "deps" ]; then 150251881Speter get_$target || usage 151251881Speter else 152251881Speter usage 153251881Speter fi 154251881Speter done 155251881Speter else 156251881Speter get_apr 157251881Speter get_serf 158251881Speter get_zlib 159251881Speter get_sqlite 160251881Speter 161251881Speter echo 162251881Speter echo "If you require mod_dav_svn, the recommended version of httpd is:" 163251881Speter echo " $APACHE_MIRROR/httpd/$HTTPD.tar.bz2" 164251881Speter 165251881Speter echo 166251881Speter echo "If you require apr-iconv, its recommended version is:" 167251881Speter echo " $APACHE_MIRROR/apr/$APR_ICONV.tar.bz2" 168251881Speter fi 169251881Speter 170251881Speter rm -rf $TEMPDIR 171251881Speter} 172251881Speter 173251881Speterget_deps "$@" 174