mirror of
https://github.com/RustPython/RustPython.git
synced 2026-06-02 19:39:49 +09:00
Update distutils.{command.install,sysconfig} to fix pip warnings
This commit is contained in:
5
Lib/distutils/command/install.py
vendored
5
Lib/distutils/command/install.py
vendored
@@ -78,6 +78,11 @@ if HAS_USER_SITE:
|
||||
'data' : '$userbase',
|
||||
}
|
||||
|
||||
# XXX RUSTPYTHON: replace python with rustpython in all these paths
|
||||
for group in INSTALL_SCHEMES.values():
|
||||
for key in group.keys():
|
||||
group[key] = group[key].replace("Python", "RustPython").replace("python", "rustpython")
|
||||
|
||||
# The keys to an installation scheme; if any new types of files are to be
|
||||
# installed, be sure to add an entry to every installation scheme above,
|
||||
# and to SCHEME_KEYS here.
|
||||
|
||||
84
Lib/distutils/sysconfig.py
vendored
84
Lib/distutils/sysconfig.py
vendored
@@ -13,7 +13,6 @@ import _imp
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import fnmatch
|
||||
|
||||
from .errors import DistutilsPlatformError
|
||||
|
||||
@@ -24,36 +23,47 @@ BASE_PREFIX = os.path.normpath(sys.base_prefix)
|
||||
BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix)
|
||||
|
||||
# Path to the base directory of the project. On Windows the binary may
|
||||
# live in project/PCBuild/win32 or project/PCBuild/amd64.
|
||||
# live in project/PCbuild/win32 or project/PCbuild/amd64.
|
||||
# set for cross builds
|
||||
if "_PYTHON_PROJECT_BASE" in os.environ:
|
||||
project_base = os.path.abspath(os.environ["_PYTHON_PROJECT_BASE"])
|
||||
else:
|
||||
project_base = os.path.dirname(os.path.abspath(sys.executable))
|
||||
if (os.name == 'nt' and
|
||||
project_base.lower().endswith(('\\pcbuild\\win32', '\\pcbuild\\amd64'))):
|
||||
project_base = os.path.dirname(os.path.dirname(project_base))
|
||||
if sys.executable:
|
||||
project_base = os.path.dirname(os.path.abspath(sys.executable))
|
||||
else:
|
||||
# sys.executable can be empty if argv[0] has been changed and Python is
|
||||
# unable to retrieve the real program name
|
||||
project_base = os.getcwd()
|
||||
|
||||
|
||||
# python_build: (Boolean) if true, we're either building Python or
|
||||
# building an extension with an un-installed Python, so we use
|
||||
# different (hard-wired) directories.
|
||||
# Setup.local is available for Makefile builds including VPATH builds,
|
||||
# Setup.dist is available on Windows
|
||||
def _is_python_source_dir(d):
|
||||
for fn in ("Setup.dist", "Setup.local"):
|
||||
for fn in ("Setup", "Setup.local"):
|
||||
if os.path.isfile(os.path.join(d, "Modules", fn)):
|
||||
return True
|
||||
return False
|
||||
|
||||
_sys_home = getattr(sys, '_home', None)
|
||||
if (_sys_home and os.name == 'nt' and
|
||||
_sys_home.lower().endswith(('\\pcbuild\\win32', '\\pcbuild\\amd64'))):
|
||||
_sys_home = os.path.dirname(os.path.dirname(_sys_home))
|
||||
|
||||
if os.name == 'nt':
|
||||
def _fix_pcbuild(d):
|
||||
if d and os.path.normcase(d).startswith(
|
||||
os.path.normcase(os.path.join(PREFIX, "PCbuild"))):
|
||||
return PREFIX
|
||||
return d
|
||||
project_base = _fix_pcbuild(project_base)
|
||||
_sys_home = _fix_pcbuild(_sys_home)
|
||||
|
||||
def _python_build():
|
||||
if _sys_home:
|
||||
return _is_python_source_dir(_sys_home)
|
||||
return _is_python_source_dir(project_base)
|
||||
|
||||
python_build = _python_build()
|
||||
|
||||
|
||||
# Calculate the build qualifier flags if they are defined. Adding the flags
|
||||
# to the include and lib directories only makes sense for an installation, not
|
||||
# an in-source build.
|
||||
@@ -100,11 +110,13 @@ def get_python_inc(plat_specific=0, prefix=None):
|
||||
incdir = os.path.join(get_config_var('srcdir'), 'Include')
|
||||
return os.path.normpath(incdir)
|
||||
python_dir = 'python' + get_python_version() + build_flags
|
||||
if not python_build and plat_specific:
|
||||
import sysconfig
|
||||
return sysconfig.get_path('platinclude')
|
||||
return os.path.join(prefix, "include", python_dir)
|
||||
elif os.name == "nt":
|
||||
if python_build:
|
||||
# Include both the include and PC dir to ensure we can find
|
||||
# pyconfig.h
|
||||
return (os.path.join(prefix, "include") + os.path.pathsep +
|
||||
os.path.join(prefix, "PC"))
|
||||
return os.path.join(prefix, "include")
|
||||
else:
|
||||
raise DistutilsPlatformError(
|
||||
@@ -126,7 +138,6 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
|
||||
If 'prefix' is supplied, use it instead of sys.base_prefix or
|
||||
sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
|
||||
"""
|
||||
is_default_prefix = not prefix or os.path.normpath(prefix) in ('/usr', '/usr/local')
|
||||
if prefix is None:
|
||||
if standard_lib:
|
||||
prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
|
||||
@@ -134,16 +145,18 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
|
||||
prefix = plat_specific and EXEC_PREFIX or PREFIX
|
||||
|
||||
if os.name == "posix":
|
||||
libpython = os.path.join(prefix,
|
||||
"lib", "python" + get_python_version())
|
||||
if plat_specific or standard_lib:
|
||||
# Platform-specific modules (any module from a non-pure-Python
|
||||
# module distribution) or standard Python library modules.
|
||||
libdir = sys.platlibdir
|
||||
else:
|
||||
# Pure Python
|
||||
libdir = "lib"
|
||||
libpython = os.path.join(prefix, libdir,
|
||||
# XXX RUSTPYTHON: changed from python->rustpython
|
||||
"rustpython" + get_python_version())
|
||||
if standard_lib:
|
||||
return libpython
|
||||
elif (is_default_prefix and
|
||||
'PYTHONUSERBASE' not in os.environ and
|
||||
'VIRTUAL_ENV' not in os.environ and
|
||||
'real_prefix' not in sys.__dict__ and
|
||||
sys.prefix == sys.base_prefix):
|
||||
return os.path.join(prefix, "lib", "python3", "dist-packages")
|
||||
else:
|
||||
return os.path.join(libpython, "site-packages")
|
||||
elif os.name == "nt":
|
||||
@@ -181,11 +194,9 @@ def customize_compiler(compiler):
|
||||
_osx_support.customize_compiler(_config_vars)
|
||||
_config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
|
||||
|
||||
(cc, cxx, opt, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags,
|
||||
configure_cppflags, configure_cflags, configure_ldflags) = \
|
||||
get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
|
||||
'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS',
|
||||
'CONFIGURE_CPPFLAGS', 'CONFIGURE_CFLAGS', 'CONFIGURE_LDFLAGS')
|
||||
(cc, cxx, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \
|
||||
get_config_vars('CC', 'CXX', 'CFLAGS',
|
||||
'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS')
|
||||
|
||||
if 'CC' in os.environ:
|
||||
newcc = os.environ['CC']
|
||||
@@ -198,10 +209,6 @@ def customize_compiler(compiler):
|
||||
cc = newcc
|
||||
if 'CXX' in os.environ:
|
||||
cxx = os.environ['CXX']
|
||||
if fnmatch.filter([cc, cxx], '*-4.[0-8]'):
|
||||
configure_cflags = configure_cflags.replace('-fstack-protector-strong', '-fstack-protector')
|
||||
ldshared = ldshared.replace('-fstack-protector-strong', '-fstack-protector')
|
||||
cflags = cflags.replace('-fstack-protector-strong', '-fstack-protector')
|
||||
if 'LDSHARED' in os.environ:
|
||||
ldshared = os.environ['LDSHARED']
|
||||
if 'CPP' in os.environ:
|
||||
@@ -210,22 +217,13 @@ def customize_compiler(compiler):
|
||||
cpp = cc + " -E" # not always
|
||||
if 'LDFLAGS' in os.environ:
|
||||
ldshared = ldshared + ' ' + os.environ['LDFLAGS']
|
||||
elif configure_ldflags:
|
||||
ldshared = ldshared + ' ' + configure_ldflags
|
||||
if 'CFLAGS' in os.environ:
|
||||
cflags = opt + ' ' + os.environ['CFLAGS']
|
||||
cflags = cflags + ' ' + os.environ['CFLAGS']
|
||||
ldshared = ldshared + ' ' + os.environ['CFLAGS']
|
||||
elif configure_cflags:
|
||||
cflags = opt + ' ' + configure_cflags
|
||||
ldshared = ldshared + ' ' + configure_cflags
|
||||
if 'CPPFLAGS' in os.environ:
|
||||
cpp = cpp + ' ' + os.environ['CPPFLAGS']
|
||||
cflags = cflags + ' ' + os.environ['CPPFLAGS']
|
||||
ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
|
||||
elif configure_cppflags:
|
||||
cpp = cpp + ' ' + configure_cppflags
|
||||
cflags = cflags + ' ' + configure_cppflags
|
||||
ldshared = ldshared + ' ' + configure_cppflags
|
||||
if 'AR' in os.environ:
|
||||
ar = os.environ['AR']
|
||||
if 'ARFLAGS' in os.environ:
|
||||
|
||||
Reference in New Issue
Block a user