blob: bbe309c556820c32e9cbe5452d67b332fb5e2771 [file] [log] [blame]
Patrick Williams56b44a92024-01-19 08:49:29 -06001From 46eea664cf89d0602e7ff16d587c37c045b125b7 Mon Sep 17 00:00:00 2001
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05002From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Thu, 10 Dec 2015 13:20:30 +0200
Brad Bishopc342db32019-05-15 21:57:59 -04004Subject: [PATCH] Don't search /usr and so on for libraries by default to
5
Brad Bishop316dfdd2018-06-25 12:45:53 -04006 avoid host contamination.
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05007
8Upstream-Status: Inappropriate (As the code stands, this is a hack)
9Signed-off-by: Ross Burton <ross.burton@intel.com>
10Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Patrick Williams56b44a92024-01-19 08:49:29 -060011
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050012---
Andrew Geissler5f350902021-07-23 13:09:54 -040013 numpy/distutils/system_info.py | 42 +++++-----------------------------
14 1 file changed, 6 insertions(+), 36 deletions(-)
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050015
Brad Bishop316dfdd2018-06-25 12:45:53 -040016diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
Patrick Williams56b44a92024-01-19 08:49:29 -060017index feb28f6..a48d6d1 100644
Brad Bishop316dfdd2018-06-25 12:45:53 -040018--- a/numpy/distutils/system_info.py
19+++ b/numpy/distutils/system_info.py
Patrick Williams56b44a92024-01-19 08:49:29 -060020@@ -327,44 +327,14 @@ def add_system_root(library_root):
Andrew Geissler475cb722020-07-10 16:00:51 -050021 add_system_root(os.path.join(conda_dir, 'Library'))
Brad Bishopc342db32019-05-15 21:57:59 -040022
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050023 else:
24- default_lib_dirs = libpaths(['/usr/local/lib', '/opt/lib', '/usr/lib',
25- '/opt/local/lib', '/sw/lib'], platform_bits)
26 default_runtime_dirs = []
27- default_include_dirs = ['/usr/local/include',
Andrew Geissler5f350902021-07-23 13:09:54 -040028- '/opt/include',
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050029- # path of umfpack under macports
30- '/opt/local/include/ufsparse',
31- '/opt/local/include', '/sw/include',
32- '/usr/include/suitesparse']
33- default_src_dirs = ['.', '/usr/local/src', '/opt/src', '/sw/src']
Brad Bishop316dfdd2018-06-25 12:45:53 -040034-
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050035- default_x11_lib_dirs = libpaths(['/usr/X11R6/lib', '/usr/X11/lib',
36- '/usr/lib'], platform_bits)
Andrew Geissler5f350902021-07-23 13:09:54 -040037- default_x11_include_dirs = ['/usr/X11R6/include', '/usr/X11/include']
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050038-
39- if os.path.exists('/usr/lib/X11'):
40- globbed_x11_dir = glob('/usr/lib/*/libX11.so')
41- if globbed_x11_dir:
42- x11_so_dir = os.path.split(globbed_x11_dir[0])[0]
43- default_x11_lib_dirs.extend([x11_so_dir, '/usr/lib/X11'])
44- default_x11_include_dirs.extend(['/usr/lib/X11/include',
45- '/usr/include/X11'])
46-
Brad Bishop79641f22019-09-10 07:20:22 -040047- with open(os.devnull, 'w') as tmp:
48- try:
49- p = subprocess.Popen(["gcc", "-print-multiarch"], stdout=subprocess.PIPE,
50- stderr=tmp)
51- except (OSError, DistutilsError):
52- # OSError if gcc is not installed, or SandboxViolation (DistutilsError
53- # subclass) if an old setuptools bug is triggered (see gh-3160).
54- pass
55- else:
56- triplet = str(p.communicate()[0].decode().strip())
57- if p.returncode == 0:
58- # gcc supports the "-print-multiarch" option
59- default_x11_lib_dirs += [os.path.join("/usr/lib/", triplet)]
60- default_lib_dirs += [os.path.join("/usr/lib/", triplet)]
Andrew Geissler5f350902021-07-23 13:09:54 -040061
Brad Bishop316dfdd2018-06-25 12:45:53 -040062+ default_lib_dirs = libpaths(['/deadir/lib'], platform_bits)
63+ default_include_dirs = ['/deaddir/include']
64+ default_src_dirs = ['.', '/deaddir/src']
Andrew Geissler5f350902021-07-23 13:09:54 -040065+
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050066+ default_x11_lib_dirs = libpaths(['/deaddir/lib'], platform_bits)
67+ default_x11_include_dirs = ['/deaddir/include']
68
69 if os.path.join(sys.prefix, 'lib') not in default_lib_dirs:
70 default_lib_dirs.insert(0, os.path.join(sys.prefix, 'lib'))