Abstract "index to byte" computation out of LdElem and StElem instructions
[hiphop-php.git] / configure_ubuntu_12.04.sh
blobe17acfb1b45b5174568b84c1b4d28ea616004a0a
1 #########################################
2 #
3 # Install all the dependancies for HipHop
5 #########################################
7 SCRIPT_NAME='./configure_ubuntu_12.04.sh'
8 if [ "$0" != "$SCRIPT_NAME" ]; then
9 echo "Run the script from the hiphop-php directory like:"
10 echo " $SCRIPT_NAME"
11 exit 1
14 export CMAKE_PREFIX_PATH=`/bin/pwd`/..
15 export HPHP_HOME=`/bin/pwd`
17 # install apt-fast to speedup later dependency installation
18 sudo add-apt-repository -y ppa:apt-fast/stable
19 sudo apt-get update
20 sudo apt-get install apt-fast
22 # install the actual dependencies
23 sudo apt-fast -y update
24 sudo apt-fast -y install git-core cmake g++ libboost1.48-dev libmysqlclient-dev \
25 libxml2-dev libmcrypt-dev libicu-dev openssl build-essential binutils-dev \
26 libcap-dev libgd2-xpm-dev zlib1g-dev libtbb-dev libonig-dev libpcre3-dev \
27 autoconf libtool libcurl4-openssl-dev libboost-regex1.48-dev libboost-system1.48-dev \
28 libboost-program-options1.48-dev libboost-filesystem1.48-dev wget memcached \
29 libreadline-dev libncurses-dev libmemcached-dev libbz2-dev \
30 libc-client2007e-dev php5-mcrypt php5-imagick libgoogle-perftools-dev \
31 libcloog-ppl0 libelf-dev libdwarf-dev libunwind7-dev subversion &
33 git clone git://github.com/libevent/libevent.git --quiet &
34 git clone git://github.com/bagder/curl.git --quiet &
35 svn checkout http://google-glog.googlecode.com/svn/trunk/ google-glog --quiet &
36 wget http://www.canonware.com/download/jemalloc/jemalloc-3.0.0.tar.bz2 --quiet &
38 # wait until all background processes finished
39 FAIL=0
41 for job in `jobs -p`
43 echo "waiting for background job $job"
44 wait $job || let "FAIL+=1"
45 done
47 if [ "$FAIL" == "0" ];
48 then
49 echo "all downloads finished";
50 else
51 echo "$FAIL errors while downloading!";
52 exit 100
53 fi
55 # libevent
56 cd libevent
57 git checkout release-1.4.14b-stable
58 cat ../hphp/third_party/libevent-1.4.14.fb-changes.diff | patch -p1
59 ./autogen.sh
60 ./configure --prefix=$CMAKE_PREFIX_PATH
61 make
62 make install
63 cd ..
65 # curl
66 cd curl
67 ./buildconf
68 ./configure --prefix=$CMAKE_PREFIX_PATH
69 make
70 make install
71 cd ..
73 # glog
74 cd google-glog
75 ./configure --prefix=$CMAKE_PREFIX_PATH
76 make
77 make install
78 cd ..
80 # jemaloc
81 tar xjvf jemalloc-3.0.0.tar.bz2
82 cd jemalloc-3.0.0
83 ./configure --prefix=$CMAKE_PREFIX_PATH
84 make
85 make install
86 cd ..
88 # cleanup
89 rm -rf libevent curl google-glog jemalloc-3.0.0.tar.bz2 jemalloc-3.0.0
91 # hphp
92 cmake .
94 echo "-------------------------------------------------------------------------"
95 echo "Done. Now run:"
96 echo " CMAKE_PREFIX_PATH=\`pwd\`/.. HPHP_HOME=\`pwd\` make"