diff options
author | doko@ubuntu.com <doko@ubuntu.com> | 2012-06-30 18:42:45 (GMT) |
---|---|---|
committer | doko@ubuntu.com <doko@ubuntu.com> | 2012-06-30 18:42:45 (GMT) |
commit | 1abe1c5fe13ca64c54e16db25de7c4dd5578a7c1 (patch) | |
tree | 8ea445f4288eaa7db6407625b0c74a22625d3b37 /configure.ac | |
parent | b457b9be4deac2460cb8ac741af6a723d6cb4f88 (diff) | |
download | cpython-1abe1c5fe13ca64c54e16db25de7c4dd5578a7c1.zip cpython-1abe1c5fe13ca64c54e16db25de7c4dd5578a7c1.tar.gz cpython-1abe1c5fe13ca64c54e16db25de7c4dd5578a7c1.tar.bz2 |
- Issue #14330: For cross builds, don't use host python, use host search paths
for host compiler.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index c0ed024..91a588a 100644 --- a/configure.ac +++ b/configure.ac @@ -35,6 +35,27 @@ AC_CONFIG_HEADER(pyconfig.h) AC_CANONICAL_HOST +if test "$cross_compiling" = yes; then + AC_MSG_CHECKING([for python interpreter for cross build]) + if test -z "$PYTHON_FOR_BUILD"; then + for interp in python$PACKAGE_VERSION python3 python; do + which $interp >/dev/null 2>&1 || continue + if $interp -c 'import sys;sys.exit(not sys.version_info@<:@:2@:>@ >= (3,3))'; then + break + fi + interp= + done + if test x$interp = x; then + AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found]) + fi + AC_MSG_RESULT($interp) + PYTHON_FOR_BUILD="_PROJECT_BASE=$srcdir"' _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(srcdir)/Lib:$(srcdir)/Lib/plat-$(MACHDEP) '$interp + fi +else + PYTHON_FOR_BUILD='./$(BUILDPYTHON) -E' +fi +AC_SUBST(PYTHON_FOR_BUILD) + dnl Ensure that if prefix is specified, it does not end in a slash. If dnl it does, we get path names containing '//' which is both ugly and dnl can cause trouble. @@ -352,6 +373,29 @@ then '') MACHDEP="unknown";; esac fi + +AC_SUBST(_PYTHON_HOST_PLATFORM) +if test "$cross_compiling" = yes; then + case "$host" in + *-*-linux*) + case "$host_cpu" in + arm*) + _host_cpu=arm + ;; + *) + _host_cpu=$host_cpu + esac + ;; + *-*-cygwin*) + _host_cpu= + ;; + *) + # for now, limit cross builds to known configurations + MACHDEP="unknown" + AC_MSG_ERROR([cross build not supported for $host]) + esac + _PYTHON_HOST_PLATFORM="$MACHDEP${_host_cpu:+-$_host_cpu}" +fi # Some systems cannot stand _XOPEN_SOURCE being defined at all; they # disable features if it is defined, without any means to access these @@ -913,6 +957,10 @@ else # shared is disabled esac fi +if test "$cross_compiling" = yes; then + RUNSHARED= +fi + AC_MSG_RESULT($LDLIBRARY) AC_PROG_RANLIB |