rocksdb/port
gabor@google.com f57e23351f Platform detection during build, plus compatibility patches for machines without <cstdatomic>.
This revision adds two major changes:
1. build_detect_platform which generates build_config.mk
   with platform-dependent flags for the build process
2. /port/atomic_pointer.h with anAtomicPointerimplementation
   for platforms without <cstdatomic>

Some of this code is loosely based on patches submitted to the 
LevelDB mailing list at https://groups.google.com/forum/#!forum/leveldb
Tip of the hat to Dave Smith and Edouard A, who both sent patches.

The presence of Snappy (http://code.google.com/p/snappy/) and
cstdatomic are now both detected in the build_detect_platform
script (1.) which gets executing during make.

For (2.), instead of broadly importing atomicops_* from Chromium or
the Google performance tools, we chose to just implement AtomicPointer 
and the limited atomic load and store operations it needs. 
This resulted in much less code and fewer files - everything is 
contained in atomic_pointer.h.



git-svn-id: https://leveldb.googlecode.com/svn/trunk@34 62dab493-f737-651d-591e-8d6aee1b9529
2011-06-29 00:30:50 +00:00
..
win reverting disastrous MOE commit, returning to r21 2011-04-19 23:11:15 +00:00
atomic_pointer.h Platform detection during build, plus compatibility patches for machines without <cstdatomic>. 2011-06-29 00:30:50 +00:00
port_android.cc reverting disastrous MOE commit, returning to r21 2011-04-19 23:11:15 +00:00
port_android.h @20776309 2011-04-20 22:48:11 +00:00
port_chromium.cc reverting disastrous MOE commit, returning to r21 2011-04-19 23:11:15 +00:00
port_chromium.h @20776309 2011-04-20 22:48:11 +00:00
port_example.h @20776309 2011-04-20 22:48:11 +00:00
port_osx.cc Update from upstream @21551990 2011-05-28 00:53:58 +00:00
port_osx.h Update from upstream @21551990 2011-05-28 00:53:58 +00:00
port_posix.cc reverting disastrous MOE commit, returning to r21 2011-04-19 23:11:15 +00:00
port_posix.h Platform detection during build, plus compatibility patches for machines without <cstdatomic>. 2011-06-29 00:30:50 +00:00
port.h Platform detection during build, plus compatibility patches for machines without <cstdatomic>. 2011-06-29 00:30:50 +00:00
README reverting disastrous MOE commit, returning to r21 2011-04-19 23:11:15 +00:00
sha1_portable.cc reverting disastrous MOE commit, returning to r21 2011-04-19 23:11:15 +00:00
sha1_portable.h reverting disastrous MOE commit, returning to r21 2011-04-19 23:11:15 +00:00
sha1_test.cc reverting disastrous MOE commit, returning to r21 2011-04-19 23:11:15 +00:00

This directory contains interfaces and implementations that isolate the
rest of the package from platform details.

Code in the rest of the package includes "port.h" from this directory.
"port.h" in turn includes a platform specific "port_<platform>.h" file
that provides the platform specific implementation.

See port_posix.h for an example of what must be provided in a platform
specific header file.