/opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/distutils
NameSizeModeActions
checks/-0755rm
command/-0755rm
fcompiler/-0755rm
mingw/-0755rm
tests/-0755rm
__pycache__/-0755rm
armccompiler.py9620644editdlrm
ccompiler.py281260644editdlrm
ccompiler_opt.py1000340644editdlrm
conv_template.py95360644editdlrm
core.py81730644editdlrm
cpuinfo.py226390644editdlrm
exec_command.py102830644editdlrm
extension.py35680644editdlrm
from_template.py79130644editdlrm
intelccompiler.py42340644editdlrm
lib2def.py36300644editdlrm
line_endings.py20320644editdlrm
log.py28790644editdlrm
mingw32ccompiler.py220760644editdlrm
misc_util.py893690644editdlrm
msvc9compiler.py21920644editdlrm
msvccompiler.py26470644editdlrm
npy_pkg_config.py129720644editdlrm
numpy_distribution.py6340644editdlrm
pathccompiler.py7130644editdlrm
setup.py6340644editdlrm
system_info.py1110280644editdlrm
unixccompiler.py54260644editdlrm
_shell_utils.py26130644editdlrm
__config__.py51550644editdlrm
__init__.py20740644editdlrm
__init__.pyi1190644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/distutils/msvccompiler.py (2647B)
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