X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=README;h=47e1c1a78cc36570b0af54f6afb6e35718fd3604;hb=7b7e1fc7cd54c50e113c0e62e45dd7142bc256b0;hp=b8fb0aba4d712769952e99b8a81a77f4e8ea5657;hpb=3086657e5ffbf5c6a775c3343f847403bf3ff13a;p=folly.git diff --git a/README b/README index b8fb0aba..47e1c1a7 100644 --- a/README +++ b/README @@ -9,43 +9,86 @@ Folly is published on Github at https://github.com/facebook/folly; for discussions, there is a Google group at https://groups.google.com/d/forum/facebook-folly. + Dependencies ------------ -- double-conversion (http://code.google.com/p/double-conversion/) +folly requires gcc 4.8+ and a version of boost compiled with C++11 support. - By default, the build tooling for double-conversion does not build - any libraries, which folly requires. To build the necessary libraries - copy folly/SConstruct.double-conversion to your double-conversion - source directory before building: +Please download googletest from +https://googletest.googlecode.com/files/gtest-1.7.0.zip and unzip it in the +folly/test subdirectory. - [double-conversion/] scons -f SConstruct.double-conversion +Ubuntu 13.10 +------------ - Then set CPPFLAGS/LDFLAGS so that folly can find your double-conversion - build: +The following packages are required (feel free to cut and paste the apt-get +command below): - [folly/] LDFLAGS=-L/ CPPFLAGS=-I/src/ - configure ... +sudo apt-get install \ + g++ \ + automake \ + autoconf \ + autoconf-archive \ + libtool \ + libboost-all-dev \ + libevent-dev \ + libdouble-conversion-dev \ + libgoogle-glog-dev \ + libgflags-dev \ + liblz4-dev \ + liblzma-dev \ + libsnappy-dev \ + make \ + zlib1g-dev \ + binutils-dev \ + libjemalloc-dev \ + libssl-dev -- googletest (Google C++ Testing Framework) +Ubuntu 14.04 LTS +---------------- - Grab gtest 1.6.0 from: - http://googletest.googlecode.com/files/gtest-1.6.0.zip +The packages listed above for Ubuntu 13.10 are required, as well as: - Unzip it inside of the test/ subdirectory. +sudo apt-get install \ + libiberty-dev -- additional platform specific dependencies: +The above packages are sufficient for Ubuntu 13.10 and Ubuntu 14.04. - Ubuntu 12.10 64-bit - - g++ - - automake - - autoconf - - autoconf-archive - - libtool - - libboost1.46-all-dev - - libgoogle-glog-dev - - libgflags-dev - - scons (for double-conversion) +In the folly directory, run + autoreconf -ivf + ./configure + make + make check + sudo make install + +OS X +---- +There is a bootstrap script if you use Homebrew (http://brew.sh/). At the time +of writing (OS X Yosemite 10.10.1) the default compiler (clang) has some +issues building, but gcc 4.9.2 from Homebrew works fine. (This is taken care +of by the bootstrap script.) + + cd folly + ./bootstrap-osx-homebrew.sh + make + make check + +Other Linux distributions +------------------------- + +- double-conversion (https://github.com/floitsch/double-conversion/) + + Download and build double-conversion. + You may need to tell configure where to find it. + + [double-conversion/] ln -s src double-conversion + + [folly/] ./configure LDFLAGS=-L$DOUBLE_CONVERISON_HOME/ CPPFLAGS=-I$DOUBLE_CONVERISON_HOME/ + + [folly/] LD_LIBRARY_PATH=$DOUBLE_CONVERISON_HOME/ make + +- additional platform specific dependencies: Fedora 17 64-bit - gcc @@ -55,6 +98,10 @@ Dependencies - automake - boost-devel - libtool + - lz4-devel + - lzma-devel + - snappy-devel + - zlib-devel - glog-devel - gflags-devel - scons (for double-conversion)