1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
--- a/setup.py
+++ b/setup.py
@@ -21,27 +21,9 @@ class install_lib(_install_lib.install_lib):
if self.distribution.has_ext_modules():
self.run_command('build_ext')
-# To link the extension with the C library, distutils passes the "-lLIBRARY"
-# option to the linker. This makes it go through its library search path. If it
-# finds a shared object of the specified library in one of the system-wide
-# library paths, it will dynamically link it.
-#
-# We want the linker to statically link the version of hiredis that is included
-# with hiredis-py. However, the linker may pick up the shared library version
-# of hiredis, if it is available through one of the system-wide library paths.
-# To prevent this from happening, we use an obfuscated library name such that
-# the only version the linker will be able to find is the right version.
-#
-# This is a terrible hack, but patching distutils to do the right thing for all
-# supported Python versions is worse...
-#
-# Also see: https://github.com/pietern/hiredis-py/issues/15
-lib = ("hiredis_for_hiredis_py", {
- "sources": ["vendor/hiredis/%s.c" % src for src in ("hiredis", "net", "sds")]})
-
ext = Extension("hiredis.hiredis",
sources=glob.glob("src/*.c"),
- include_dirs=["vendor"])
+ libraries=["hiredis"])
setup(
name="hiredis",
@@ -53,7 +35,6 @@ setup(
keywords=["Redis"],
license="BSD",
packages=["hiredis"],
- libraries=[lib],
ext_modules=[ext],
# Override "install_lib" command
|