summaryrefslogtreecommitdiff
blob: 0b49b794bd8d62be345aa5ec49f468785dff336c (plain)
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
make sure we respect the system libffi setting in our build config.
the compiler probing is fragile and can break in some situations.

--- a/setup.py
+++ b/setup.py
@@ -2069,7 +2069,7 @@ class PyBuildExt(build_ext):
         return True
 
     def detect_ctypes(self, inc_dirs, lib_dirs):
-        self.use_system_libffi = False
+        self.use_system_libffi = ('--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS"))
         include_dirs = []
         extra_compile_args = []
         extra_link_args = []
@@ -2113,7 +2113,7 @@ class PyBuildExt(build_ext):
                              sources=['_ctypes/_ctypes_test.c'])
         self.extensions.extend([ext, ext_test])
 
-        if not '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS"):
+        if not self.use_system_libffi:
             return
 
         if host_platform == 'darwin':
@@ -2141,10 +2141,10 @@ class PyBuildExt(build_ext):
                     ffi_lib = lib_name
                     break
 
-        if ffi_inc and ffi_lib:
+        if ffi_inc:
             ext.include_dirs.extend(ffi_inc)
+        if ffi_lib:
             ext.libraries.append(ffi_lib)
-            self.use_system_libffi = True
 
 
 class PyBuildInstall(install):