diff --git a/pyproject.toml b/pyproject.toml
index 6d1b4c5b6fb56a63069147e3a1de922ce71a45d8..9bf40cd00cfc8a38437479ea4fefd065fa1e9602 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,3 +1,3 @@
 [build-system]
-requires = ["setuptools", "wheel", "cython"]
+requires = ["setuptools", "wheel", "cython", "pkgconfig"]
 build-backend = "setuptools.build_meta"
diff --git a/setup.py b/setup.py
index 239230572951fb365839336656163513d0bea586..2450eefc0b9ad9797dbf421cfb3f823e507c8b82 100644
--- a/setup.py
+++ b/setup.py
@@ -1,9 +1,13 @@
 #!/usr/bin/env python3
 
+import os
 import platform
-import setuptools
 import sys
 
+import pkgconfig
+from Cython.Build import cythonize
+from pkgconfig import PackageNotFoundError
+from setuptools import Extension, setup
 
 extra_compile_args = [
     '-std=c++11',
@@ -21,22 +25,31 @@ if platform.system() == 'Darwin':
 if sys.version_info < (3 , 0):
     raise Exception("python-rocksdb requires Python 3.x")
 
-setuptools.setup(
-    ext_modules=[
-        setuptools.Extension(
-            'rocksdb._rocksdb',
-            [
-                'rocksdb/_rocksdb.pyx',
-            ],
-            extra_compile_args=extra_compile_args,
-            language='c++',
-            libraries=[
-                'rocksdb',
-                'snappy',
-                'bz2',
-                'z',
-                'lz4',
-            ],
-        ),
+rocksdb_extension = Extension(
+    'rocksdb._rocksdb',
+    [
+        'rocksdb/_rocksdb.pyx',
     ],
+    extra_compile_args=extra_compile_args,
+    language='c++',
+    libraries=['rocksdb'],
+)
+
+try:
+    pkgconfig.configure_extension(rocksdb_extension, "rocksdb")
+except PackageNotFoundError:
+    include_path = os.environ.get("INCLUDE_PATH")
+    library_path = os.environ.get("LIBRARY_PATH")
+
+    rocksdb_extension.include_dirs += include_path.split(os.pathsep) if include_path else []
+    rocksdb_extension.library_dirs += library_path.split(os.pathsep) if library_path else []
+    rocksdb_extension.libraries += [
+        'snappy',
+        'bz2',
+        'z',
+        'lz4',
+    ]
+
+setup(
+    ext_modules=cythonize([rocksdb_extension]),
 )