vcpkg/ports/python3/0011-dont-skip-rpath.patch
Osyotr e2213266cd
[python3] x64-linux-dynamic fixes (#25995)
* [python3] x64-linux-dynamic fixes

* Fix custom post-build checks

* Clarify comment.

Co-authored-by: Osyotr <8740768+Osyotr@users.noreply.github.com>
Co-authored-by: Billy O'Neal <bion@microsoft.com>
2022-08-04 13:49:06 -07:00

159 lines
7.6 KiB
Diff

diff --git a/setup.py b/setup.py
index 61b3266..4c2cfb4 100644
--- a/setup.py
+++ b/setup.py
@@ -1153,6 +1153,7 @@ def detect_readline_curses(self):
self.add(Extension('readline', ['readline.c'],
library_dirs=['/usr/lib/termcap'],
extra_link_args=readline_extra_link_args,
+ runtime_library_dirs=self.lib_dirs,
libraries=readline_libs))
else:
self.missing.append('readline')
@@ -1189,6 +1190,7 @@ def detect_readline_curses(self):
extra_compile_args=['-DPy_BUILD_CORE_MODULE'],
include_dirs=curses_includes,
define_macros=curses_defines,
+ runtime_library_dirs=self.lib_dirs,
libraries=curses_libs))
elif curses_library == 'curses' and not MACOS:
# OSX has an old Berkeley curses, not good enough for
@@ -1203,6 +1205,7 @@ def detect_readline_curses(self):
self.add(Extension('_curses', ['_cursesmodule.c'],
extra_compile_args=['-DPy_BUILD_CORE_MODULE'],
define_macros=curses_defines,
+ runtime_library_dirs=self.lib_dirs,
libraries=curses_libs))
else:
curses_enabled = False
@@ -1216,6 +1219,7 @@ def detect_readline_curses(self):
self.add(Extension('_curses_panel', ['_curses_panel.c'],
include_dirs=curses_includes,
define_macros=curses_defines,
+ runtime_library_dirs=self.lib_dirs,
libraries=[panel_library, *curses_libs]))
elif not skip_curses_panel:
self.missing.append('_curses_panel')
@@ -1234,7 +1238,7 @@ def detect_crypt(self):
else:
libs = []
- self.add(Extension('_crypt', ['_cryptmodule.c'], libraries=libs))
+ self.add(Extension('_crypt', ['_cryptmodule.c'], runtime_library_dirs=self.lib_dirs, libraries=libs))
def detect_socket(self):
# socket(2)
@@ -1525,6 +1529,7 @@ class db_found(Exception): pass
libraries=dblibs)
break
if dbmext is not None:
+ dbmext.runtime_library_dirs = self.lib_dirs
self.add(dbmext)
else:
self.missing.append('_dbm')
@@ -1533,6 +1538,7 @@ class db_found(Exception): pass
if ('gdbm' in dbm_order and
self.compiler.find_library_file(self.lib_dirs, 'gdbm')):
self.add(Extension('_gdbm', ['_gdbmmodule.c'],
+ runtime_library_dirs=self.lib_dirs,
libraries=['gdbm']))
else:
self.missing.append('_gdbm')
@@ -1645,6 +1651,7 @@ def detect_sqlite(self):
define_macros=sqlite_defines,
include_dirs=include_dirs,
library_dirs=sqlite_libdir,
+ runtime_library_dirs=self.lib_dirs,
extra_link_args=sqlite_extra_link_args,
libraries=["sqlite3",]))
else:
@@ -1710,6 +1717,7 @@ def detect_compress_exts(self):
zlib_extra_link_args = ()
self.add(Extension('zlib', ['zlibmodule.c'],
libraries=['z'],
+ runtime_library_dirs=self.lib_dirs,
extra_link_args=zlib_extra_link_args))
have_zlib = True
else:
@@ -1732,6 +1740,7 @@ def detect_compress_exts(self):
self.add(Extension('binascii', ['binascii.c'],
extra_compile_args=extra_compile_args,
libraries=libraries,
+ runtime_library_dirs=self.lib_dirs,
extra_link_args=extra_link_args))
# Gustavo Niemeyer's bz2 module.
@@ -1742,6 +1751,7 @@ def detect_compress_exts(self):
bz2_extra_link_args = ()
self.add(Extension('_bz2', ['_bz2module.c'],
libraries=['bz2'],
+ runtime_library_dirs=self.lib_dirs,
extra_link_args=bz2_extra_link_args))
elif (self.compiler.find_library_file(self.lib_dirs, 'bz2d')):
if MACOS:
@@ -1750,6 +1760,7 @@ def detect_compress_exts(self):
bz2_extra_link_args = ()
self.add(Extension('_bz2', ['_bz2module.c'],
libraries=['bz2d'],
+ runtime_library_dirs=self.lib_dirs,
extra_link_args=bz2_extra_link_args))
else:
self.missing.append('_bz2')
@@ -1757,6 +1768,7 @@ def detect_compress_exts(self):
# LZMA compression support.
if self.compiler.find_library_file(self.lib_dirs, 'lzma'):
self.add(Extension('_lzma', ['_lzmamodule.c'],
+ runtime_library_dirs=self.lib_dirs,
libraries=['lzma']))
else:
self.missing.append('_lzma')
@@ -1819,6 +1831,7 @@ def detect_expat_elementtree(self):
extra_compile_args=extra_compile_args,
include_dirs=expat_inc,
libraries=expat_lib,
+ runtime_library_dirs=self.lib_dirs,
sources=['pyexpat.c'] + expat_sources,
depends=expat_depends))
@@ -1831,6 +1844,7 @@ def detect_expat_elementtree(self):
define_macros=define_macros,
include_dirs=expat_inc,
libraries=expat_lib,
+ runtime_library_dirs=self.lib_dirs,
sources=['_elementtree.c'],
depends=['pyexpat.c', *expat_sources,
*expat_depends]))
@@ -1883,6 +1897,7 @@ def detect_uuid(self):
else:
uuid_libs = []
self.add(Extension('_uuid', ['_uuidmodule.c'],
+ runtime_library_dirs=self.lib_dirs,
libraries=uuid_libs))
else:
self.missing.append('_uuid')
@@ -2319,6 +2334,7 @@ def detect_ctypes(self):
ext.extra_compile_args.append("-DHAVE_FFI_CLOSURE_ALLOC=1")
ext.include_dirs.append(ffi_inc)
+ ext.runtime_library_dirs = self.lib_dirs
ext.libraries.append(ffi_lib)
self.use_system_libffi = True
@@ -2485,7 +2501,7 @@ def split_var(name, sep):
include_dirs=openssl_includes,
library_dirs=openssl_libdirs,
libraries=openssl_libs,
- runtime_library_dirs=runtime_library_dirs,
+ runtime_library_dirs=self.lib_dirs,
)
# This static linking is NOT OFFICIALLY SUPPORTED.
@@ -2639,6 +2655,7 @@ def detect_nis(self):
self.add(Extension('nis', ['nismodule.c'],
libraries=libs,
library_dirs=library_dirs,
+ runtime_library_dirs=self.lib_dirs,
include_dirs=includes_dirs))