Skip to content

jbandela/folly

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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

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

Dependencies
------------

- double-conversion (http://code.google.com/p/double-conversion/)

    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:

      [double-conversion/] scons -f SConstruct.double-conversion

    Then set CPPFLAGS/LDFLAGS so that folly can find your double-conversion
    build:

      [folly/] LDFLAGS=-L<double-conversion>/ CPPFLAGS=-I<double-conversion>/src/
        configure ...

- googletest (Google C++ Testing Framework)

  Grab gtest 1.6.0 from:
  http://googletest.googlecode.com/files/gtest-1.6.0.zip

  Unzip it inside of the test/ subdirectory.

- additional platform specific dependencies:

  Ubuntu 12.04 64-bit
    - g++
    - automake
    - autoconf
    - libtool
    - libboost1.46-all-dev
    - libgoogle-glog-dev
        This package has been removed from 12.04 -- use the one from 11.10
    - gflags (packages need to be downloaded from below)
        http://gflags.googlecode.com/files/libgflags-dev_2.0-1_amd64.deb
        http://gflags.googlecode.com/files/libgflags0_2.0-1_amd64.deb
    - scons (for double-conversion)

  Fedora 17 64-bit
    - gcc
    - gcc-c++
    - autoconf
    - automake
    - boost-devel
    - libtool
    - glog-devel
    - gflags-devel
    - scons (for double-conversion)

	Modifications by John Bandela for VC++ 11

	Removed initializer_list constructors, assignment, etc
	Used BOOST_PREPROCESSOR to simulate variadic templates
	Removed dependence on glog/gflags
	Generated and custom modified the FormatTables etc
	Included double conversion files directly in the project
	Other modifications
	
	So far the following compile/seem to work
	*conversion
	*dynamic and json
	*format
	*fbstring

	fbvector has not specifically tested but some of the others libraries rely on it and it seems to work

	To build make sure folly is in the include directory
	Make sure you have either built or included double-conversion cpp files
	Include the following cpp files in your project
		Conv.cpp
		dynamic.cpp
		EscapeTables.cpp
		Format.cpp
		FormatTables.cpp
		GroupVarintTables.cpp
		json.cpp
		Malloc.cpp
		Range.cpp
		String.cpp
		Unicode.cpp


		Make sure you have _VARIADIC_MAX=10 in you compiler defines otherwise tuple will only be defined for 5 arguments and you will get weird errors
		

	Any suggestions/bugfixes welcome

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 86.0%
  • C 13.3%
  • Python 0.7%