Use #if rather than #ifdef for FOLLY_HAVE_WEAK_SYMBOLS
[folly.git] / README
1 Folly: Facebook Open-source LibrarY
2 -----------------------------------
3
4 Folly is an open-source C++ library developed and used at Facebook.
5
6 For details, see folly/docs/Overview.md.
7
8 Folly is published on Github at https://github.com/facebook/folly; for
9 discussions, there is a Google group at
10 https://groups.google.com/d/forum/facebook-folly.
11
12 Dependencies
13 ------------
14
15 - double-conversion (http://code.google.com/p/double-conversion/)
16
17     By default, the build tooling for double-conversion does not build
18     any libraries, which folly requires.  To build the necessary libraries
19     copy folly/SConstruct.double-conversion to your double-conversion
20     source directory before building:
21
22       [double-conversion/] scons -f SConstruct.double-conversion
23
24     Then set CPPFLAGS/LDFLAGS so that folly can find your double-conversion
25     build:
26
27       [folly/] LDFLAGS=-L<double-conversion>/ CPPFLAGS=-I<double-conversion>/src/
28         configure ...
29
30 - googletest (Google C++ Testing Framework)
31
32   Grab gtest 1.6.0 from:
33   http://googletest.googlecode.com/files/gtest-1.6.0.zip
34
35   Unzip it inside of the test/ subdirectory.
36
37 - additional platform specific dependencies:
38
39   Ubuntu 12.10 64-bit
40     - g++
41     - automake
42     - autoconf
43     - autoconf-archive
44     - libtool
45     - libboost1.46-all-dev
46     - libgoogle-glog-dev
47     - libgflags-dev
48     - scons (for double-conversion)
49
50   Fedora 17 64-bit
51     - gcc
52     - gcc-c++
53     - autoconf
54     - autoconf-archive
55     - automake
56     - boost-devel
57     - libtool
58     - glog-devel
59     - gflags-devel
60     - scons (for double-conversion)