Git Product home page Git Product logo

folly's Introduction

Folly: Facebook Open-source LibrarY
-----------------------------------

Folly is an open-source C++ library developed and used at Facebook.

For details, see folly/docs/Overview.md.

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
------------

folly requires gcc 4.8+ and a version of boost compiled with C++11 support.

Please download googletest from
https://googletest.googlecode.com/files/gtest-1.6.0.zip and unzip it in the
folly/test subdirectory.

Ubuntu 13.10
------------

The following packages are required (feel free to cut and paste the apt-get
command below):

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

Ubuntu 14.04 LTS
----------------

The packages listed above for Ubuntu 13.10 are required, as well as:

sudo apt-get install \
    libiberty-dev

The above packages are sufficient for Ubuntu 13.10 and Ubuntu 14.04.

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
    - gcc-c++
    - autoconf
    - autoconf-archive
    - automake
    - boost-devel
    - libtool
    - lz4-devel
    - lzma-devel
    - snappy-devel
    - zlib-devel
    - glog-devel
    - gflags-devel
    - scons (for double-conversion)

folly's People

Contributors

tudor avatar fugalh avatar gownta avatar ddrcoder avatar philippv avatar meyering avatar simpkins avatar scannell avatar jdelong avatar andrewjcg avatar luciang avatar andriigrynenko avatar hannesr0 avatar dcsommer avatar sgolemon avatar snarkmaster avatar alikhtarov avatar marcinpe avatar oyamauchi avatar yfeldblum avatar mhorowitz avatar mdordal avatar viswanathgs avatar ptarjan avatar sarangbh avatar swtaarrs avatar sas avatar dorserg avatar ranjeeth avatar mshneer avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.