commit | 69841292024ca888d3b33ea36cae7910a0cbf471 | [log] [tgz] |
---|---|---|
author | Marc Parisi <phrocker@apache.org> | Thu Sep 21 14:40:40 2017 -0400 |
committer | Guanghao Zhang <zghao@apache.org> | Tue Mar 12 20:39:26 2019 +0800 |
tree | 83dbee25a332ffa7ea28c2c16535155c4b21dbbb | |
parent | 7b70670135af5b90922d2984b7d85b0aa9b6a20b [diff] |
HBASE-18901 [C++] Provide CMAKE infrastructure * Provided cmake files for packages in which a default module did not exist. * Moved tests to a location where we could automatically build the test suite. * Resolved minor issues with tests * Tested across OSX, RHEL7, and Ubuntu16 * Fix PROTOBUF_LIBRARY by removing static override in FindZookeeper * Get the Dockerfile working again Signed-off-by: Josh Elser <elserj@apache.org>
Native client for HBase
This is a C/C++ library that implements a HBase client.
Synchronous and Async versions will both be built on the same foundation. The core foundation will be C++. External users wanting a C library will have to choose either async or sync. These libraries will be thin veneers ontop of the C++.
We should try and follow pthreads example as much as possible:
All public C files will start with hbase_*.{h, cc}. This is to keep naming conflicts to a minimum. Anything without the hbase_ prefix is assumed to be implementation private.
All C apis and typedefs will be prefixed with hb_.
All typedefs end with _t.
The build environment is docker. This should keep a consistent build environment for everyone. Buck the build system works best with mmap'd files. On OSX this means that vmwarefusion works the best. However it should work with just the defaults.