[Perf] Reduce temporary generation
[hiphop-php.git] / README.md
blob4827763c7b93ac658cc3951fd8037ebc7778a3d5
1 # HipHop for PHP
3 HipHop is a source code transformer which transforms PHP source code into highly optimized C++ and then compiles it using g++. Currently supported platforms are Linux and FreeBSD. There is no OS X support.
5 * [Developer Mailing List](http://groups.google.com/group/hiphop-php-dev)
6 * [Wiki](http://wiki.github.com/facebook/hiphop-php)
7 * [Issue Tracker](http://github.com/facebook/hiphop-php/issues)
9 ## Required Packages
11 The latest information is available on the [wiki](http://wiki.github.com/facebook/hiphop-php/building-and-installing)
13 * cmake *2.6 is the minimum version*
14 * g++/gcc *4.3 is the minimum version*
15 * Boost *1.37 is the minimum version*
16 * flex
17 * bison
18 * re2c
19 * libmysql
20 * libxml2
21 * libmcrypt
22 * libicu *4.2 is the minimum version*
23 * openssl
24 * binutils
25 * libcap
26 * gd
27 * zlib
28 * tbb *Intel's Thread Building Blocks*
29 * [Oniguruma](http://www.geocities.jp/kosako3/oniguruma/)
30 * libpcre
31 * libexpat
32 * libmemcached
34 The following packages have had slight modifications added to them. Patches are provided and should be made against the current source copies.
36 * [libcurl](http://curl.haxx.se/download.html)
37 * src/third_party/libcurl.fb-changes.diff
38 * [libevent 1.4](http://www.monkey.org/~provos/libevent/)
39 * src/third_party/libevent-1.4.13.fb-changes.diff       OR src/third_party/libevent-1.4.14.fb-changes.diff
41 ## Installation
43 You may need to point CMake to the location of your custom libcurl and libevent, or to any other libraries which needed to be installed. The *CMAKE_PREFIX_PATH* variable is used to hint to the location.
45     export CMAKE_PREFIX_PATH=/home/user
47 To build HipHop, use the following:
49 Linux:
51     cd /home/user/dev
52     git clone git://github.com/facebook/hiphop-php.git
53     cd hiphop-php
54     git submodule init
55     git submodule update
56     export HPHP_HOME=`pwd`
57     export HPHP_LIB=`pwd`/bin
58     cmake .
60 If you are using FreeBSD instead use export - setenv
62 Once this is done you can generate the build file. This will return you to the shell. Finally, to build, run `make`. If any errors occur, it may be required to remove the CMakeCache.txt directory in the checkout.
64     make
66 ## Contributing to HipHop
67 HipHop is licensed under the PHP and Zend licenses except as otherwise noted.
69 Before changes can be accepted a [Contributors Licensing Agreement](http://developers.facebook.com/opensource/cla) must be signed and returned.
71 ## Running HipHop
73 Please see [the wiki page](http://wiki.github.com/facebook/hiphop-php/running-hiphop)