/usr/share/cagefs-skeleton/opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/distutils
import os from distutils.msvccompiler import MSVCCompiler as _MSVCCompiler from .system_info import platform_bits def _merge(old, new): """Concatenate two environment paths avoiding repeats. Here `old` is the environment string before the base class initialize function is called and `new` is the string after the call. The new string will be a fixed string if it is not obtained from the current environment, or the same as the old string if obtained from the same environment. The aim here is not to append the new string if it is already contained in the old string so as to limit the growth of the environment string. Parameters ---------- old : string Previous environment string. new : string New environment string. Returns ------- ret : string Updated environment string. """ if new in old: return old if not old: return new # Neither new nor old is empty. Give old priority. return ';'.join([old, new]) class MSVCCompiler(_MSVCCompiler): def __init__(self, verbose=0, dry_run=0, force=0): _MSVCCompiler.__init__(self, verbose, dry_run, force) def initialize(self): # The 'lib' and 'include' variables may be overwritten # by MSVCCompiler.initialize, so save them for later merge. environ_lib = os.getenv('lib', '') environ_include = os.getenv('include', '') _MSVCCompiler.initialize(self) # Merge current and previous values of 'lib' and 'include' os.environ['lib'] = _merge(environ_lib, os.environ['lib']) os.environ['include'] = _merge(environ_include, os.environ['include']) # msvc9 building for 32 bits requires SSE2 to work around a # compiler bug. if platform_bits == 32: self.compile_options += ['/arch:SSE2'] self.compile_options_debug += ['/arch:SSE2'] def lib_opts_if_msvc(build_cmd): """ Add flags if we are using MSVC compiler We can't see `build_cmd` in our scope, because we have not initialized the distutils build command, so use this deferred calculation to run when we are building the library. """ if build_cmd.compiler.compiler_type != 'msvc': return [] # Explicitly disable whole-program optimization. flags = ['/GL-'] # Disable voltbl section for vc142 to allow link using mingw-w64; see: # https://github.com/matthew-brett/dll_investigation/issues/1#issuecomment-1100468171 if build_cmd.compiler_opt.cc_test_flags(['-d2VolatileMetadata-']): flags.append('-d2VolatileMetadata-') return flags
.
Edit
..
Edit
__config__.py
Edit
__init__.py
Edit
__init__.pyi
Edit
__pycache__
Edit
_shell_utils.py
Edit
armccompiler.py
Edit
ccompiler.py
Edit
ccompiler_opt.py
Edit
checks
Edit
command
Edit
conv_template.py
Edit
core.py
Edit
cpuinfo.py
Edit
exec_command.py
Edit
extension.py
Edit
fcompiler
Edit
from_template.py
Edit
fujitsuccompiler.py
Edit
intelccompiler.py
Edit
lib2def.py
Edit
line_endings.py
Edit
log.py
Edit
mingw
Edit
mingw32ccompiler.py
Edit
misc_util.py
Edit
msvc9compiler.py
Edit
msvccompiler.py
Edit
npy_pkg_config.py
Edit
numpy_distribution.py
Edit
pathccompiler.py
Edit
setup.py
Edit
system_info.py
Edit
tests
Edit
unixccompiler.py
Edit