mirror of
https://github.com/facebook/rocksdb.git
synced 2024-11-29 18:33:58 +00:00
f57e23351f
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
22 lines
770 B
C
22 lines
770 B
C
// Copyright (c) 2011 The LevelDB Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file. See the AUTHORS file for names of contributors.
|
|
|
|
#ifndef STORAGE_LEVELDB_PORT_PORT_H_
|
|
#define STORAGE_LEVELDB_PORT_PORT_H_
|
|
|
|
#include <string.h>
|
|
|
|
// Include the appropriate platform specific file below. If you are
|
|
// porting to a new platform, see "port_example.h" for documentation
|
|
// of what the new port_<platform>.h file must provide.
|
|
#if defined(LEVELDB_PLATFORM_POSIX)
|
|
# include "port/port_posix.h"
|
|
#elif defined(LEVELDB_PLATFORM_CHROMIUM)
|
|
# include "port/port_chromium.h"
|
|
#elif defined(LEVELDB_PLATFORM_ANDROID)
|
|
# include "port/port_android.h"
|
|
#endif
|
|
|
|
#endif // STORAGE_LEVELDB_PORT_PORT_H_
|