]> granicus.if.org Git - python/commitdiff
Issue #28046: get_sysconfigdata_name() uses the _PYTHON_SYSCONFIGDATA_NAME
authorXavier de Gaye <xdegaye@users.sourceforge.net>
Sun, 11 Sep 2016 20:22:24 +0000 (22:22 +0200)
committerXavier de Gaye <xdegaye@users.sourceforge.net>
Sun, 11 Sep 2016 20:22:24 +0000 (22:22 +0200)
environment variable that is defined when cross-compiling.

Lib/distutils/sysconfig.py
Lib/sysconfig.py
configure
configure.ac

index 229626e1b42b55ad79a6ee2d0e09caf28a88aebc..8bf1a7016bdf420dd3a0fecd56e9d195477637cb 100644 (file)
@@ -418,11 +418,12 @@ _config_vars = None
 def _init_posix():
     """Initialize the module as appropriate for POSIX systems."""
     # _sysconfigdata is generated at build time, see the sysconfig module
-    name = '_sysconfigdata_{abi}_{platform}_{multiarch}'.format(
+    name = os.environ.get('_PYTHON_SYSCONFIGDATA_NAME',
+        '_sysconfigdata_{abi}_{platform}_{multiarch}'.format(
         abi=sys.abiflags,
         platform=sys.platform,
         multiarch=getattr(sys.implementation, '_multiarch', ''),
-    )
+    ))
     _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0)
     build_time_vars = _temp.build_time_vars
     global _config_vars
index 13275dea349af73c18627a4e89c1245669174643..9314e71a2f82b759a197d45ab6133fcd555930bd 100644 (file)
@@ -342,19 +342,13 @@ def get_makefile_filename():
     return os.path.join(get_path('stdlib'), config_dir_name, 'Makefile')
 
 
-def _get_sysconfigdata_name(vars=None):
-    if vars is None:
-        return '_sysconfigdata_{abi}_{platform}_{multiarch}'.format(
-            abi=sys.abiflags,
-            platform=sys.platform,
-            multiarch=getattr(sys.implementation, '_multiarch', ''),
-        )
-    else:
-        return '_sysconfigdata_{abi}_{platform}_{multiarch}'.format(
-            abi=vars['ABIFLAGS'],
-            platform=vars['MACHDEP'],
-            multiarch=vars.get('MULTIARCH', ''),
-        )
+def _get_sysconfigdata_name():
+    return os.environ.get('_PYTHON_SYSCONFIGDATA_NAME',
+        '_sysconfigdata_{abi}_{platform}_{multiarch}'.format(
+        abi=sys.abiflags,
+        platform=sys.platform,
+        multiarch=getattr(sys.implementation, '_multiarch', ''),
+    ))
 
 
 def _generate_posix_vars():
@@ -397,7 +391,7 @@ def _generate_posix_vars():
     # _sysconfigdata module manually and populate it with the build vars.
     # This is more than sufficient for ensuring the subsequent call to
     # get_platform() succeeds.
-    name = _get_sysconfigdata_name(vars)
+    name = _get_sysconfigdata_name()
     if 'darwin' in sys.platform:
         import types
         module = types.ModuleType(name)
index d4515a691905e4630b2d49cfdb6bee116f1c20be..0924e234d64ae2f39dc809563c961cbe3ec7ab5a 100755 (executable)
--- a/configure
+++ b/configure
@@ -784,7 +784,6 @@ infodir
 docdir
 oldincludedir
 includedir
-runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -895,7 +894,6 @@ datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1148,15 +1146,6 @@ do
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
-  -runstatedir | --runstatedir | --runstatedi | --runstated \
-  | --runstate | --runstat | --runsta | --runst | --runs \
-  | --run | --ru | --r)
-    ac_prev=runstatedir ;;
-  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
-  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
-  | --run=* | --ru=* | --r=*)
-    runstatedir=$ac_optarg ;;
-
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1294,7 +1283,7 @@ fi
 for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
                datadir sysconfdir sharedstatedir localstatedir includedir \
                oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir runstatedir
+               libdir localedir mandir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1447,7 +1436,6 @@ Fine tuning of the installation directories:
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -2940,7 +2928,7 @@ $as_echo_n "checking for python interpreter for cross build... " >&6; }
        fi
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $interp" >&5
 $as_echo "$interp" >&6; }
-       PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib '$interp
+       PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp
     fi
     # Used to comment out stuff for rebuilding generated files
     GENERATED_COMMENT='#'
index 0eaa06c5c175d37aa2f456b205c7e8a239f19e24..731b93087d45ff3c1b3b25a389e207c89670e4fa 100644 (file)
@@ -78,7 +78,7 @@ if test "$cross_compiling" = yes; then
            AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found])
        fi
         AC_MSG_RESULT($interp)
-       PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib '$interp
+       PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp
     fi
     # Used to comment out stuff for rebuilding generated files
     GENERATED_COMMENT='#'