| diff --git a/build_detect_platform b/build_detect_platform |
| index b71bf02..864e5fb 100755 |
| --- a/build_detect_platform |
| +++ b/build_detect_platform |
| @@ -128,24 +128,8 @@ EOF |
| COMMON_FLAGS="$COMMON_FLAGS -DLEVELDB_PLATFORM_POSIX" |
| fi |
| |
| - # Test whether Snappy library is installed |
| - # http://code.google.com/p/snappy/ |
| - $CXX $CFLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF |
| - #include <snappy.h> |
| - int main() {} |
| -EOF |
| - if [ "$?" = 0 ]; then |
| - COMMON_FLAGS="$COMMON_FLAGS -DSNAPPY" |
| - PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lsnappy" |
| - fi |
| +# Removed tests for TCMALLOC and SNAPPY to prevent additional dependencies. |
| |
| - # Test whether tcmalloc is available |
| - $CXX $CFLAGS -x c++ - -o /dev/null -ltcmalloc 2>/dev/null <<EOF |
| - int main() {} |
| -EOF |
| - if [ "$?" = 0 ]; then |
| - PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -ltcmalloc" |
| - fi |
| fi |
| |
| PLATFORM_CCFLAGS="$PLATFORM_CCFLAGS $COMMON_FLAGS" |
| diff --git a/port/atomic_pointer.h b/port/atomic_pointer.h |
| index 35ae550..b4769b3 100644 |
| --- a/port/atomic_pointer.h |
| +++ b/port/atomic_pointer.h |
| @@ -36,6 +36,8 @@ |
| #define ARCH_CPU_X86_FAMILY 1 |
| #elif defined(__ARMEL__) |
| #define ARCH_CPU_ARM_FAMILY 1 |
| +#elif defined(__ppc__) || defined(__powerpc__) || defined(__powerpc64__) |
| +#define ARCH_CPU_PPC_FAMILY 1 |
| #endif |
| |
| namespace leveldb { |
| @@ -83,6 +85,13 @@ inline void MemoryBarrier() { |
| } |
| #define LEVELDB_HAVE_MEMORY_BARRIER |
| |
| +// PPC |
| +#elif defined(ARCH_CPU_PPC_FAMILY) && defined(__GNUC__) |
| +inline void MemoryBarrier() { |
| + asm volatile("lwsync" : : : "memory"); |
| +} |
| +#define LEVELDB_HAVE_MEMORY_BARRIER |
| + |
| #endif |
| |
| // AtomicPointer built using platform-specific MemoryBarrier() |