diff --git a/setup.py b/setup.py
index 4da7daa1d66ac2191d80f83dc2e3853523b8be50..378a78e31039fd2ee36aefa29569d566793ea70a 100644
--- a/setup.py
+++ b/setup.py
@@ -1,3 +1,4 @@
+import platform
 from setuptools import setup
 from setuptools import find_packages
 from distutils.extension import Extension
@@ -10,17 +11,22 @@ except ImportError:
 else:
     sources = ['rocksdb/_rocksdb.pyx']
 
+extra_compile_args = [
+    '-std=c++11',
+    '-O3',
+    '-Wall',
+    '-Wextra',
+    '-Wconversion',
+    '-fno-strict-aliasing'
+]
+
+if platform.system() == 'Darwin':
+    extra_compile_args += ['-mmacosx-version-min=10.7', '-stdlib=libc++']
+
 mod1 = Extension(
     'rocksdb._rocksdb',
     sources,
-    extra_compile_args=[
-        '-std=c++11',
-        '-O3',
-        '-Wall',
-        '-Wextra',
-        '-Wconversion',
-        '-fno-strict-aliasing'
-    ],
+    extra_compile_args=extra_compile_args,
     language='c++',
     libraries=[
         'rocksdb',