• E
    New amalgamation target · 7a23e4d8
    Evan Shaw 提交于
    This commit adds two new targets to the Makefile: rocksdb.cc and rocksdb.h
    
    These files, when combined with the c.h header, are a self-contained RocksDB
    source distribution called an amalgamation. (The name comes from SQLite's, which
    is similar in concept.)
    
    The main benefit of an amalgamation is that it's very easy to drop into a
    new project. It also compiles faster compared to compiling individual source
    files and potentially gives the compiler more opportunity to make optimizations
    since it can see all functions at once.
    
    rocksdb.cc and rocksdb.h are generated by a new script, amalgamate.py.
    A detailed description of how amalgamate.py works is in a comment at the top of
    the file.
    
    There are also some small changes to existing files to enable the amalgamation:
    * Use quotes for includes in unity build
    * Fix an old header inclusion in util/xfunc.cc
    * Move some includes outside ifdef in util/env_hdfs.cc
    * Separate out tool sources in Makefile so they won't be included in unity.cc
    * Unity build now produces a static library
    
    Closes #733
    7a23e4d8
Makefile 36.9 KB