Merge "Push out python local patches to toolchain/python.git"
diff --git a/build/tools/build-host-python.sh b/build/tools/build-host-python.sh
index 08738ff..cf6aa6b 100755
--- a/build/tools/build-host-python.sh
+++ b/build/tools/build-host-python.sh
@@ -53,7 +53,7 @@
TOOLCHAIN_SRC_DIR=
register_var_option "--toolchain-src-dir=<path>" TOOLCHAIN_SRC_DIR "Select toolchain source directory"
-PYTHON_VERSION=2.7.3
+PYTHON_VERSION=$DEFAULT_PYTHON_VERSION
register_var_option "--python-version=<version>" PYTHON_VERSION "Select Python version."
NDK_DIR=$ANDROID_NDK_ROOT
diff --git a/build/tools/dev-defaults.sh b/build/tools/dev-defaults.sh
index ea3099f..5b6c0e3 100644
--- a/build/tools/dev-defaults.sh
+++ b/build/tools/dev-defaults.sh
@@ -40,6 +40,7 @@
DEFAULT_MPC_VERSION=1.0.1
DEFAULT_CLOOG_VERSION=0.17.0
DEFAULT_PPL_VERSION=1.0
+DEFAULT_PYTHON_VERSION=2.7.3
# Default platform to build target binaries against.
DEFAULT_PLATFORM=android-9
diff --git a/build/tools/download-toolchain-sources.sh b/build/tools/download-toolchain-sources.sh
index 6e77e3a..ef14b5a 100755
--- a/build/tools/download-toolchain-sources.sh
+++ b/build/tools/download-toolchain-sources.sh
@@ -194,6 +194,7 @@
toolchain_clone binutils
toolchain_clone gcc
toolchain_clone gdb
+toolchain_clone python
toolchain_clone clang
toolchain_clone llvm
@@ -207,6 +208,7 @@
toolchain_checkout "" $BRANCH binutils binutils-2.19 binutils-2.21 binutils-2.22
toolchain_checkout "" $BRANCH gcc gcc-4.4.3 gcc-4.6 gcc-4.7
toolchain_checkout "" $BRANCH gdb gdb-6.6 gdb-7.3.x
+toolchain_checkout "" $BRANCH python Python-2.7.3
for LLVM_VERSION in $LLVM_VERSION_LIST; do
LLVM_VERSION_NO_DOT=$(echo $LLVM_VERSION | sed -e 's!\.!!g')
@@ -228,11 +230,6 @@
find . -name "configure" -exec touch {} \; )
done
-PYVERSION=2.7.3
-PYVERSION_FOLDER=$(echo ${PYVERSION} | sed 's/\([0-9\.]*\).*/\1/')
-dump "Downloading http://www.python.org/ftp/python/${PYVERSION_FOLDER}/Python-${PYVERSION}.tar.bz2"
-(mkdir -p $TMPDIR/python && cd $TMPDIR/python && run curl -S -O http://www.python.org/ftp/python/${PYVERSION_FOLDER}/Python-${PYVERSION}.tar.bz2 && tar -xjf Python-${PYVERSION}.tar.bz2)
-
# Patch the toolchain sources
if [ "$OPTION_NO_PATCHES" != "yes" ]; then
PATCHES_DIR="$PROGDIR/toolchain-patches"
diff --git a/build/tools/toolchain-patches/python/Python-2.7.3/0000-CROSS.patch b/build/tools/toolchain-patches/python/Python-2.7.3/0000-CROSS.patch
deleted file mode 100644
index e4a84ee..0000000
--- a/build/tools/toolchain-patches/python/Python-2.7.3/0000-CROSS.patch
+++ /dev/null
@@ -1,4614 +0,0 @@
-diff -urN a/config.guess b/config.guess
---- a/config.guess 1970-01-01 01:00:00.000000000 +0100
-+++ b/config.guess 2012-06-25 19:39:10.609815624 +0100
-@@ -0,0 +1,1530 @@
-+#! /bin/sh
-+# Attempt to guess a canonical system name.
-+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-+# 2011, 2012 Free Software Foundation, Inc.
-+
-+timestamp='2012-02-10'
-+
-+# This file is free software; you can redistribute it and/or modify it
-+# under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful, but
-+# WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, see <http://www.gnu.org/licenses/>.
-+#
-+# As a special exception to the GNU General Public License, if you
-+# distribute this file as part of a program that contains a
-+# configuration script generated by Autoconf, you may include it under
-+# the same distribution terms that you use for the rest of that program.
-+
-+
-+# Originally written by Per Bothner. Please send patches (context
-+# diff format) to <config-patches@gnu.org> and include a ChangeLog
-+# entry.
-+#
-+# This script attempts to guess a canonical system name similar to
-+# config.sub. If it succeeds, it prints the system name on stdout, and
-+# exits with 0. Otherwise, it exits with 1.
-+#
-+# You can get the latest version of this script from:
-+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-+
-+me=`echo "$0" | sed -e 's,.*/,,'`
-+
-+usage="\
-+Usage: $0 [OPTION]
-+
-+Output the configuration name of the system \`$me' is run on.
-+
-+Operation modes:
-+ -h, --help print this help, then exit
-+ -t, --time-stamp print date of last modification, then exit
-+ -v, --version print version number, then exit
-+
-+Report bugs and patches to <config-patches@gnu.org>."
-+
-+version="\
-+GNU config.guess ($timestamp)
-+
-+Originally written by Per Bothner.
-+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-+Free Software Foundation, Inc.
-+
-+This is free software; see the source for copying conditions. There is NO
-+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-+
-+help="
-+Try \`$me --help' for more information."
-+
-+# Parse command line
-+while test $# -gt 0 ; do
-+ case $1 in
-+ --time-stamp | --time* | -t )
-+ echo "$timestamp" ; exit ;;
-+ --version | -v )
-+ echo "$version" ; exit ;;
-+ --help | --h* | -h )
-+ echo "$usage"; exit ;;
-+ -- ) # Stop option processing
-+ shift; break ;;
-+ - ) # Use stdin as input.
-+ break ;;
-+ -* )
-+ echo "$me: invalid option $1$help" >&2
-+ exit 1 ;;
-+ * )
-+ break ;;
-+ esac
-+done
-+
-+if test $# != 0; then
-+ echo "$me: too many arguments$help" >&2
-+ exit 1
-+fi
-+
-+trap 'exit 1' 1 2 15
-+
-+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-+# compiler to aid in system detection is discouraged as it requires
-+# temporary files to be created and, as you can see below, it is a
-+# headache to deal with in a portable fashion.
-+
-+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-+# use `HOST_CC' if defined, but it is deprecated.
-+
-+# Portable tmp directory creation inspired by the Autoconf team.
-+
-+set_cc_for_build='
-+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-+: ${TMPDIR=/tmp} ;
-+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
-+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
-+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
-+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-+dummy=$tmp/dummy ;
-+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-+case $CC_FOR_BUILD,$HOST_CC,$CC in
-+ ,,) echo "int x;" > $dummy.c ;
-+ for c in cc gcc c89 c99 ; do
-+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-+ CC_FOR_BUILD="$c"; break ;
-+ fi ;
-+ done ;
-+ if test x"$CC_FOR_BUILD" = x ; then
-+ CC_FOR_BUILD=no_compiler_found ;
-+ fi
-+ ;;
-+ ,,*) CC_FOR_BUILD=$CC ;;
-+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-+esac ; set_cc_for_build= ;'
-+
-+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-+# (ghazi@noc.rutgers.edu 1994-08-24)
-+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-+ PATH=$PATH:/.attbin ; export PATH
-+fi
-+
-+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-+
-+# Note: order is significant - the case branches are not exclusive.
-+
-+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-+ *:NetBSD:*:*)
-+ # NetBSD (nbsd) targets should (where applicable) match one or
-+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
-+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
-+ # switched to ELF, *-*-netbsd* would select the old
-+ # object file format. This provides both forward
-+ # compatibility and a consistent mechanism for selecting the
-+ # object file format.
-+ #
-+ # Note: NetBSD doesn't particularly care about the vendor
-+ # portion of the name. We always set it to "unknown".
-+ sysctl="sysctl -n hw.machine_arch"
-+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-+ case "${UNAME_MACHINE_ARCH}" in
-+ armeb) machine=armeb-unknown ;;
-+ arm*) machine=arm-unknown ;;
-+ sh3el) machine=shl-unknown ;;
-+ sh3eb) machine=sh-unknown ;;
-+ sh5el) machine=sh5le-unknown ;;
-+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
-+ esac
-+ # The Operating System including object format, if it has switched
-+ # to ELF recently, or will in the future.
-+ case "${UNAME_MACHINE_ARCH}" in
-+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-+ eval $set_cc_for_build
-+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-+ | grep -q __ELF__
-+ then
-+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-+ # Return netbsd for either. FIX?
-+ os=netbsd
-+ else
-+ os=netbsdelf
-+ fi
-+ ;;
-+ *)
-+ os=netbsd
-+ ;;
-+ esac
-+ # The OS release
-+ # Debian GNU/NetBSD machines have a different userland, and
-+ # thus, need a distinct triplet. However, they do not need
-+ # kernel version information, so it can be replaced with a
-+ # suitable tag, in the style of linux-gnu.
-+ case "${UNAME_VERSION}" in
-+ Debian*)
-+ release='-gnu'
-+ ;;
-+ *)
-+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-+ ;;
-+ esac
-+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-+ # contains redundant information, the shorter form:
-+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-+ echo "${machine}-${os}${release}"
-+ exit ;;
-+ *:OpenBSD:*:*)
-+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-+ exit ;;
-+ *:ekkoBSD:*:*)
-+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-+ exit ;;
-+ *:SolidBSD:*:*)
-+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
-+ exit ;;
-+ macppc:MirBSD:*:*)
-+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
-+ exit ;;
-+ *:MirBSD:*:*)
-+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-+ exit ;;
-+ alpha:OSF1:*:*)
-+ case $UNAME_RELEASE in
-+ *4.0)
-+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-+ ;;
-+ *5.*)
-+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-+ ;;
-+ esac
-+ # According to Compaq, /usr/sbin/psrinfo has been available on
-+ # OSF/1 and Tru64 systems produced since 1995. I hope that
-+ # covers most systems running today. This code pipes the CPU
-+ # types through head -n 1, so we only detect the type of CPU 0.
-+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-+ case "$ALPHA_CPU_TYPE" in
-+ "EV4 (21064)")
-+ UNAME_MACHINE="alpha" ;;
-+ "EV4.5 (21064)")
-+ UNAME_MACHINE="alpha" ;;
-+ "LCA4 (21066/21068)")
-+ UNAME_MACHINE="alpha" ;;
-+ "EV5 (21164)")
-+ UNAME_MACHINE="alphaev5" ;;
-+ "EV5.6 (21164A)")
-+ UNAME_MACHINE="alphaev56" ;;
-+ "EV5.6 (21164PC)")
-+ UNAME_MACHINE="alphapca56" ;;
-+ "EV5.7 (21164PC)")
-+ UNAME_MACHINE="alphapca57" ;;
-+ "EV6 (21264)")
-+ UNAME_MACHINE="alphaev6" ;;
-+ "EV6.7 (21264A)")
-+ UNAME_MACHINE="alphaev67" ;;
-+ "EV6.8CB (21264C)")
-+ UNAME_MACHINE="alphaev68" ;;
-+ "EV6.8AL (21264B)")
-+ UNAME_MACHINE="alphaev68" ;;
-+ "EV6.8CX (21264D)")
-+ UNAME_MACHINE="alphaev68" ;;
-+ "EV6.9A (21264/EV69A)")
-+ UNAME_MACHINE="alphaev69" ;;
-+ "EV7 (21364)")
-+ UNAME_MACHINE="alphaev7" ;;
-+ "EV7.9 (21364A)")
-+ UNAME_MACHINE="alphaev79" ;;
-+ esac
-+ # A Pn.n version is a patched version.
-+ # A Vn.n version is a released version.
-+ # A Tn.n version is a released field test version.
-+ # A Xn.n version is an unreleased experimental baselevel.
-+ # 1.2 uses "1.2" for uname -r.
-+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
-+ exitcode=$?
-+ trap '' 0
-+ exit $exitcode ;;
-+ Alpha\ *:Windows_NT*:*)
-+ # How do we know it's Interix rather than the generic POSIX subsystem?
-+ # Should we change UNAME_MACHINE based on the output of uname instead
-+ # of the specific Alpha model?
-+ echo alpha-pc-interix
-+ exit ;;
-+ 21064:Windows_NT:50:3)
-+ echo alpha-dec-winnt3.5
-+ exit ;;
-+ Amiga*:UNIX_System_V:4.0:*)
-+ echo m68k-unknown-sysv4
-+ exit ;;
-+ *:[Aa]miga[Oo][Ss]:*:*)
-+ echo ${UNAME_MACHINE}-unknown-amigaos
-+ exit ;;
-+ *:[Mm]orph[Oo][Ss]:*:*)
-+ echo ${UNAME_MACHINE}-unknown-morphos
-+ exit ;;
-+ *:OS/390:*:*)
-+ echo i370-ibm-openedition
-+ exit ;;
-+ *:z/VM:*:*)
-+ echo s390-ibm-zvmoe
-+ exit ;;
-+ *:OS400:*:*)
-+ echo powerpc-ibm-os400
-+ exit ;;
-+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-+ echo arm-acorn-riscix${UNAME_RELEASE}
-+ exit ;;
-+ arm:riscos:*:*|arm:RISCOS:*:*)
-+ echo arm-unknown-riscos
-+ exit ;;
-+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-+ echo hppa1.1-hitachi-hiuxmpp
-+ exit ;;
-+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
-+ echo pyramid-pyramid-sysv3
-+ else
-+ echo pyramid-pyramid-bsd
-+ fi
-+ exit ;;
-+ NILE*:*:*:dcosx)
-+ echo pyramid-pyramid-svr4
-+ exit ;;
-+ DRS?6000:unix:4.0:6*)
-+ echo sparc-icl-nx6
-+ exit ;;
-+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
-+ case `/usr/bin/uname -p` in
-+ sparc) echo sparc-icl-nx7; exit ;;
-+ esac ;;
-+ s390x:SunOS:*:*)
-+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ sun4H:SunOS:5.*:*)
-+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-+ echo i386-pc-auroraux${UNAME_RELEASE}
-+ exit ;;
-+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-+ eval $set_cc_for_build
-+ SUN_ARCH="i386"
-+ # If there is a compiler, see if it is configured for 64-bit objects.
-+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
-+ # This test works for both compilers.
-+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-+ grep IS_64BIT_ARCH >/dev/null
-+ then
-+ SUN_ARCH="x86_64"
-+ fi
-+ fi
-+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ sun4*:SunOS:6*:*)
-+ # According to config.sub, this is the proper way to canonicalize
-+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
-+ # it's likely to be more like Solaris than SunOS4.
-+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ sun4*:SunOS:*:*)
-+ case "`/usr/bin/arch -k`" in
-+ Series*|S4*)
-+ UNAME_RELEASE=`uname -v`
-+ ;;
-+ esac
-+ # Japanese Language versions have a version number like `4.1.3-JL'.
-+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-+ exit ;;
-+ sun3*:SunOS:*:*)
-+ echo m68k-sun-sunos${UNAME_RELEASE}
-+ exit ;;
-+ sun*:*:4.2BSD:*)
-+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-+ case "`/bin/arch`" in
-+ sun3)
-+ echo m68k-sun-sunos${UNAME_RELEASE}
-+ ;;
-+ sun4)
-+ echo sparc-sun-sunos${UNAME_RELEASE}
-+ ;;
-+ esac
-+ exit ;;
-+ aushp:SunOS:*:*)
-+ echo sparc-auspex-sunos${UNAME_RELEASE}
-+ exit ;;
-+ # The situation for MiNT is a little confusing. The machine name
-+ # can be virtually everything (everything which is not
-+ # "atarist" or "atariste" at least should have a processor
-+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
-+ # to the lowercase version "mint" (or "freemint"). Finally
-+ # the system name "TOS" denotes a system which is actually not
-+ # MiNT. But MiNT is downward compatible to TOS, so this should
-+ # be no problem.
-+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-+ echo m68k-atari-mint${UNAME_RELEASE}
-+ exit ;;
-+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-+ echo m68k-atari-mint${UNAME_RELEASE}
-+ exit ;;
-+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-+ echo m68k-atari-mint${UNAME_RELEASE}
-+ exit ;;
-+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-+ echo m68k-milan-mint${UNAME_RELEASE}
-+ exit ;;
-+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-+ echo m68k-hades-mint${UNAME_RELEASE}
-+ exit ;;
-+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-+ echo m68k-unknown-mint${UNAME_RELEASE}
-+ exit ;;
-+ m68k:machten:*:*)
-+ echo m68k-apple-machten${UNAME_RELEASE}
-+ exit ;;
-+ powerpc:machten:*:*)
-+ echo powerpc-apple-machten${UNAME_RELEASE}
-+ exit ;;
-+ RISC*:Mach:*:*)
-+ echo mips-dec-mach_bsd4.3
-+ exit ;;
-+ RISC*:ULTRIX:*:*)
-+ echo mips-dec-ultrix${UNAME_RELEASE}
-+ exit ;;
-+ VAX*:ULTRIX*:*:*)
-+ echo vax-dec-ultrix${UNAME_RELEASE}
-+ exit ;;
-+ 2020:CLIX:*:* | 2430:CLIX:*:*)
-+ echo clipper-intergraph-clix${UNAME_RELEASE}
-+ exit ;;
-+ mips:*:*:UMIPS | mips:*:*:RISCos)
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+#ifdef __cplusplus
-+#include <stdio.h> /* for printf() prototype */
-+ int main (int argc, char *argv[]) {
-+#else
-+ int main (argc, argv) int argc; char *argv[]; {
-+#endif
-+ #if defined (host_mips) && defined (MIPSEB)
-+ #if defined (SYSTYPE_SYSV)
-+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-+ #endif
-+ #if defined (SYSTYPE_SVR4)
-+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-+ #endif
-+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-+ #endif
-+ #endif
-+ exit (-1);
-+ }
-+EOF
-+ $CC_FOR_BUILD -o $dummy $dummy.c &&
-+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-+ SYSTEM_NAME=`$dummy $dummyarg` &&
-+ { echo "$SYSTEM_NAME"; exit; }
-+ echo mips-mips-riscos${UNAME_RELEASE}
-+ exit ;;
-+ Motorola:PowerMAX_OS:*:*)
-+ echo powerpc-motorola-powermax
-+ exit ;;
-+ Motorola:*:4.3:PL8-*)
-+ echo powerpc-harris-powermax
-+ exit ;;
-+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-+ echo powerpc-harris-powermax
-+ exit ;;
-+ Night_Hawk:Power_UNIX:*:*)
-+ echo powerpc-harris-powerunix
-+ exit ;;
-+ m88k:CX/UX:7*:*)
-+ echo m88k-harris-cxux7
-+ exit ;;
-+ m88k:*:4*:R4*)
-+ echo m88k-motorola-sysv4
-+ exit ;;
-+ m88k:*:3*:R3*)
-+ echo m88k-motorola-sysv3
-+ exit ;;
-+ AViiON:dgux:*:*)
-+ # DG/UX returns AViiON for all architectures
-+ UNAME_PROCESSOR=`/usr/bin/uname -p`
-+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-+ then
-+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-+ [ ${TARGET_BINARY_INTERFACE}x = x ]
-+ then
-+ echo m88k-dg-dgux${UNAME_RELEASE}
-+ else
-+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
-+ fi
-+ else
-+ echo i586-dg-dgux${UNAME_RELEASE}
-+ fi
-+ exit ;;
-+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
-+ echo m88k-dolphin-sysv3
-+ exit ;;
-+ M88*:*:R3*:*)
-+ # Delta 88k system running SVR3
-+ echo m88k-motorola-sysv3
-+ exit ;;
-+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-+ echo m88k-tektronix-sysv3
-+ exit ;;
-+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-+ echo m68k-tektronix-bsd
-+ exit ;;
-+ *:IRIX*:*:*)
-+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-+ exit ;;
-+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
-+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
-+ i*86:AIX:*:*)
-+ echo i386-ibm-aix
-+ exit ;;
-+ ia64:AIX:*:*)
-+ if [ -x /usr/bin/oslevel ] ; then
-+ IBM_REV=`/usr/bin/oslevel`
-+ else
-+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-+ fi
-+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-+ exit ;;
-+ *:AIX:2:3)
-+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+ #include <sys/systemcfg.h>
-+
-+ main()
-+ {
-+ if (!__power_pc())
-+ exit(1);
-+ puts("powerpc-ibm-aix3.2.5");
-+ exit(0);
-+ }
-+EOF
-+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
-+ then
-+ echo "$SYSTEM_NAME"
-+ else
-+ echo rs6000-ibm-aix3.2.5
-+ fi
-+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-+ echo rs6000-ibm-aix3.2.4
-+ else
-+ echo rs6000-ibm-aix3.2
-+ fi
-+ exit ;;
-+ *:AIX:*:[4567])
-+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-+ IBM_ARCH=rs6000
-+ else
-+ IBM_ARCH=powerpc
-+ fi
-+ if [ -x /usr/bin/oslevel ] ; then
-+ IBM_REV=`/usr/bin/oslevel`
-+ else
-+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-+ fi
-+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-+ exit ;;
-+ *:AIX:*:*)
-+ echo rs6000-ibm-aix
-+ exit ;;
-+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-+ echo romp-ibm-bsd4.4
-+ exit ;;
-+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
-+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
-+ exit ;; # report: romp-ibm BSD 4.3
-+ *:BOSX:*:*)
-+ echo rs6000-bull-bosx
-+ exit ;;
-+ DPX/2?00:B.O.S.:*:*)
-+ echo m68k-bull-sysv3
-+ exit ;;
-+ 9000/[34]??:4.3bsd:1.*:*)
-+ echo m68k-hp-bsd
-+ exit ;;
-+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-+ echo m68k-hp-bsd4.4
-+ exit ;;
-+ 9000/[34678]??:HP-UX:*:*)
-+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-+ case "${UNAME_MACHINE}" in
-+ 9000/31? ) HP_ARCH=m68000 ;;
-+ 9000/[34]?? ) HP_ARCH=m68k ;;
-+ 9000/[678][0-9][0-9])
-+ if [ -x /usr/bin/getconf ]; then
-+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-+ case "${sc_cpu_version}" in
-+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-+ 532) # CPU_PA_RISC2_0
-+ case "${sc_kernel_bits}" in
-+ 32) HP_ARCH="hppa2.0n" ;;
-+ 64) HP_ARCH="hppa2.0w" ;;
-+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
-+ esac ;;
-+ esac
-+ fi
-+ if [ "${HP_ARCH}" = "" ]; then
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+
-+ #define _HPUX_SOURCE
-+ #include <stdlib.h>
-+ #include <unistd.h>
-+
-+ int main ()
-+ {
-+ #if defined(_SC_KERNEL_BITS)
-+ long bits = sysconf(_SC_KERNEL_BITS);
-+ #endif
-+ long cpu = sysconf (_SC_CPU_VERSION);
-+
-+ switch (cpu)
-+ {
-+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-+ case CPU_PA_RISC2_0:
-+ #if defined(_SC_KERNEL_BITS)
-+ switch (bits)
-+ {
-+ case 64: puts ("hppa2.0w"); break;
-+ case 32: puts ("hppa2.0n"); break;
-+ default: puts ("hppa2.0"); break;
-+ } break;
-+ #else /* !defined(_SC_KERNEL_BITS) */
-+ puts ("hppa2.0"); break;
-+ #endif
-+ default: puts ("hppa1.0"); break;
-+ }
-+ exit (0);
-+ }
-+EOF
-+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-+ test -z "$HP_ARCH" && HP_ARCH=hppa
-+ fi ;;
-+ esac
-+ if [ ${HP_ARCH} = "hppa2.0w" ]
-+ then
-+ eval $set_cc_for_build
-+
-+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
-+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
-+ # generating 64-bit code. GNU and HP use different nomenclature:
-+ #
-+ # $ CC_FOR_BUILD=cc ./config.guess
-+ # => hppa2.0w-hp-hpux11.23
-+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
-+ # => hppa64-hp-hpux11.23
-+
-+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-+ grep -q __LP64__
-+ then
-+ HP_ARCH="hppa2.0w"
-+ else
-+ HP_ARCH="hppa64"
-+ fi
-+ fi
-+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-+ exit ;;
-+ ia64:HP-UX:*:*)
-+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-+ echo ia64-hp-hpux${HPUX_REV}
-+ exit ;;
-+ 3050*:HI-UX:*:*)
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+ #include <unistd.h>
-+ int
-+ main ()
-+ {
-+ long cpu = sysconf (_SC_CPU_VERSION);
-+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
-+ results, however. */
-+ if (CPU_IS_PA_RISC (cpu))
-+ {
-+ switch (cpu)
-+ {
-+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-+ default: puts ("hppa-hitachi-hiuxwe2"); break;
-+ }
-+ }
-+ else if (CPU_IS_HP_MC68K (cpu))
-+ puts ("m68k-hitachi-hiuxwe2");
-+ else puts ("unknown-hitachi-hiuxwe2");
-+ exit (0);
-+ }
-+EOF
-+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
-+ { echo "$SYSTEM_NAME"; exit; }
-+ echo unknown-hitachi-hiuxwe2
-+ exit ;;
-+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-+ echo hppa1.1-hp-bsd
-+ exit ;;
-+ 9000/8??:4.3bsd:*:*)
-+ echo hppa1.0-hp-bsd
-+ exit ;;
-+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-+ echo hppa1.0-hp-mpeix
-+ exit ;;
-+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-+ echo hppa1.1-hp-osf
-+ exit ;;
-+ hp8??:OSF1:*:*)
-+ echo hppa1.0-hp-osf
-+ exit ;;
-+ i*86:OSF1:*:*)
-+ if [ -x /usr/sbin/sysversion ] ; then
-+ echo ${UNAME_MACHINE}-unknown-osf1mk
-+ else
-+ echo ${UNAME_MACHINE}-unknown-osf1
-+ fi
-+ exit ;;
-+ parisc*:Lites*:*:*)
-+ echo hppa1.1-hp-lites
-+ exit ;;
-+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-+ echo c1-convex-bsd
-+ exit ;;
-+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-+ if getsysinfo -f scalar_acc
-+ then echo c32-convex-bsd
-+ else echo c2-convex-bsd
-+ fi
-+ exit ;;
-+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-+ echo c34-convex-bsd
-+ exit ;;
-+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-+ echo c38-convex-bsd
-+ exit ;;
-+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-+ echo c4-convex-bsd
-+ exit ;;
-+ CRAY*Y-MP:*:*:*)
-+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ CRAY*[A-Z]90:*:*:*)
-+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-+ -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ CRAY*TS:*:*:*)
-+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ CRAY*T3E:*:*:*)
-+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ CRAY*SV1:*:*:*)
-+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ *:UNICOS/mp:*:*)
-+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit ;;
-+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-+ exit ;;
-+ 5000:UNIX_System_V:4.*:*)
-+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-+ exit ;;
-+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-+ exit ;;
-+ sparc*:BSD/OS:*:*)
-+ echo sparc-unknown-bsdi${UNAME_RELEASE}
-+ exit ;;
-+ *:BSD/OS:*:*)
-+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-+ exit ;;
-+ *:FreeBSD:*:*)
-+ UNAME_PROCESSOR=`/usr/bin/uname -p`
-+ case ${UNAME_PROCESSOR} in
-+ amd64)
-+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-+ *)
-+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-+ esac
-+ exit ;;
-+ i*:CYGWIN*:*)
-+ echo ${UNAME_MACHINE}-pc-cygwin
-+ exit ;;
-+ *:MINGW*:*)
-+ echo ${UNAME_MACHINE}-pc-mingw32
-+ exit ;;
-+ i*:MSYS*:*)
-+ echo ${UNAME_MACHINE}-pc-msys
-+ exit ;;
-+ i*:windows32*:*)
-+ # uname -m includes "-pc" on this system.
-+ echo ${UNAME_MACHINE}-mingw32
-+ exit ;;
-+ i*:PW*:*)
-+ echo ${UNAME_MACHINE}-pc-pw32
-+ exit ;;
-+ *:Interix*:*)
-+ case ${UNAME_MACHINE} in
-+ x86)
-+ echo i586-pc-interix${UNAME_RELEASE}
-+ exit ;;
-+ authenticamd | genuineintel | EM64T)
-+ echo x86_64-unknown-interix${UNAME_RELEASE}
-+ exit ;;
-+ IA64)
-+ echo ia64-unknown-interix${UNAME_RELEASE}
-+ exit ;;
-+ esac ;;
-+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-+ echo i${UNAME_MACHINE}-pc-mks
-+ exit ;;
-+ 8664:Windows_NT:*)
-+ echo x86_64-pc-mks
-+ exit ;;
-+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-+ # How do we know it's Interix rather than the generic POSIX subsystem?
-+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-+ # UNAME_MACHINE based on the output of uname instead of i386?
-+ echo i586-pc-interix
-+ exit ;;
-+ i*:UWIN*:*)
-+ echo ${UNAME_MACHINE}-pc-uwin
-+ exit ;;
-+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-+ echo x86_64-unknown-cygwin
-+ exit ;;
-+ p*:CYGWIN*:*)
-+ echo powerpcle-unknown-cygwin
-+ exit ;;
-+ prep*:SunOS:5.*:*)
-+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit ;;
-+ *:GNU:*:*)
-+ # the GNU system
-+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-+ exit ;;
-+ *:GNU/*:*:*)
-+ # other systems with GNU libc and userland
-+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
-+ exit ;;
-+ i*86:Minix:*:*)
-+ echo ${UNAME_MACHINE}-pc-minix
-+ exit ;;
-+ aarch64:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ aarch64_be:Linux:*:*)
-+ UNAME_MACHINE=aarch64_be
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ alpha:Linux:*:*)
-+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-+ EV5) UNAME_MACHINE=alphaev5 ;;
-+ EV56) UNAME_MACHINE=alphaev56 ;;
-+ PCA56) UNAME_MACHINE=alphapca56 ;;
-+ PCA57) UNAME_MACHINE=alphapca56 ;;
-+ EV6) UNAME_MACHINE=alphaev6 ;;
-+ EV67) UNAME_MACHINE=alphaev67 ;;
-+ EV68*) UNAME_MACHINE=alphaev68 ;;
-+ esac
-+ objdump --private-headers /bin/sh | grep -q ld.so.1
-+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-+ exit ;;
-+ arm*:Linux:*:*)
-+ eval $set_cc_for_build
-+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
-+ | grep -q __ARM_EABI__
-+ then
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ else
-+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
-+ | grep -q __ARM_PCS_VFP
-+ then
-+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
-+ else
-+ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
-+ fi
-+ fi
-+ exit ;;
-+ avr32*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ cris:Linux:*:*)
-+ echo ${UNAME_MACHINE}-axis-linux-gnu
-+ exit ;;
-+ crisv32:Linux:*:*)
-+ echo ${UNAME_MACHINE}-axis-linux-gnu
-+ exit ;;
-+ frv:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ hexagon:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ i*86:Linux:*:*)
-+ LIBC=gnu
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+ #ifdef __dietlibc__
-+ LIBC=dietlibc
-+ #endif
-+EOF
-+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-+ exit ;;
-+ ia64:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ m32r*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ m68*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ mips:Linux:*:* | mips64:Linux:*:*)
-+ eval $set_cc_for_build
-+ sed 's/^ //' << EOF >$dummy.c
-+ #undef CPU
-+ #undef ${UNAME_MACHINE}
-+ #undef ${UNAME_MACHINE}el
-+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-+ CPU=${UNAME_MACHINE}el
-+ #else
-+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-+ CPU=${UNAME_MACHINE}
-+ #else
-+ CPU=
-+ #endif
-+ #endif
-+EOF
-+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-+ ;;
-+ or32:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ padre:Linux:*:*)
-+ echo sparc-unknown-linux-gnu
-+ exit ;;
-+ parisc64:Linux:*:* | hppa64:Linux:*:*)
-+ echo hppa64-unknown-linux-gnu
-+ exit ;;
-+ parisc:Linux:*:* | hppa:Linux:*:*)
-+ # Look for CPU level
-+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
-+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
-+ *) echo hppa-unknown-linux-gnu ;;
-+ esac
-+ exit ;;
-+ ppc64:Linux:*:*)
-+ echo powerpc64-unknown-linux-gnu
-+ exit ;;
-+ ppc:Linux:*:*)
-+ echo powerpc-unknown-linux-gnu
-+ exit ;;
-+ s390:Linux:*:* | s390x:Linux:*:*)
-+ echo ${UNAME_MACHINE}-ibm-linux
-+ exit ;;
-+ sh64*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ sh*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ sparc:Linux:*:* | sparc64:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ tile*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ vax:Linux:*:*)
-+ echo ${UNAME_MACHINE}-dec-linux-gnu
-+ exit ;;
-+ x86_64:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ xtensa*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
-+ i*86:DYNIX/ptx:4*:*)
-+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-+ # earlier versions are messed up and put the nodename in both
-+ # sysname and nodename.
-+ echo i386-sequent-sysv4
-+ exit ;;
-+ i*86:UNIX_SV:4.2MP:2.*)
-+ # Unixware is an offshoot of SVR4, but it has its own version
-+ # number series starting with 2...
-+ # I am not positive that other SVR4 systems won't match this,
-+ # I just have to hope. -- rms.
-+ # Use sysv4.2uw... so that sysv4* matches it.
-+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-+ exit ;;
-+ i*86:OS/2:*:*)
-+ # If we were able to find `uname', then EMX Unix compatibility
-+ # is probably installed.
-+ echo ${UNAME_MACHINE}-pc-os2-emx
-+ exit ;;
-+ i*86:XTS-300:*:STOP)
-+ echo ${UNAME_MACHINE}-unknown-stop
-+ exit ;;
-+ i*86:atheos:*:*)
-+ echo ${UNAME_MACHINE}-unknown-atheos
-+ exit ;;
-+ i*86:syllable:*:*)
-+ echo ${UNAME_MACHINE}-pc-syllable
-+ exit ;;
-+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-+ echo i386-unknown-lynxos${UNAME_RELEASE}
-+ exit ;;
-+ i*86:*DOS:*:*)
-+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
-+ exit ;;
-+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-+ else
-+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-+ fi
-+ exit ;;
-+ i*86:*:5:[678]*)
-+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
-+ case `/bin/uname -X | grep "^Machine"` in
-+ *486*) UNAME_MACHINE=i486 ;;
-+ *Pentium) UNAME_MACHINE=i586 ;;
-+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-+ esac
-+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-+ exit ;;
-+ i*86:*:3.2:*)
-+ if test -f /usr/options/cb.name; then
-+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
-+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
-+ && UNAME_MACHINE=i586
-+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
-+ && UNAME_MACHINE=i686
-+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
-+ && UNAME_MACHINE=i686
-+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-+ else
-+ echo ${UNAME_MACHINE}-pc-sysv32
-+ fi
-+ exit ;;
-+ pc:*:*:*)
-+ # Left here for compatibility:
-+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
-+ # the processor, so we play safe by assuming i586.
-+ # Note: whatever this is, it MUST be the same as what config.sub
-+ # prints for the "djgpp" host, or else GDB configury will decide that
-+ # this is a cross-build.
-+ echo i586-pc-msdosdjgpp
-+ exit ;;
-+ Intel:Mach:3*:*)
-+ echo i386-pc-mach3
-+ exit ;;
-+ paragon:*:*:*)
-+ echo i860-intel-osf1
-+ exit ;;
-+ i860:*:4.*:*) # i860-SVR4
-+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-+ else # Add other i860-SVR4 vendors below as they are discovered.
-+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
-+ fi
-+ exit ;;
-+ mini*:CTIX:SYS*5:*)
-+ # "miniframe"
-+ echo m68010-convergent-sysv
-+ exit ;;
-+ mc68k:UNIX:SYSTEM5:3.51m)
-+ echo m68k-convergent-sysv
-+ exit ;;
-+ M680?0:D-NIX:5.3:*)
-+ echo m68k-diab-dnix
-+ exit ;;
-+ M68*:*:R3V[5678]*:*)
-+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
-+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
-+ OS_REL=''
-+ test -r /etc/.relid \
-+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-+ && { echo i486-ncr-sysv4; exit; } ;;
-+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
-+ OS_REL='.3'
-+ test -r /etc/.relid \
-+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
-+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
-+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-+ echo m68k-unknown-lynxos${UNAME_RELEASE}
-+ exit ;;
-+ mc68030:UNIX_System_V:4.*:*)
-+ echo m68k-atari-sysv4
-+ exit ;;
-+ TSUNAMI:LynxOS:2.*:*)
-+ echo sparc-unknown-lynxos${UNAME_RELEASE}
-+ exit ;;
-+ rs6000:LynxOS:2.*:*)
-+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
-+ exit ;;
-+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
-+ exit ;;
-+ SM[BE]S:UNIX_SV:*:*)
-+ echo mips-dde-sysv${UNAME_RELEASE}
-+ exit ;;
-+ RM*:ReliantUNIX-*:*:*)
-+ echo mips-sni-sysv4
-+ exit ;;
-+ RM*:SINIX-*:*:*)
-+ echo mips-sni-sysv4
-+ exit ;;
-+ *:SINIX-*:*:*)
-+ if uname -p 2>/dev/null >/dev/null ; then
-+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
-+ echo ${UNAME_MACHINE}-sni-sysv4
-+ else
-+ echo ns32k-sni-sysv
-+ fi
-+ exit ;;
-+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-+ # says <Richard.M.Bartel@ccMail.Census.GOV>
-+ echo i586-unisys-sysv4
-+ exit ;;
-+ *:UNIX_System_V:4*:FTX*)
-+ # From Gerald Hewes <hewes@openmarket.com>.
-+ # How about differentiating between stratus architectures? -djm
-+ echo hppa1.1-stratus-sysv4
-+ exit ;;
-+ *:*:*:FTX*)
-+ # From seanf@swdc.stratus.com.
-+ echo i860-stratus-sysv4
-+ exit ;;
-+ i*86:VOS:*:*)
-+ # From Paul.Green@stratus.com.
-+ echo ${UNAME_MACHINE}-stratus-vos
-+ exit ;;
-+ *:VOS:*:*)
-+ # From Paul.Green@stratus.com.
-+ echo hppa1.1-stratus-vos
-+ exit ;;
-+ mc68*:A/UX:*:*)
-+ echo m68k-apple-aux${UNAME_RELEASE}
-+ exit ;;
-+ news*:NEWS-OS:6*:*)
-+ echo mips-sony-newsos6
-+ exit ;;
-+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-+ if [ -d /usr/nec ]; then
-+ echo mips-nec-sysv${UNAME_RELEASE}
-+ else
-+ echo mips-unknown-sysv${UNAME_RELEASE}
-+ fi
-+ exit ;;
-+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
-+ echo powerpc-be-beos
-+ exit ;;
-+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
-+ echo powerpc-apple-beos
-+ exit ;;
-+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
-+ echo i586-pc-beos
-+ exit ;;
-+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
-+ echo i586-pc-haiku
-+ exit ;;
-+ SX-4:SUPER-UX:*:*)
-+ echo sx4-nec-superux${UNAME_RELEASE}
-+ exit ;;
-+ SX-5:SUPER-UX:*:*)
-+ echo sx5-nec-superux${UNAME_RELEASE}
-+ exit ;;
-+ SX-6:SUPER-UX:*:*)
-+ echo sx6-nec-superux${UNAME_RELEASE}
-+ exit ;;
-+ SX-7:SUPER-UX:*:*)
-+ echo sx7-nec-superux${UNAME_RELEASE}
-+ exit ;;
-+ SX-8:SUPER-UX:*:*)
-+ echo sx8-nec-superux${UNAME_RELEASE}
-+ exit ;;
-+ SX-8R:SUPER-UX:*:*)
-+ echo sx8r-nec-superux${UNAME_RELEASE}
-+ exit ;;
-+ Power*:Rhapsody:*:*)
-+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
-+ exit ;;
-+ *:Rhapsody:*:*)
-+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-+ exit ;;
-+ *:Darwin:*:*)
-+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-+ case $UNAME_PROCESSOR in
-+ i386)
-+ eval $set_cc_for_build
-+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-+ grep IS_64BIT_ARCH >/dev/null
-+ then
-+ UNAME_PROCESSOR="x86_64"
-+ fi
-+ fi ;;
-+ unknown) UNAME_PROCESSOR=powerpc ;;
-+ esac
-+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-+ exit ;;
-+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
-+ UNAME_PROCESSOR=`uname -p`
-+ if test "$UNAME_PROCESSOR" = "x86"; then
-+ UNAME_PROCESSOR=i386
-+ UNAME_MACHINE=pc
-+ fi
-+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-+ exit ;;
-+ *:QNX:*:4*)
-+ echo i386-pc-qnx
-+ exit ;;
-+ NEO-?:NONSTOP_KERNEL:*:*)
-+ echo neo-tandem-nsk${UNAME_RELEASE}
-+ exit ;;
-+ NSE-?:NONSTOP_KERNEL:*:*)
-+ echo nse-tandem-nsk${UNAME_RELEASE}
-+ exit ;;
-+ NSR-?:NONSTOP_KERNEL:*:*)
-+ echo nsr-tandem-nsk${UNAME_RELEASE}
-+ exit ;;
-+ *:NonStop-UX:*:*)
-+ echo mips-compaq-nonstopux
-+ exit ;;
-+ BS2000:POSIX*:*:*)
-+ echo bs2000-siemens-sysv
-+ exit ;;
-+ DS/*:UNIX_System_V:*:*)
-+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-+ exit ;;
-+ *:Plan9:*:*)
-+ # "uname -m" is not consistent, so use $cputype instead. 386
-+ # is converted to i386 for consistency with other x86
-+ # operating systems.
-+ if test "$cputype" = "386"; then
-+ UNAME_MACHINE=i386
-+ else
-+ UNAME_MACHINE="$cputype"
-+ fi
-+ echo ${UNAME_MACHINE}-unknown-plan9
-+ exit ;;
-+ *:TOPS-10:*:*)
-+ echo pdp10-unknown-tops10
-+ exit ;;
-+ *:TENEX:*:*)
-+ echo pdp10-unknown-tenex
-+ exit ;;
-+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-+ echo pdp10-dec-tops20
-+ exit ;;
-+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-+ echo pdp10-xkl-tops20
-+ exit ;;
-+ *:TOPS-20:*:*)
-+ echo pdp10-unknown-tops20
-+ exit ;;
-+ *:ITS:*:*)
-+ echo pdp10-unknown-its
-+ exit ;;
-+ SEI:*:*:SEIUX)
-+ echo mips-sei-seiux${UNAME_RELEASE}
-+ exit ;;
-+ *:DragonFly:*:*)
-+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-+ exit ;;
-+ *:*VMS:*:*)
-+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
-+ case "${UNAME_MACHINE}" in
-+ A*) echo alpha-dec-vms ; exit ;;
-+ I*) echo ia64-dec-vms ; exit ;;
-+ V*) echo vax-dec-vms ; exit ;;
-+ esac ;;
-+ *:XENIX:*:SysV)
-+ echo i386-pc-xenix
-+ exit ;;
-+ i*86:skyos:*:*)
-+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
-+ exit ;;
-+ i*86:rdos:*:*)
-+ echo ${UNAME_MACHINE}-pc-rdos
-+ exit ;;
-+ i*86:AROS:*:*)
-+ echo ${UNAME_MACHINE}-pc-aros
-+ exit ;;
-+ x86_64:VMkernel:*:*)
-+ echo ${UNAME_MACHINE}-unknown-esx
-+ exit ;;
-+esac
-+
-+#echo '(No uname command or uname output not recognized.)' 1>&2
-+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-+
-+eval $set_cc_for_build
-+cat >$dummy.c <<EOF
-+#ifdef _SEQUENT_
-+# include <sys/types.h>
-+# include <sys/utsname.h>
-+#endif
-+main ()
-+{
-+#if defined (sony)
-+#if defined (MIPSEB)
-+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
-+ I don't know.... */
-+ printf ("mips-sony-bsd\n"); exit (0);
-+#else
-+#include <sys/param.h>
-+ printf ("m68k-sony-newsos%s\n",
-+#ifdef NEWSOS4
-+ "4"
-+#else
-+ ""
-+#endif
-+ ); exit (0);
-+#endif
-+#endif
-+
-+#if defined (__arm) && defined (__acorn) && defined (__unix)
-+ printf ("arm-acorn-riscix\n"); exit (0);
-+#endif
-+
-+#if defined (hp300) && !defined (hpux)
-+ printf ("m68k-hp-bsd\n"); exit (0);
-+#endif
-+
-+#if defined (NeXT)
-+#if !defined (__ARCHITECTURE__)
-+#define __ARCHITECTURE__ "m68k"
-+#endif
-+ int version;
-+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-+ if (version < 4)
-+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-+ else
-+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-+ exit (0);
-+#endif
-+
-+#if defined (MULTIMAX) || defined (n16)
-+#if defined (UMAXV)
-+ printf ("ns32k-encore-sysv\n"); exit (0);
-+#else
-+#if defined (CMU)
-+ printf ("ns32k-encore-mach\n"); exit (0);
-+#else
-+ printf ("ns32k-encore-bsd\n"); exit (0);
-+#endif
-+#endif
-+#endif
-+
-+#if defined (__386BSD__)
-+ printf ("i386-pc-bsd\n"); exit (0);
-+#endif
-+
-+#if defined (sequent)
-+#if defined (i386)
-+ printf ("i386-sequent-dynix\n"); exit (0);
-+#endif
-+#if defined (ns32000)
-+ printf ("ns32k-sequent-dynix\n"); exit (0);
-+#endif
-+#endif
-+
-+#if defined (_SEQUENT_)
-+ struct utsname un;
-+
-+ uname(&un);
-+
-+ if (strncmp(un.version, "V2", 2) == 0) {
-+ printf ("i386-sequent-ptx2\n"); exit (0);
-+ }
-+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-+ printf ("i386-sequent-ptx1\n"); exit (0);
-+ }
-+ printf ("i386-sequent-ptx\n"); exit (0);
-+
-+#endif
-+
-+#if defined (vax)
-+# if !defined (ultrix)
-+# include <sys/param.h>
-+# if defined (BSD)
-+# if BSD == 43
-+ printf ("vax-dec-bsd4.3\n"); exit (0);
-+# else
-+# if BSD == 199006
-+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
-+# else
-+ printf ("vax-dec-bsd\n"); exit (0);
-+# endif
-+# endif
-+# else
-+ printf ("vax-dec-bsd\n"); exit (0);
-+# endif
-+# else
-+ printf ("vax-dec-ultrix\n"); exit (0);
-+# endif
-+#endif
-+
-+#if defined (alliant) && defined (i860)
-+ printf ("i860-alliant-bsd\n"); exit (0);
-+#endif
-+
-+ exit (1);
-+}
-+EOF
-+
-+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-+ { echo "$SYSTEM_NAME"; exit; }
-+
-+# Apollos put the system type in the environment.
-+
-+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-+
-+# Convex versions that predate uname can use getsysinfo(1)
-+
-+if [ -x /usr/convex/getsysinfo ]
-+then
-+ case `getsysinfo -f cpu_type` in
-+ c1*)
-+ echo c1-convex-bsd
-+ exit ;;
-+ c2*)
-+ if getsysinfo -f scalar_acc
-+ then echo c32-convex-bsd
-+ else echo c2-convex-bsd
-+ fi
-+ exit ;;
-+ c34*)
-+ echo c34-convex-bsd
-+ exit ;;
-+ c38*)
-+ echo c38-convex-bsd
-+ exit ;;
-+ c4*)
-+ echo c4-convex-bsd
-+ exit ;;
-+ esac
-+fi
-+
-+cat >&2 <<EOF
-+$0: unable to guess system type
-+
-+This script, last modified $timestamp, has failed to recognize
-+the operating system you are using. It is advised that you
-+download the most up to date version of the config scripts from
-+
-+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-+and
-+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-+
-+If the version you run ($0) is already up to date, please
-+send the following data and any information you think might be
-+pertinent to <config-patches@gnu.org> in order to provide the needed
-+information to handle your system.
-+
-+config.guess timestamp = $timestamp
-+
-+uname -m = `(uname -m) 2>/dev/null || echo unknown`
-+uname -r = `(uname -r) 2>/dev/null || echo unknown`
-+uname -s = `(uname -s) 2>/dev/null || echo unknown`
-+uname -v = `(uname -v) 2>/dev/null || echo unknown`
-+
-+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-+
-+hostinfo = `(hostinfo) 2>/dev/null`
-+/bin/universe = `(/bin/universe) 2>/dev/null`
-+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-+/bin/arch = `(/bin/arch) 2>/dev/null`
-+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-+
-+UNAME_MACHINE = ${UNAME_MACHINE}
-+UNAME_RELEASE = ${UNAME_RELEASE}
-+UNAME_SYSTEM = ${UNAME_SYSTEM}
-+UNAME_VERSION = ${UNAME_VERSION}
-+EOF
-+
-+exit 1
-+
-+# Local variables:
-+# eval: (add-hook 'write-file-hooks 'time-stamp)
-+# time-stamp-start: "timestamp='"
-+# time-stamp-format: "%:y-%02m-%02d"
-+# time-stamp-end: "'"
-+# End:
-diff -urN a/config.sub b/config.sub
---- a/config.sub 1970-01-01 01:00:00.000000000 +0100
-+++ b/config.sub 2012-06-25 19:39:10.609815624 +0100
-@@ -0,0 +1,1773 @@
-+#! /bin/sh
-+# Configuration validation subroutine script.
-+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-+# 2011, 2012 Free Software Foundation, Inc.
-+
-+timestamp='2012-02-10'
-+
-+# This file is (in principle) common to ALL GNU software.
-+# The presence of a machine in this file suggests that SOME GNU software
-+# can handle that machine. It does not imply ALL GNU software can.
-+#
-+# This file is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, see <http://www.gnu.org/licenses/>.
-+#
-+# As a special exception to the GNU General Public License, if you
-+# distribute this file as part of a program that contains a
-+# configuration script generated by Autoconf, you may include it under
-+# the same distribution terms that you use for the rest of that program.
-+
-+
-+# Please send patches to <config-patches@gnu.org>. Submit a context
-+# diff and a properly formatted GNU ChangeLog entry.
-+#
-+# Configuration subroutine to validate and canonicalize a configuration type.
-+# Supply the specified configuration type as an argument.
-+# If it is invalid, we print an error message on stderr and exit with code 1.
-+# Otherwise, we print the canonical config type on stdout and succeed.
-+
-+# You can get the latest version of this script from:
-+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-+
-+# This file is supposed to be the same for all GNU packages
-+# and recognize all the CPU types, system types and aliases
-+# that are meaningful with *any* GNU software.
-+# Each package is responsible for reporting which valid configurations
-+# it does not support. The user should be able to distinguish
-+# a failure to support a valid configuration from a meaningless
-+# configuration.
-+
-+# The goal of this file is to map all the various variations of a given
-+# machine specification into a single specification in the form:
-+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-+# or in some cases, the newer four-part form:
-+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-+# It is wrong to echo any other type of specification.
-+
-+me=`echo "$0" | sed -e 's,.*/,,'`
-+
-+usage="\
-+Usage: $0 [OPTION] CPU-MFR-OPSYS
-+ $0 [OPTION] ALIAS
-+
-+Canonicalize a configuration name.
-+
-+Operation modes:
-+ -h, --help print this help, then exit
-+ -t, --time-stamp print date of last modification, then exit
-+ -v, --version print version number, then exit
-+
-+Report bugs and patches to <config-patches@gnu.org>."
-+
-+version="\
-+GNU config.sub ($timestamp)
-+
-+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-+Free Software Foundation, Inc.
-+
-+This is free software; see the source for copying conditions. There is NO
-+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-+
-+help="
-+Try \`$me --help' for more information."
-+
-+# Parse command line
-+while test $# -gt 0 ; do
-+ case $1 in
-+ --time-stamp | --time* | -t )
-+ echo "$timestamp" ; exit ;;
-+ --version | -v )
-+ echo "$version" ; exit ;;
-+ --help | --h* | -h )
-+ echo "$usage"; exit ;;
-+ -- ) # Stop option processing
-+ shift; break ;;
-+ - ) # Use stdin as input.
-+ break ;;
-+ -* )
-+ echo "$me: invalid option $1$help"
-+ exit 1 ;;
-+
-+ *local*)
-+ # First pass through any local machine types.
-+ echo $1
-+ exit ;;
-+
-+ * )
-+ break ;;
-+ esac
-+done
-+
-+case $# in
-+ 0) echo "$me: missing argument$help" >&2
-+ exit 1;;
-+ 1) ;;
-+ *) echo "$me: too many arguments$help" >&2
-+ exit 1;;
-+esac
-+
-+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-+# Here we must recognize all the valid KERNEL-OS combinations.
-+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-+case $maybe_os in
-+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-+ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-+ knetbsd*-gnu* | netbsd*-gnu* | \
-+ kopensolaris*-gnu* | \
-+ storm-chaos* | os2-emx* | rtmk-nova*)
-+ os=-$maybe_os
-+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-+ ;;
-+ android-linux)
-+ os=-linux-android
-+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
-+ ;;
-+ *)
-+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-+ if [ $basic_machine != $1 ]
-+ then os=`echo $1 | sed 's/.*-/-/'`
-+ else os=; fi
-+ ;;
-+esac
-+
-+### Let's recognize common machines as not being operating systems so
-+### that things like config.sub decstation-3100 work. We also
-+### recognize some manufacturers as not being operating systems, so we
-+### can provide default operating systems below.
-+case $os in
-+ -sun*os*)
-+ # Prevent following clause from handling this invalid input.
-+ ;;
-+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-+ -apple | -axis | -knuth | -cray | -microblaze)
-+ os=
-+ basic_machine=$1
-+ ;;
-+ -bluegene*)
-+ os=-cnk
-+ ;;
-+ -sim | -cisco | -oki | -wec | -winbond)
-+ os=
-+ basic_machine=$1
-+ ;;
-+ -scout)
-+ ;;
-+ -wrs)
-+ os=-vxworks
-+ basic_machine=$1
-+ ;;
-+ -chorusos*)
-+ os=-chorusos
-+ basic_machine=$1
-+ ;;
-+ -chorusrdb)
-+ os=-chorusrdb
-+ basic_machine=$1
-+ ;;
-+ -hiux*)
-+ os=-hiuxwe2
-+ ;;
-+ -sco6)
-+ os=-sco5v6
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -sco5)
-+ os=-sco3.2v5
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -sco4)
-+ os=-sco3.2v4
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -sco3.2.[4-9]*)
-+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -sco3.2v[4-9]*)
-+ # Don't forget version if it is 3.2v4 or newer.
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -sco5v6*)
-+ # Don't forget version if it is 3.2v4 or newer.
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -sco*)
-+ os=-sco3.2v2
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -udk*)
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -isc)
-+ os=-isc2.2
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -clix*)
-+ basic_machine=clipper-intergraph
-+ ;;
-+ -isc*)
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
-+ -lynx*)
-+ os=-lynxos
-+ ;;
-+ -ptx*)
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-+ ;;
-+ -windowsnt*)
-+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
-+ ;;
-+ -psos*)
-+ os=-psos
-+ ;;
-+ -mint | -mint[0-9]*)
-+ basic_machine=m68k-atari
-+ os=-mint
-+ ;;
-+esac
-+
-+# Decode aliases for certain CPU-COMPANY combinations.
-+case $basic_machine in
-+ # Recognize the basic CPU types without company name.
-+ # Some are omitted here because they have special meanings below.
-+ 1750a | 580 \
-+ | a29k \
-+ | aarch64 | aarch64_be \
-+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-+ | am33_2.0 \
-+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-+ | be32 | be64 \
-+ | bfin \
-+ | c4x | clipper \
-+ | d10v | d30v | dlx | dsp16xx \
-+ | epiphany \
-+ | fido | fr30 | frv \
-+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-+ | hexagon \
-+ | i370 | i860 | i960 | ia64 \
-+ | ip2k | iq2000 \
-+ | le32 | le64 \
-+ | lm32 \
-+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
-+ | maxq | mb | microblaze | mcore | mep | metag \
-+ | mips | mipsbe | mipseb | mipsel | mipsle \
-+ | mips16 \
-+ | mips64 | mips64el \
-+ | mips64octeon | mips64octeonel \
-+ | mips64orion | mips64orionel \
-+ | mips64r5900 | mips64r5900el \
-+ | mips64vr | mips64vrel \
-+ | mips64vr4100 | mips64vr4100el \
-+ | mips64vr4300 | mips64vr4300el \
-+ | mips64vr5000 | mips64vr5000el \
-+ | mips64vr5900 | mips64vr5900el \
-+ | mipsisa32 | mipsisa32el \
-+ | mipsisa32r2 | mipsisa32r2el \
-+ | mipsisa64 | mipsisa64el \
-+ | mipsisa64r2 | mipsisa64r2el \
-+ | mipsisa64sb1 | mipsisa64sb1el \
-+ | mipsisa64sr71k | mipsisa64sr71kel \
-+ | mipstx39 | mipstx39el \
-+ | mn10200 | mn10300 \
-+ | moxie \
-+ | mt \
-+ | msp430 \
-+ | nds32 | nds32le | nds32be \
-+ | nios | nios2 \
-+ | ns16k | ns32k \
-+ | open8 \
-+ | or32 \
-+ | pdp10 | pdp11 | pj | pjl \
-+ | powerpc | powerpc64 | powerpc64le | powerpcle \
-+ | pyramid \
-+ | rl78 | rx \
-+ | score \
-+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-+ | sh64 | sh64le \
-+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
-+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-+ | spu \
-+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
-+ | ubicom32 \
-+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
-+ | we32k \
-+ | x86 | xc16x | xstormy16 | xtensa \
-+ | z8k | z80)
-+ basic_machine=$basic_machine-unknown
-+ ;;
-+ c54x)
-+ basic_machine=tic54x-unknown
-+ ;;
-+ c55x)
-+ basic_machine=tic55x-unknown
-+ ;;
-+ c6x)
-+ basic_machine=tic6x-unknown
-+ ;;
-+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
-+ basic_machine=$basic_machine-unknown
-+ os=-none
-+ ;;
-+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-+ ;;
-+ ms1)
-+ basic_machine=mt-unknown
-+ ;;
-+
-+ strongarm | thumb | xscale)
-+ basic_machine=arm-unknown
-+ ;;
-+ xgate)
-+ basic_machine=$basic_machine-unknown
-+ os=-none
-+ ;;
-+ xscaleeb)
-+ basic_machine=armeb-unknown
-+ ;;
-+
-+ xscaleel)
-+ basic_machine=armel-unknown
-+ ;;
-+
-+ # We use `pc' rather than `unknown'
-+ # because (1) that's what they normally are, and
-+ # (2) the word "unknown" tends to confuse beginning users.
-+ i*86 | x86_64)
-+ basic_machine=$basic_machine-pc
-+ ;;
-+ # Object if more than one company name word.
-+ *-*-*)
-+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-+ exit 1
-+ ;;
-+ # Recognize the basic CPU types with company name.
-+ 580-* \
-+ | a29k-* \
-+ | aarch64-* | aarch64_be-* \
-+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
-+ | avr-* | avr32-* \
-+ | be32-* | be64-* \
-+ | bfin-* | bs2000-* \
-+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
-+ | clipper-* | craynv-* | cydra-* \
-+ | d10v-* | d30v-* | dlx-* \
-+ | elxsi-* \
-+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
-+ | h8300-* | h8500-* \
-+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-+ | hexagon-* \
-+ | i*86-* | i860-* | i960-* | ia64-* \
-+ | ip2k-* | iq2000-* \
-+ | le32-* | le64-* \
-+ | lm32-* \
-+ | m32c-* | m32r-* | m32rle-* \
-+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
-+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-+ | mips16-* \
-+ | mips64-* | mips64el-* \
-+ | mips64octeon-* | mips64octeonel-* \
-+ | mips64orion-* | mips64orionel-* \
-+ | mips64r5900-* | mips64r5900el-* \
-+ | mips64vr-* | mips64vrel-* \
-+ | mips64vr4100-* | mips64vr4100el-* \
-+ | mips64vr4300-* | mips64vr4300el-* \
-+ | mips64vr5000-* | mips64vr5000el-* \
-+ | mips64vr5900-* | mips64vr5900el-* \
-+ | mipsisa32-* | mipsisa32el-* \
-+ | mipsisa32r2-* | mipsisa32r2el-* \
-+ | mipsisa64-* | mipsisa64el-* \
-+ | mipsisa64r2-* | mipsisa64r2el-* \
-+ | mipsisa64sb1-* | mipsisa64sb1el-* \
-+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
-+ | mipstx39-* | mipstx39el-* \
-+ | mmix-* \
-+ | mt-* \
-+ | msp430-* \
-+ | nds32-* | nds32le-* | nds32be-* \
-+ | nios-* | nios2-* \
-+ | none-* | np1-* | ns16k-* | ns32k-* \
-+ | open8-* \
-+ | orion-* \
-+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
-+ | pyramid-* \
-+ | rl78-* | romp-* | rs6000-* | rx-* \
-+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
-+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
-+ | sparclite-* \
-+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
-+ | tahoe-* \
-+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-+ | tile*-* \
-+ | tron-* \
-+ | ubicom32-* \
-+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
-+ | vax-* \
-+ | we32k-* \
-+ | x86-* | x86_64-* | xc16x-* | xps100-* \
-+ | xstormy16-* | xtensa*-* \
-+ | ymp-* \
-+ | z8k-* | z80-*)
-+ ;;
-+ # Recognize the basic CPU types without company name, with glob match.
-+ xtensa*)
-+ basic_machine=$basic_machine-unknown
-+ ;;
-+ # Recognize the various machine names and aliases which stand
-+ # for a CPU type and a company and sometimes even an OS.
-+ 386bsd)
-+ basic_machine=i386-unknown
-+ os=-bsd
-+ ;;
-+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-+ basic_machine=m68000-att
-+ ;;
-+ 3b*)
-+ basic_machine=we32k-att
-+ ;;
-+ a29khif)
-+ basic_machine=a29k-amd
-+ os=-udi
-+ ;;
-+ abacus)
-+ basic_machine=abacus-unknown
-+ ;;
-+ adobe68k)
-+ basic_machine=m68010-adobe
-+ os=-scout
-+ ;;
-+ alliant | fx80)
-+ basic_machine=fx80-alliant
-+ ;;
-+ altos | altos3068)
-+ basic_machine=m68k-altos
-+ ;;
-+ am29k)
-+ basic_machine=a29k-none
-+ os=-bsd
-+ ;;
-+ amd64)
-+ basic_machine=x86_64-pc
-+ ;;
-+ amd64-*)
-+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ amdahl)
-+ basic_machine=580-amdahl
-+ os=-sysv
-+ ;;
-+ amiga | amiga-*)
-+ basic_machine=m68k-unknown
-+ ;;
-+ amigaos | amigados)
-+ basic_machine=m68k-unknown
-+ os=-amigaos
-+ ;;
-+ amigaunix | amix)
-+ basic_machine=m68k-unknown
-+ os=-sysv4
-+ ;;
-+ apollo68)
-+ basic_machine=m68k-apollo
-+ os=-sysv
-+ ;;
-+ apollo68bsd)
-+ basic_machine=m68k-apollo
-+ os=-bsd
-+ ;;
-+ aros)
-+ basic_machine=i386-pc
-+ os=-aros
-+ ;;
-+ aux)
-+ basic_machine=m68k-apple
-+ os=-aux
-+ ;;
-+ balance)
-+ basic_machine=ns32k-sequent
-+ os=-dynix
-+ ;;
-+ blackfin)
-+ basic_machine=bfin-unknown
-+ os=-linux
-+ ;;
-+ blackfin-*)
-+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ os=-linux
-+ ;;
-+ bluegene*)
-+ basic_machine=powerpc-ibm
-+ os=-cnk
-+ ;;
-+ c54x-*)
-+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ c55x-*)
-+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ c6x-*)
-+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ c90)
-+ basic_machine=c90-cray
-+ os=-unicos
-+ ;;
-+ cegcc)
-+ basic_machine=arm-unknown
-+ os=-cegcc
-+ ;;
-+ convex-c1)
-+ basic_machine=c1-convex
-+ os=-bsd
-+ ;;
-+ convex-c2)
-+ basic_machine=c2-convex
-+ os=-bsd
-+ ;;
-+ convex-c32)
-+ basic_machine=c32-convex
-+ os=-bsd
-+ ;;
-+ convex-c34)
-+ basic_machine=c34-convex
-+ os=-bsd
-+ ;;
-+ convex-c38)
-+ basic_machine=c38-convex
-+ os=-bsd
-+ ;;
-+ cray | j90)
-+ basic_machine=j90-cray
-+ os=-unicos
-+ ;;
-+ craynv)
-+ basic_machine=craynv-cray
-+ os=-unicosmp
-+ ;;
-+ cr16 | cr16-*)
-+ basic_machine=cr16-unknown
-+ os=-elf
-+ ;;
-+ crds | unos)
-+ basic_machine=m68k-crds
-+ ;;
-+ crisv32 | crisv32-* | etraxfs*)
-+ basic_machine=crisv32-axis
-+ ;;
-+ cris | cris-* | etrax*)
-+ basic_machine=cris-axis
-+ ;;
-+ crx)
-+ basic_machine=crx-unknown
-+ os=-elf
-+ ;;
-+ da30 | da30-*)
-+ basic_machine=m68k-da30
-+ ;;
-+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-+ basic_machine=mips-dec
-+ ;;
-+ decsystem10* | dec10*)
-+ basic_machine=pdp10-dec
-+ os=-tops10
-+ ;;
-+ decsystem20* | dec20*)
-+ basic_machine=pdp10-dec
-+ os=-tops20
-+ ;;
-+ delta | 3300 | motorola-3300 | motorola-delta \
-+ | 3300-motorola | delta-motorola)
-+ basic_machine=m68k-motorola
-+ ;;
-+ delta88)
-+ basic_machine=m88k-motorola
-+ os=-sysv3
-+ ;;
-+ dicos)
-+ basic_machine=i686-pc
-+ os=-dicos
-+ ;;
-+ djgpp)
-+ basic_machine=i586-pc
-+ os=-msdosdjgpp
-+ ;;
-+ dpx20 | dpx20-*)
-+ basic_machine=rs6000-bull
-+ os=-bosx
-+ ;;
-+ dpx2* | dpx2*-bull)
-+ basic_machine=m68k-bull
-+ os=-sysv3
-+ ;;
-+ ebmon29k)
-+ basic_machine=a29k-amd
-+ os=-ebmon
-+ ;;
-+ elxsi)
-+ basic_machine=elxsi-elxsi
-+ os=-bsd
-+ ;;
-+ encore | umax | mmax)
-+ basic_machine=ns32k-encore
-+ ;;
-+ es1800 | OSE68k | ose68k | ose | OSE)
-+ basic_machine=m68k-ericsson
-+ os=-ose
-+ ;;
-+ fx2800)
-+ basic_machine=i860-alliant
-+ ;;
-+ genix)
-+ basic_machine=ns32k-ns
-+ ;;
-+ gmicro)
-+ basic_machine=tron-gmicro
-+ os=-sysv
-+ ;;
-+ go32)
-+ basic_machine=i386-pc
-+ os=-go32
-+ ;;
-+ h3050r* | hiux*)
-+ basic_machine=hppa1.1-hitachi
-+ os=-hiuxwe2
-+ ;;
-+ h8300hms)
-+ basic_machine=h8300-hitachi
-+ os=-hms
-+ ;;
-+ h8300xray)
-+ basic_machine=h8300-hitachi
-+ os=-xray
-+ ;;
-+ h8500hms)
-+ basic_machine=h8500-hitachi
-+ os=-hms
-+ ;;
-+ harris)
-+ basic_machine=m88k-harris
-+ os=-sysv3
-+ ;;
-+ hp300-*)
-+ basic_machine=m68k-hp
-+ ;;
-+ hp300bsd)
-+ basic_machine=m68k-hp
-+ os=-bsd
-+ ;;
-+ hp300hpux)
-+ basic_machine=m68k-hp
-+ os=-hpux
-+ ;;
-+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
-+ basic_machine=hppa1.0-hp
-+ ;;
-+ hp9k2[0-9][0-9] | hp9k31[0-9])
-+ basic_machine=m68000-hp
-+ ;;
-+ hp9k3[2-9][0-9])
-+ basic_machine=m68k-hp
-+ ;;
-+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
-+ basic_machine=hppa1.0-hp
-+ ;;
-+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
-+ basic_machine=hppa1.1-hp
-+ ;;
-+ hp9k78[0-9] | hp78[0-9])
-+ # FIXME: really hppa2.0-hp
-+ basic_machine=hppa1.1-hp
-+ ;;
-+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-+ # FIXME: really hppa2.0-hp
-+ basic_machine=hppa1.1-hp
-+ ;;
-+ hp9k8[0-9][13679] | hp8[0-9][13679])
-+ basic_machine=hppa1.1-hp
-+ ;;
-+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
-+ basic_machine=hppa1.0-hp
-+ ;;
-+ hppa-next)
-+ os=-nextstep3
-+ ;;
-+ hppaosf)
-+ basic_machine=hppa1.1-hp
-+ os=-osf
-+ ;;
-+ hppro)
-+ basic_machine=hppa1.1-hp
-+ os=-proelf
-+ ;;
-+ i370-ibm* | ibm*)
-+ basic_machine=i370-ibm
-+ ;;
-+ i*86v32)
-+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-+ os=-sysv32
-+ ;;
-+ i*86v4*)
-+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-+ os=-sysv4
-+ ;;
-+ i*86v)
-+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-+ os=-sysv
-+ ;;
-+ i*86sol2)
-+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-+ os=-solaris2
-+ ;;
-+ i386mach)
-+ basic_machine=i386-mach
-+ os=-mach
-+ ;;
-+ i386-vsta | vsta)
-+ basic_machine=i386-unknown
-+ os=-vsta
-+ ;;
-+ iris | iris4d)
-+ basic_machine=mips-sgi
-+ case $os in
-+ -irix*)
-+ ;;
-+ *)
-+ os=-irix4
-+ ;;
-+ esac
-+ ;;
-+ isi68 | isi)
-+ basic_machine=m68k-isi
-+ os=-sysv
-+ ;;
-+ m68knommu)
-+ basic_machine=m68k-unknown
-+ os=-linux
-+ ;;
-+ m68knommu-*)
-+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ os=-linux
-+ ;;
-+ m88k-omron*)
-+ basic_machine=m88k-omron
-+ ;;
-+ magnum | m3230)
-+ basic_machine=mips-mips
-+ os=-sysv
-+ ;;
-+ merlin)
-+ basic_machine=ns32k-utek
-+ os=-sysv
-+ ;;
-+ microblaze)
-+ basic_machine=microblaze-xilinx
-+ ;;
-+ mingw32)
-+ basic_machine=i386-pc
-+ os=-mingw32
-+ ;;
-+ mingw32ce)
-+ basic_machine=arm-unknown
-+ os=-mingw32ce
-+ ;;
-+ miniframe)
-+ basic_machine=m68000-convergent
-+ ;;
-+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-+ basic_machine=m68k-atari
-+ os=-mint
-+ ;;
-+ mips3*-*)
-+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-+ ;;
-+ mips3*)
-+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-+ ;;
-+ monitor)
-+ basic_machine=m68k-rom68k
-+ os=-coff
-+ ;;
-+ morphos)
-+ basic_machine=powerpc-unknown
-+ os=-morphos
-+ ;;
-+ msdos)
-+ basic_machine=i386-pc
-+ os=-msdos
-+ ;;
-+ ms1-*)
-+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
-+ ;;
-+ msys)
-+ basic_machine=i386-pc
-+ os=-msys
-+ ;;
-+ mvs)
-+ basic_machine=i370-ibm
-+ os=-mvs
-+ ;;
-+ nacl)
-+ basic_machine=le32-unknown
-+ os=-nacl
-+ ;;
-+ ncr3000)
-+ basic_machine=i486-ncr
-+ os=-sysv4
-+ ;;
-+ netbsd386)
-+ basic_machine=i386-unknown
-+ os=-netbsd
-+ ;;
-+ netwinder)
-+ basic_machine=armv4l-rebel
-+ os=-linux
-+ ;;
-+ news | news700 | news800 | news900)
-+ basic_machine=m68k-sony
-+ os=-newsos
-+ ;;
-+ news1000)
-+ basic_machine=m68030-sony
-+ os=-newsos
-+ ;;
-+ news-3600 | risc-news)
-+ basic_machine=mips-sony
-+ os=-newsos
-+ ;;
-+ necv70)
-+ basic_machine=v70-nec
-+ os=-sysv
-+ ;;
-+ next | m*-next )
-+ basic_machine=m68k-next
-+ case $os in
-+ -nextstep* )
-+ ;;
-+ -ns2*)
-+ os=-nextstep2
-+ ;;
-+ *)
-+ os=-nextstep3
-+ ;;
-+ esac
-+ ;;
-+ nh3000)
-+ basic_machine=m68k-harris
-+ os=-cxux
-+ ;;
-+ nh[45]000)
-+ basic_machine=m88k-harris
-+ os=-cxux
-+ ;;
-+ nindy960)
-+ basic_machine=i960-intel
-+ os=-nindy
-+ ;;
-+ mon960)
-+ basic_machine=i960-intel
-+ os=-mon960
-+ ;;
-+ nonstopux)
-+ basic_machine=mips-compaq
-+ os=-nonstopux
-+ ;;
-+ np1)
-+ basic_machine=np1-gould
-+ ;;
-+ neo-tandem)
-+ basic_machine=neo-tandem
-+ ;;
-+ nse-tandem)
-+ basic_machine=nse-tandem
-+ ;;
-+ nsr-tandem)
-+ basic_machine=nsr-tandem
-+ ;;
-+ op50n-* | op60c-*)
-+ basic_machine=hppa1.1-oki
-+ os=-proelf
-+ ;;
-+ openrisc | openrisc-*)
-+ basic_machine=or32-unknown
-+ ;;
-+ os400)
-+ basic_machine=powerpc-ibm
-+ os=-os400
-+ ;;
-+ OSE68000 | ose68000)
-+ basic_machine=m68000-ericsson
-+ os=-ose
-+ ;;
-+ os68k)
-+ basic_machine=m68k-none
-+ os=-os68k
-+ ;;
-+ pa-hitachi)
-+ basic_machine=hppa1.1-hitachi
-+ os=-hiuxwe2
-+ ;;
-+ paragon)
-+ basic_machine=i860-intel
-+ os=-osf
-+ ;;
-+ parisc)
-+ basic_machine=hppa-unknown
-+ os=-linux
-+ ;;
-+ parisc-*)
-+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ os=-linux
-+ ;;
-+ pbd)
-+ basic_machine=sparc-tti
-+ ;;
-+ pbb)
-+ basic_machine=m68k-tti
-+ ;;
-+ pc532 | pc532-*)
-+ basic_machine=ns32k-pc532
-+ ;;
-+ pc98)
-+ basic_machine=i386-pc
-+ ;;
-+ pc98-*)
-+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ pentium | p5 | k5 | k6 | nexgen | viac3)
-+ basic_machine=i586-pc
-+ ;;
-+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
-+ basic_machine=i686-pc
-+ ;;
-+ pentiumii | pentium2 | pentiumiii | pentium3)
-+ basic_machine=i686-pc
-+ ;;
-+ pentium4)
-+ basic_machine=i786-pc
-+ ;;
-+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
-+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ pentium4-*)
-+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ pn)
-+ basic_machine=pn-gould
-+ ;;
-+ power) basic_machine=power-ibm
-+ ;;
-+ ppc | ppcbe) basic_machine=powerpc-unknown
-+ ;;
-+ ppc-* | ppcbe-*)
-+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ ppcle | powerpclittle | ppc-le | powerpc-little)
-+ basic_machine=powerpcle-unknown
-+ ;;
-+ ppcle-* | powerpclittle-*)
-+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ ppc64) basic_machine=powerpc64-unknown
-+ ;;
-+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-+ basic_machine=powerpc64le-unknown
-+ ;;
-+ ppc64le-* | powerpc64little-*)
-+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ ps2)
-+ basic_machine=i386-ibm
-+ ;;
-+ pw32)
-+ basic_machine=i586-unknown
-+ os=-pw32
-+ ;;
-+ rdos)
-+ basic_machine=i386-pc
-+ os=-rdos
-+ ;;
-+ rom68k)
-+ basic_machine=m68k-rom68k
-+ os=-coff
-+ ;;
-+ rm[46]00)
-+ basic_machine=mips-siemens
-+ ;;
-+ rtpc | rtpc-*)
-+ basic_machine=romp-ibm
-+ ;;
-+ s390 | s390-*)
-+ basic_machine=s390-ibm
-+ ;;
-+ s390x | s390x-*)
-+ basic_machine=s390x-ibm
-+ ;;
-+ sa29200)
-+ basic_machine=a29k-amd
-+ os=-udi
-+ ;;
-+ sb1)
-+ basic_machine=mipsisa64sb1-unknown
-+ ;;
-+ sb1el)
-+ basic_machine=mipsisa64sb1el-unknown
-+ ;;
-+ sde)
-+ basic_machine=mipsisa32-sde
-+ os=-elf
-+ ;;
-+ sei)
-+ basic_machine=mips-sei
-+ os=-seiux
-+ ;;
-+ sequent)
-+ basic_machine=i386-sequent
-+ ;;
-+ sh)
-+ basic_machine=sh-hitachi
-+ os=-hms
-+ ;;
-+ sh5el)
-+ basic_machine=sh5le-unknown
-+ ;;
-+ sh64)
-+ basic_machine=sh64-unknown
-+ ;;
-+ sparclite-wrs | simso-wrs)
-+ basic_machine=sparclite-wrs
-+ os=-vxworks
-+ ;;
-+ sps7)
-+ basic_machine=m68k-bull
-+ os=-sysv2
-+ ;;
-+ spur)
-+ basic_machine=spur-unknown
-+ ;;
-+ st2000)
-+ basic_machine=m68k-tandem
-+ ;;
-+ stratus)
-+ basic_machine=i860-stratus
-+ os=-sysv4
-+ ;;
-+ strongarm-* | thumb-*)
-+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ sun2)
-+ basic_machine=m68000-sun
-+ ;;
-+ sun2os3)
-+ basic_machine=m68000-sun
-+ os=-sunos3
-+ ;;
-+ sun2os4)
-+ basic_machine=m68000-sun
-+ os=-sunos4
-+ ;;
-+ sun3os3)
-+ basic_machine=m68k-sun
-+ os=-sunos3
-+ ;;
-+ sun3os4)
-+ basic_machine=m68k-sun
-+ os=-sunos4
-+ ;;
-+ sun4os3)
-+ basic_machine=sparc-sun
-+ os=-sunos3
-+ ;;
-+ sun4os4)
-+ basic_machine=sparc-sun
-+ os=-sunos4
-+ ;;
-+ sun4sol2)
-+ basic_machine=sparc-sun
-+ os=-solaris2
-+ ;;
-+ sun3 | sun3-*)
-+ basic_machine=m68k-sun
-+ ;;
-+ sun4)
-+ basic_machine=sparc-sun
-+ ;;
-+ sun386 | sun386i | roadrunner)
-+ basic_machine=i386-sun
-+ ;;
-+ sv1)
-+ basic_machine=sv1-cray
-+ os=-unicos
-+ ;;
-+ symmetry)
-+ basic_machine=i386-sequent
-+ os=-dynix
-+ ;;
-+ t3e)
-+ basic_machine=alphaev5-cray
-+ os=-unicos
-+ ;;
-+ t90)
-+ basic_machine=t90-cray
-+ os=-unicos
-+ ;;
-+ tile*)
-+ basic_machine=$basic_machine-unknown
-+ os=-linux-gnu
-+ ;;
-+ tx39)
-+ basic_machine=mipstx39-unknown
-+ ;;
-+ tx39el)
-+ basic_machine=mipstx39el-unknown
-+ ;;
-+ toad1)
-+ basic_machine=pdp10-xkl
-+ os=-tops20
-+ ;;
-+ tower | tower-32)
-+ basic_machine=m68k-ncr
-+ ;;
-+ tpf)
-+ basic_machine=s390x-ibm
-+ os=-tpf
-+ ;;
-+ udi29k)
-+ basic_machine=a29k-amd
-+ os=-udi
-+ ;;
-+ ultra3)
-+ basic_machine=a29k-nyu
-+ os=-sym1
-+ ;;
-+ v810 | necv810)
-+ basic_machine=v810-nec
-+ os=-none
-+ ;;
-+ vaxv)
-+ basic_machine=vax-dec
-+ os=-sysv
-+ ;;
-+ vms)
-+ basic_machine=vax-dec
-+ os=-vms
-+ ;;
-+ vpp*|vx|vx-*)
-+ basic_machine=f301-fujitsu
-+ ;;
-+ vxworks960)
-+ basic_machine=i960-wrs
-+ os=-vxworks
-+ ;;
-+ vxworks68)
-+ basic_machine=m68k-wrs
-+ os=-vxworks
-+ ;;
-+ vxworks29k)
-+ basic_machine=a29k-wrs
-+ os=-vxworks
-+ ;;
-+ w65*)
-+ basic_machine=w65-wdc
-+ os=-none
-+ ;;
-+ w89k-*)
-+ basic_machine=hppa1.1-winbond
-+ os=-proelf
-+ ;;
-+ xbox)
-+ basic_machine=i686-pc
-+ os=-mingw32
-+ ;;
-+ xps | xps100)
-+ basic_machine=xps100-honeywell
-+ ;;
-+ xscale-* | xscalee[bl]-*)
-+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
-+ ;;
-+ ymp)
-+ basic_machine=ymp-cray
-+ os=-unicos
-+ ;;
-+ z8k-*-coff)
-+ basic_machine=z8k-unknown
-+ os=-sim
-+ ;;
-+ z80-*-coff)
-+ basic_machine=z80-unknown
-+ os=-sim
-+ ;;
-+ none)
-+ basic_machine=none-none
-+ os=-none
-+ ;;
-+
-+# Here we handle the default manufacturer of certain CPU types. It is in
-+# some cases the only manufacturer, in others, it is the most popular.
-+ w89k)
-+ basic_machine=hppa1.1-winbond
-+ ;;
-+ op50n)
-+ basic_machine=hppa1.1-oki
-+ ;;
-+ op60c)
-+ basic_machine=hppa1.1-oki
-+ ;;
-+ romp)
-+ basic_machine=romp-ibm
-+ ;;
-+ mmix)
-+ basic_machine=mmix-knuth
-+ ;;
-+ rs6000)
-+ basic_machine=rs6000-ibm
-+ ;;
-+ vax)
-+ basic_machine=vax-dec
-+ ;;
-+ pdp10)
-+ # there are many clones, so DEC is not a safe bet
-+ basic_machine=pdp10-unknown
-+ ;;
-+ pdp11)
-+ basic_machine=pdp11-dec
-+ ;;
-+ we32k)
-+ basic_machine=we32k-att
-+ ;;
-+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
-+ basic_machine=sh-unknown
-+ ;;
-+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-+ basic_machine=sparc-sun
-+ ;;
-+ cydra)
-+ basic_machine=cydra-cydrome
-+ ;;
-+ orion)
-+ basic_machine=orion-highlevel
-+ ;;
-+ orion105)
-+ basic_machine=clipper-highlevel
-+ ;;
-+ mac | mpw | mac-mpw)
-+ basic_machine=m68k-apple
-+ ;;
-+ pmac | pmac-mpw)
-+ basic_machine=powerpc-apple
-+ ;;
-+ *-unknown)
-+ # Make sure to match an already-canonicalized machine name.
-+ ;;
-+ *)
-+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-+ exit 1
-+ ;;
-+esac
-+
-+# Here we canonicalize certain aliases for manufacturers.
-+case $basic_machine in
-+ *-digital*)
-+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-+ ;;
-+ *-commodore*)
-+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-+ ;;
-+ *)
-+ ;;
-+esac
-+
-+# Decode manufacturer-specific aliases for certain operating systems.
-+
-+if [ x"$os" != x"" ]
-+then
-+case $os in
-+ # First match some system type aliases
-+ # that might get confused with valid system types.
-+ # -solaris* is a basic system type, with this one exception.
-+ -auroraux)
-+ os=-auroraux
-+ ;;
-+ -solaris1 | -solaris1.*)
-+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
-+ ;;
-+ -solaris)
-+ os=-solaris2
-+ ;;
-+ -svr4*)
-+ os=-sysv4
-+ ;;
-+ -unixware*)
-+ os=-sysv4.2uw
-+ ;;
-+ -gnu/linux*)
-+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-+ ;;
-+ # First accept the basic system types.
-+ # The portable systems comes first.
-+ # Each alternative MUST END IN A *, to match a version number.
-+ # -sysv* is not here because it comes later, after sysvr4.
-+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
-+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-+ | -sym* | -kopensolaris* \
-+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-+ | -aos* | -aros* \
-+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-+ | -openbsd* | -solidbsd* \
-+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-+ | -chorusos* | -chorusrdb* | -cegcc* \
-+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-+ | -mingw32* | -linux-gnu* | -linux-android* \
-+ | -linux-newlib* | -linux-uclibc* \
-+ | -uxpv* | -beos* | -mpeix* | -udk* \
-+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
-+ # Remember, each alternative MUST END IN *, to match a version number.
-+ ;;
-+ -qnx*)
-+ case $basic_machine in
-+ x86-* | i*86-*)
-+ ;;
-+ *)
-+ os=-nto$os
-+ ;;
-+ esac
-+ ;;
-+ -nto-qnx*)
-+ ;;
-+ -nto*)
-+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
-+ ;;
-+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-+ ;;
-+ -mac*)
-+ os=`echo $os | sed -e 's|mac|macos|'`
-+ ;;
-+ -linux-dietlibc)
-+ os=-linux-dietlibc
-+ ;;
-+ -linux*)
-+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
-+ ;;
-+ -sunos5*)
-+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
-+ ;;
-+ -sunos6*)
-+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
-+ ;;
-+ -opened*)
-+ os=-openedition
-+ ;;
-+ -os400*)
-+ os=-os400
-+ ;;
-+ -wince*)
-+ os=-wince
-+ ;;
-+ -osfrose*)
-+ os=-osfrose
-+ ;;
-+ -osf*)
-+ os=-osf
-+ ;;
-+ -utek*)
-+ os=-bsd
-+ ;;
-+ -dynix*)
-+ os=-bsd
-+ ;;
-+ -acis*)
-+ os=-aos
-+ ;;
-+ -atheos*)
-+ os=-atheos
-+ ;;
-+ -syllable*)
-+ os=-syllable
-+ ;;
-+ -386bsd)
-+ os=-bsd
-+ ;;
-+ -ctix* | -uts*)
-+ os=-sysv
-+ ;;
-+ -nova*)
-+ os=-rtmk-nova
-+ ;;
-+ -ns2 )
-+ os=-nextstep2
-+ ;;
-+ -nsk*)
-+ os=-nsk
-+ ;;
-+ # Preserve the version number of sinix5.
-+ -sinix5.*)
-+ os=`echo $os | sed -e 's|sinix|sysv|'`
-+ ;;
-+ -sinix*)
-+ os=-sysv4
-+ ;;
-+ -tpf*)
-+ os=-tpf
-+ ;;
-+ -triton*)
-+ os=-sysv3
-+ ;;
-+ -oss*)
-+ os=-sysv3
-+ ;;
-+ -svr4)
-+ os=-sysv4
-+ ;;
-+ -svr3)
-+ os=-sysv3
-+ ;;
-+ -sysvr4)
-+ os=-sysv4
-+ ;;
-+ # This must come after -sysvr4.
-+ -sysv*)
-+ ;;
-+ -ose*)
-+ os=-ose
-+ ;;
-+ -es1800*)
-+ os=-ose
-+ ;;
-+ -xenix)
-+ os=-xenix
-+ ;;
-+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-+ os=-mint
-+ ;;
-+ -aros*)
-+ os=-aros
-+ ;;
-+ -kaos*)
-+ os=-kaos
-+ ;;
-+ -zvmoe)
-+ os=-zvmoe
-+ ;;
-+ -dicos*)
-+ os=-dicos
-+ ;;
-+ -nacl*)
-+ ;;
-+ -none)
-+ ;;
-+ *)
-+ # Get rid of the `-' at the beginning of $os.
-+ os=`echo $os | sed 's/[^-]*-//'`
-+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-+ exit 1
-+ ;;
-+esac
-+else
-+
-+# Here we handle the default operating systems that come with various machines.
-+# The value should be what the vendor currently ships out the door with their
-+# machine or put another way, the most popular os provided with the machine.
-+
-+# Note that if you're going to try to match "-MANUFACTURER" here (say,
-+# "-sun"), then you have to tell the case statement up towards the top
-+# that MANUFACTURER isn't an operating system. Otherwise, code above
-+# will signal an error saying that MANUFACTURER isn't an operating
-+# system, and we'll never get to this point.
-+
-+case $basic_machine in
-+ score-*)
-+ os=-elf
-+ ;;
-+ spu-*)
-+ os=-elf
-+ ;;
-+ *-acorn)
-+ os=-riscix1.2
-+ ;;
-+ arm*-rebel)
-+ os=-linux
-+ ;;
-+ arm*-semi)
-+ os=-aout
-+ ;;
-+ c4x-* | tic4x-*)
-+ os=-coff
-+ ;;
-+ tic54x-*)
-+ os=-coff
-+ ;;
-+ tic55x-*)
-+ os=-coff
-+ ;;
-+ tic6x-*)
-+ os=-coff
-+ ;;
-+ # This must come before the *-dec entry.
-+ pdp10-*)
-+ os=-tops20
-+ ;;
-+ pdp11-*)
-+ os=-none
-+ ;;
-+ *-dec | vax-*)
-+ os=-ultrix4.2
-+ ;;
-+ m68*-apollo)
-+ os=-domain
-+ ;;
-+ i386-sun)
-+ os=-sunos4.0.2
-+ ;;
-+ m68000-sun)
-+ os=-sunos3
-+ ;;
-+ m68*-cisco)
-+ os=-aout
-+ ;;
-+ mep-*)
-+ os=-elf
-+ ;;
-+ mips*-cisco)
-+ os=-elf
-+ ;;
-+ mips*-*)
-+ os=-elf
-+ ;;
-+ or32-*)
-+ os=-coff
-+ ;;
-+ *-tti) # must be before sparc entry or we get the wrong os.
-+ os=-sysv3
-+ ;;
-+ sparc-* | *-sun)
-+ os=-sunos4.1.1
-+ ;;
-+ *-be)
-+ os=-beos
-+ ;;
-+ *-haiku)
-+ os=-haiku
-+ ;;
-+ *-ibm)
-+ os=-aix
-+ ;;
-+ *-knuth)
-+ os=-mmixware
-+ ;;
-+ *-wec)
-+ os=-proelf
-+ ;;
-+ *-winbond)
-+ os=-proelf
-+ ;;
-+ *-oki)
-+ os=-proelf
-+ ;;
-+ *-hp)
-+ os=-hpux
-+ ;;
-+ *-hitachi)
-+ os=-hiux
-+ ;;
-+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-+ os=-sysv
-+ ;;
-+ *-cbm)
-+ os=-amigaos
-+ ;;
-+ *-dg)
-+ os=-dgux
-+ ;;
-+ *-dolphin)
-+ os=-sysv3
-+ ;;
-+ m68k-ccur)
-+ os=-rtu
-+ ;;
-+ m88k-omron*)
-+ os=-luna
-+ ;;
-+ *-next )
-+ os=-nextstep
-+ ;;
-+ *-sequent)
-+ os=-ptx
-+ ;;
-+ *-crds)
-+ os=-unos
-+ ;;
-+ *-ns)
-+ os=-genix
-+ ;;
-+ i370-*)
-+ os=-mvs
-+ ;;
-+ *-next)
-+ os=-nextstep3
-+ ;;
-+ *-gould)
-+ os=-sysv
-+ ;;
-+ *-highlevel)
-+ os=-bsd
-+ ;;
-+ *-encore)
-+ os=-bsd
-+ ;;
-+ *-sgi)
-+ os=-irix
-+ ;;
-+ *-siemens)
-+ os=-sysv4
-+ ;;
-+ *-masscomp)
-+ os=-rtu
-+ ;;
-+ f30[01]-fujitsu | f700-fujitsu)
-+ os=-uxpv
-+ ;;
-+ *-rom68k)
-+ os=-coff
-+ ;;
-+ *-*bug)
-+ os=-coff
-+ ;;
-+ *-apple)
-+ os=-macos
-+ ;;
-+ *-atari*)
-+ os=-mint
-+ ;;
-+ *)
-+ os=-none
-+ ;;
-+esac
-+fi
-+
-+# Here we handle the case where we know the os, and the CPU type, but not the
-+# manufacturer. We pick the logical manufacturer.
-+vendor=unknown
-+case $basic_machine in
-+ *-unknown)
-+ case $os in
-+ -riscix*)
-+ vendor=acorn
-+ ;;
-+ -sunos*)
-+ vendor=sun
-+ ;;
-+ -cnk*|-aix*)
-+ vendor=ibm
-+ ;;
-+ -beos*)
-+ vendor=be
-+ ;;
-+ -hpux*)
-+ vendor=hp
-+ ;;
-+ -mpeix*)
-+ vendor=hp
-+ ;;
-+ -hiux*)
-+ vendor=hitachi
-+ ;;
-+ -unos*)
-+ vendor=crds
-+ ;;
-+ -dgux*)
-+ vendor=dg
-+ ;;
-+ -luna*)
-+ vendor=omron
-+ ;;
-+ -genix*)
-+ vendor=ns
-+ ;;
-+ -mvs* | -opened*)
-+ vendor=ibm
-+ ;;
-+ -os400*)
-+ vendor=ibm
-+ ;;
-+ -ptx*)
-+ vendor=sequent
-+ ;;
-+ -tpf*)
-+ vendor=ibm
-+ ;;
-+ -vxsim* | -vxworks* | -windiss*)
-+ vendor=wrs
-+ ;;
-+ -aux*)
-+ vendor=apple
-+ ;;
-+ -hms*)
-+ vendor=hitachi
-+ ;;
-+ -mpw* | -macos*)
-+ vendor=apple
-+ ;;
-+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-+ vendor=atari
-+ ;;
-+ -vos*)
-+ vendor=stratus
-+ ;;
-+ esac
-+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-+ ;;
-+esac
-+
-+echo $basic_machine$os
-+exit
-+
-+# Local variables:
-+# eval: (add-hook 'write-file-hooks 'time-stamp)
-+# time-stamp-start: "timestamp='"
-+# time-stamp-format: "%:y-%02m-%02d"
-+# time-stamp-end: "'"
-+# End:
-diff -urN a/configure.in b/configure.in
---- a/configure.in 2012-04-10 00:07:36.000000000 +0100
-+++ b/configure.in 2012-06-25 19:39:10.610815313 +0100
-@@ -11,6 +11,7 @@
- AC_INIT(python, PYTHON_VERSION, http://bugs.python.org/)
- AC_CONFIG_SRCDIR([Include/object.h])
- AC_CONFIG_HEADER(pyconfig.h)
-+AC_CANONICAL_HOST
-
- 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
-@@ -42,6 +43,46 @@
- rm confdefs.h
- mv confdefs.h.new confdefs.h
-
-+dnl makefile conditional (for future use)
-+if test "x$cross_compiling" = xyes; then
-+ CROSS_ON=''
-+ CROSS_OFF='#'
-+else
-+ CROSS_ON='#'
-+ CROSS_OFF=''
-+fi
-+AC_SUBST(CROSS_ON)
-+AC_SUBST(CROSS_OFF)
-+
-+AC_PROG_LN_S
-+if test "x$cross_compiling" = xyes; then
-+ AC_MSG_WARN([cross-compilation is incomplete])
-+
-+ dnl In cross-compilation environment we need python from
-+ dnl the build system (for future use)
-+ AC_PATH_PROG(SYSPYTHON, python, [none],
-+ [$PATH:/usr/local/bin]
-+ )
-+ if test "x$SYSPYTHON" = xnone; then
-+ AC_MSG_ERROR([python program is required in cross-compilation environment])
-+ fi
-+ SYSPYOSNAME=`${SYSPYTHON} -c "import os; print os.name"`
-+ case $SYSPYOSNAME in
-+ posix)
-+ dnl On posix distutils read variables from installed makefile.
-+ dnl We will do some hacks based on distutils internals to overcome
-+ dnl this limitation:
-+ dnl - we link system python in build directory so that it will
-+ dnl read generated file.
-+ dnl As result from sysconfig.get_config_vars we will get our
-+ dnl setting (for the host system) like SO, CFLAGS, CPPFLAGS,
-+ dnl LDFLAGS instead those for the build system.
-+ rm -f syspython
-+ ${LN_S} ${SYSPYTHON} syspython
-+ SYSPYTHON=./syspython
-+ esac
-+fi
-+
- AC_SUBST(VERSION)
- VERSION=PYTHON_VERSION
-
-@@ -275,8 +316,35 @@
- ## [Use (OpenStep|Rhapsody) dynamic linker]))
- ##
- # Set name for machine-dependent library files
-+dnl Now configure script support cross-compilation and detection of host
-+dnl system based on value of $ac_sys_system and/or $ac_sys_release
-+dnl has to be avoided. It is superseded by "host triplet"(cpu-verdor-os).
-+dnl FIXME: replace all cases based on $ac_sys_system and/or $ac_sys_release
-+dnl with case based on $host ("host triplet") or $host_os.
-+dnl Also cases with MACHDEP may be replaces by $host or $host_os. Note
-+dnl script may not set this variable if cross compiling.
-+
-+dnl Next two variables are intended to be passed through makefile to other
-+dnl scripts. As example setup.py check for CPU(machine) and OS(platform).
-+HOST_CPU=$host_cpu
-+AC_SUBST(HOST_CPU)
-+HOST_OS=$host_os
-+AC_SUBST(HOST_OS)
-+
- AC_SUBST(MACHDEP)
-+if test "x$cross_compiling" = xyes; then
-+AC_MSG_WARN([
-+ May be value of MACHDEP isn't correct if cross-compiling.
-+ You may tweak configure script for you host system: $host])
-+fi
- AC_MSG_CHECKING(MACHDEP)
-+dnl Note that $host_os cann't be translated directly into python
-+dnl specific $MACHDEP. As example on linux (kernel 2.x) the script below
-+dnl will set MACHDEP to "linux2" but $host_os is only "linux".
-+dnl Another point is in cross-compilation environment we cannot distinguish
-+dnl linux with 1.x(if someone still use it) and 2.x host kernels.
-+dnl As example setup.py check for linux2(get from sys.platform) and will
-+dnl install some host plaform specific files into subdirectory "plat-linux2".
- if test -z "$MACHDEP"
- then
- ac_sys_system=`uname -s`
-@@ -292,12 +360,19 @@
- tr -d '[/ ]' | sed 's/^[[A-Z]]\.//' | sed 's/\..*//'`
- MACHDEP="$ac_md_system$ac_md_release"
-
-+ dnl override MACHDEP only on certain host systems
-+ case $host in
-+ *-*-cygwin*) MACHDEP="cygwin";;
-+ *-*-darwin*) MACHDEP="darwin";;
-+ *-*-atheos*) MACHDEP="atheos";;
-+ esac
-+
- case $MACHDEP in
- linux*) MACHDEP="linux2";;
- cygwin*) MACHDEP="cygwin";;
- darwin*) MACHDEP="darwin";;
- atheos*) MACHDEP="atheos";;
-- irix646) MACHDEP="irix6";;
-+ irix646) MACHDEP="irix6";;
- '') MACHDEP="unknown";;
- esac
- fi
-@@ -446,10 +521,6 @@
- CONFIGURE_MACOSX_DEPLOYMENT_TARGET=
- EXPORT_MACOSX_DEPLOYMENT_TARGET='#'
-
--AC_MSG_CHECKING(machine type as reported by uname -m)
--ac_sys_machine=`uname -m`
--AC_MSG_RESULT($ac_sys_machine)
--
- # checks for alternative programs
-
- # compiler flags are generated in two sets, BASECFLAGS and OPT. OPT is just
-@@ -575,6 +646,13 @@
- AC_USE_SYSTEM_EXTENSIONS
-
- # Check for unsupported systems
-+case $host in
-+ *-*-beos*)
-+ AC_MSG_WARN([
-+ Support for BeOS is deprecated as of Python 2.6.
-+ See PEP 11 for the gory details.
-+ ]);;
-+esac
- case $ac_sys_system/$ac_sys_release in
- atheos*|Linux*/1*)
- echo This system \($ac_sys_system/$ac_sys_release\) is no longer supported.
-@@ -728,22 +806,23 @@
-
- AC_MSG_CHECKING(for --enable-profiling)
- AC_ARG_ENABLE(profiling,
-- AS_HELP_STRING([--enable-profiling], [enable C-level code profiling]),
--[ac_save_cc="$CC"
-- CC="$CC -pg"
-- AC_RUN_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])],
-- [ac_enable_profiling="yes"],
-- [ac_enable_profiling="no"],
-- [ac_enable_profiling="no"])
-- CC="$ac_save_cc"])
--AC_MSG_RESULT($ac_enable_profiling)
--
--case "$ac_enable_profiling" in
-- "yes")
-- BASECFLAGS="-pg $BASECFLAGS"
-- LDFLAGS="-pg $LDFLAGS"
-- ;;
--esac
-+ AS_HELP_STRING([--enable-profiling], [enable C-level code profiling]))
-+if test "x$enable_profiling" = xyes; then
-+ py_save_CFLAGS="$CFLAGS"
-+ CFLAGS="$CFLAGS -pg"
-+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[]])],
-+ [],
-+ [enable_profiling=no])
-+ CFLAGS="$py_save_CFLAGS"
-+else
-+ enable_profiling=no
-+fi
-+AC_MSG_RESULT($enable_profiling)
-+
-+if test "x$enable_profiling" = xyes; then
-+ BASECFLAGS="-pg $BASECFLAGS"
-+ LDFLAGS="-pg $LDFLAGS"
-+fi
-
- AC_MSG_CHECKING(LDLIBRARY)
-
-@@ -835,8 +914,7 @@
- AC_MSG_RESULT($LDLIBRARY)
-
- AC_PROG_RANLIB
--AC_SUBST(AR)
--AC_CHECK_PROGS(AR, ar aal, ar)
-+AC_CHECK_TOOLS(AR, ar aal, ar)
-
- # tweak ARFLAGS only if the user didn't set it on the command line
- AC_SUBST(ARFLAGS)
-@@ -995,7 +1073,7 @@
- # if using gcc on alpha, use -mieee to get (near) full IEEE 754
- # support. Without this, treatment of subnormals doesn't follow
- # the standard.
-- case $ac_sys_machine in
-+ case $host in
- alpha*)
- BASECFLAGS="$BASECFLAGS -mieee"
- ;;
-@@ -2717,7 +2795,11 @@
- else
- MACHDEP_OBJS="$MACHDEP_OBJS $extra_machdep_objs"
- fi
--AC_MSG_RESULT(MACHDEP_OBJS)
-+if test -z "$MACHDEP_OBJS"; then
-+ AC_MSG_RESULT([none])
-+else
-+ AC_MSG_RESULT([$MACHDEP_OBJS])
-+fi
-
- # checks for library functions
- AC_CHECK_FUNCS(alarm setitimer getitimer bind_textdomain_codeset chown \
-@@ -3139,7 +3221,7 @@
-
- AC_MSG_RESULT($ac_cv_buggy_getaddrinfo)
-
--if test $have_getaddrinfo = no -o "$ac_cv_buggy_getaddrinfo" = yes
-+if test $have_getaddrinfo = no || test "$ac_cv_buggy_getaddrinfo" = yes
- then
- if test $ipv6 = yes
- then
-@@ -3648,6 +3730,7 @@
- fi
-
- # Multiprocessing check for broken sem_getvalue
-+if test $ac_cv_func_sem_getvalue = yes; then
- AC_MSG_CHECKING(for broken sem_getvalue)
- AC_CACHE_VAL(ac_cv_broken_sem_getvalue,
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-@@ -3682,6 +3765,7 @@
- AC_DEFINE(HAVE_BROKEN_SEM_GETVALUE, 1,
- [define to 1 if your sem_getvalue is broken.])
- fi
-+fi
-
- # determine what size digit to use for Python's longs
- AC_MSG_CHECKING([digit size for Python's longs])
-@@ -3865,7 +3949,7 @@
- # with setup.py.
- py_cv_lib_readline=no
- AC_MSG_CHECKING([how to link readline libs])
--for py_libtermcap in "" ncursesw ncurses curses termcap; do
-+for py_libtermcap in "" tinfo ncursesw ncurses curses termcap; do
- if test -z "$py_libtermcap"; then
- READLINE_LIBS="-lreadline"
- else
-@@ -3878,9 +3962,9 @@
- if test $py_cv_lib_readline = yes; then
- break
- fi
-+ READLINE_LIBS=
- done
--# Uncomment this line if you want to use READINE_LIBS in Makefile or scripts
--#AC_SUBST([READLINE_LIBS])
-+AC_SUBST([READLINE_LIBS])
- if test $py_cv_lib_readline = no; then
- AC_MSG_RESULT([none])
- else
-@@ -4163,26 +4247,34 @@
- [AC_MSG_RESULT(no)]
- )
-
--AC_MSG_CHECKING(for /dev/ptmx)
-+AC_MSG_NOTICE([checking for device files])
-
--if test -r /dev/ptmx
--then
-- AC_MSG_RESULT(yes)
-- AC_DEFINE(HAVE_DEV_PTMX, 1,
-- [Define if we have /dev/ptmx.])
--else
-- AC_MSG_RESULT(no)
-+dnl NOTE: Inform user how to proceed with files when cross compiling.
-+if test "x$cross_compiling" = xyes; then
-+ if test "${ac_cv_file__dev_ptmx+set}" != set; then
-+ AC_MSG_CHECKING([for /dev/ptmx])
-+ AC_MSG_RESULT([not set])
-+ AC_MSG_ERROR([set ac_cv_file__dev_ptmx to yes/no in your CONFIG_SITE file when cross compiling])
-+ fi
-+ if test "${ac_cv_file__dev_ptc+set}" != set; then
-+ AC_MSG_CHECKING([for /dev/ptc])
-+ AC_MSG_RESULT([not set])
-+ AC_MSG_ERROR([set ac_cv_file__dev_ptc to yes/no in your CONFIG_SITE file when cross compiling])
-+ fi
- fi
-
--AC_MSG_CHECKING(for /dev/ptc)
--
--if test -r /dev/ptc
--then
-- AC_MSG_RESULT(yes)
-+# FIXME: autoconf macro AC_CHECK_FILES is better but require additional
-+# changes in posixmodule.c : 's/HAVE_DEV_/HAVE__DEV_/g'
-+# To keep patch minimal I left defines as before.
-+AC_CHECK_FILE(/dev/ptmx, [], [])
-+if test "x$ac_cv_file__dev_ptmx" = xyes; then
-+ AC_DEFINE(HAVE_DEV_PTMX, 1,
-+ [Define to 1 if you have the /dev/ptmx device file.])
-+fi
-+AC_CHECK_FILE(/dev/ptc, [], [])
-+if test "x$ac_cv_file__dev_ptc" = xyes; then
- AC_DEFINE(HAVE_DEV_PTC, 1,
-- [Define if we have /dev/ptc.])
--else
-- AC_MSG_RESULT(no)
-+ [Define to 1 if you have the /dev/ptc device file.])
- fi
-
- if test "$have_long_long" = yes
-@@ -4320,36 +4412,28 @@
- AC_MSG_RESULT(done)
-
- # generate output files
--AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc)
--AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix])
--AC_OUTPUT
-+AC_CONFIG_COMMANDS_PRE([
-+AC_MSG_NOTICE([creating Modules/Setup])
-
--echo "creating Modules/Setup"
- if test ! -f Modules/Setup
- then
- cp $srcdir/Modules/Setup.dist Modules/Setup
- fi
-
--echo "creating Modules/Setup.local"
-+AC_MSG_NOTICE([creating Modules/Setup.local])
- if test ! -f Modules/Setup.local
- then
- echo "# Edit this file for local setup changes" >Modules/Setup.local
--fi
-+fi])
-
--echo "creating Makefile"
--$SHELL $srcdir/Modules/makesetup -c $srcdir/Modules/config.c.in \
-+AC_CONFIG_COMMANDS([Makefile],
-+[$SHELL $srcdir/Modules/makesetup -c $srcdir/Modules/config.c.in \
- -s Modules Modules/Setup.config \
- Modules/Setup.local Modules/Setup
-
--case $ac_sys_system in
--BeOS)
-- AC_MSG_WARN([
--
-- Support for BeOS is deprecated as of Python 2.6.
-- See PEP 11 for the gory details.
-- ])
-- ;;
--*) ;;
--esac
-
--mv config.c Modules
-+mv config.c Modules])
-+AC_CONFIG_FILES([setup_info])
-+AC_CONFIG_FILES([Makefile.pre Modules/Setup.config Misc/python.pc])
-+AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix])
-+AC_OUTPUT
-diff -urN a/Lib/distutils/README b/Lib/distutils/README
---- a/Lib/distutils/README 2012-04-10 00:07:29.000000000 +0100
-+++ b/Lib/distutils/README 2012-06-25 19:39:10.611815002 +0100
-@@ -9,5 +9,10 @@
- http://www.python.org/sigs/distutils-sig/
-
- WARNING : Distutils must remain compatible with 2.3
-+NOTE: After "Revision 77704 : taking sysconfig out of distutils"
-+Distutils package is not compatible with versions before 2.7a3.
-+Although "Revision 77759 : reintroduced the names in Distutils for APIs
-+that were relocated"(i.e. API is backward compatibile) to cross compile
-+python on build system has to be at least version 2.7a3.
-
- $Id$
-diff -urN a/Lib/sysconfig.py b/Lib/sysconfig.py
---- a/Lib/sysconfig.py 2012-04-10 00:07:31.000000000 +0100
-+++ b/Lib/sysconfig.py 2012-06-25 19:39:10.611815002 +0100
-@@ -3,7 +3,15 @@
- """
- import sys
- import os
--from os.path import pardir, realpath
-+# revert patch from issue 7880 :
-+# - the test case (from issue 7880) works for me
-+# - realpath break cross compilation
-+# => so lets use abspath again ;)
-+# NOTE "Issue #6612: Fix site and sysconfig to catch os.getcwd() error,
-+# eg. if the current directory was deleted." replase all occurrence of
-+# realpath with _safe_realpath. Instead to update _safe_realpath to use
-+# abspath the cross-compilation revert all!
-+from os.path import pardir, abspath
-
- _INSTALL_SCHEMES = {
- 'posix_prefix': {
-@@ -94,27 +102,21 @@
- _CONFIG_VARS = None
- _USER_BASE = None
-
--def _safe_realpath(path):
-- try:
-- return realpath(path)
-- except OSError:
-- return path
--
- if sys.executable:
-- _PROJECT_BASE = os.path.dirname(_safe_realpath(sys.executable))
-+ _PROJECT_BASE = os.path.dirname(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 = _safe_realpath(os.getcwd())
-+ _PROJECT_BASE = abspath(os.getcwd())
-
- if os.name == "nt" and "pcbuild" in _PROJECT_BASE[-8:].lower():
-- _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir))
-+ _PROJECT_BASE = abspath(os.path.join(_PROJECT_BASE, pardir))
- # PC/VS7.1
- if os.name == "nt" and "\\pc\\v" in _PROJECT_BASE[-10:].lower():
-- _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir))
-+ _PROJECT_BASE = abspath(os.path.join(_PROJECT_BASE, pardir, pardir))
- # PC/AMD64
- if os.name == "nt" and "\\pcbuild\\amd64" in _PROJECT_BASE[-14:].lower():
-- _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir))
-+ _PROJECT_BASE = abspath(os.path.join(_PROJECT_BASE, pardir, pardir))
-
- def is_python_build():
- for fn in ("Setup.dist", "Setup.local"):
-@@ -313,7 +315,7 @@
- vars['SO'] = '.pyd'
- vars['EXE'] = '.exe'
- vars['VERSION'] = _PY_VERSION_SHORT_NO_DOT
-- vars['BINDIR'] = os.path.dirname(_safe_realpath(sys.executable))
-+ vars['BINDIR'] = os.path.dirname(abspath(sys.executable))
-
- #
- # public APIs
-diff -urN a/Makefile.pre.in b/Makefile.pre.in
---- a/Makefile.pre.in 2012-04-10 00:07:33.000000000 +0100
-+++ b/Makefile.pre.in 2012-06-25 19:39:10.612814691 +0100
-@@ -187,6 +187,10 @@
- PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck
- #PROFILE_TASK= $(srcdir)/Lib/test/regrtest.py
-
-+# Don't define HOST_OS as makefile macro !
-+@CROSS_ON@RUNPYTHON= HOST_OS=@HOST_OS@ @SYSPYTHON@
-+@CROSS_OFF@RUNPYTHON= $(RUNSHARED) ./$(BUILDPYTHON)
-+
- # === Definitions added by makesetup ===
-
-
-@@ -402,14 +406,14 @@
- $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
-
- platform: $(BUILDPYTHON)
-- $(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
-+ $(RUNPYTHON) -E -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
-
-
- # Build the shared modules
- sharedmods: $(BUILDPYTHON)
- @case $$MAKEFLAGS in \
-- *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
-- *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
-+ *s*) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(RUNPYTHON) -E $(srcdir)/setup.py -q build;; \
-+ *) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(RUNPYTHON) -E $(srcdir)/setup.py build;; \
- esac
-
- # Build static library
-@@ -426,10 +430,10 @@
-
- libpython$(VERSION).so: $(LIBRARY_OBJS)
- if test $(INSTSONAME) != $(LDLIBRARY); then \
-- $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
-+ $(LDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
- $(LN) -f $(INSTSONAME) $@; \
- else \
-- $(BLDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
-+ $(LDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
- fi
-
- libpython$(VERSION).dylib: $(LIBRARY_OBJS)
-@@ -485,18 +489,17 @@
- oldsharedmods: $(SHAREDMODS)
-
-
-+setup_info: setup_info.in config.status
-+ $(SHELL) ./config.status $@
-+
-+
- Makefile Modules/config.c: Makefile.pre \
- $(srcdir)/Modules/config.c.in \
- $(MAKESETUP) \
- Modules/Setup.config \
- Modules/Setup \
- Modules/Setup.local
-- $(SHELL) $(MAKESETUP) -c $(srcdir)/Modules/config.c.in \
-- -s Modules \
-- Modules/Setup.config \
-- Modules/Setup.local \
-- Modules/Setup
-- @mv config.c Modules
-+ $(SHELL) ./config.status Makefile
- @echo "The Makefile was updated, you may need to re-run make."
-
-
-@@ -539,6 +542,7 @@
- $(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c
-
-
-+# FIXME: next may fail in cross-compilation environment
- # Use a stamp file to prevent make -j invoking pgen twice
- $(GRAMMAR_H) $(GRAMMAR_C): Parser/pgen.stamp
- Parser/pgen.stamp: $(PGEN) $(GRAMMAR_INPUT)
-@@ -708,6 +712,7 @@
-
- TESTOPTS= -l $(EXTRATESTOPTS)
- TESTPROG= $(srcdir)/Lib/test/regrtest.py
-+# FIXME: next test may fail in cross-compilation environment
- TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -Wd -3 -E -tt $(TESTPYTHONOPTS)
- test: all platform
- -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
-@@ -938,26 +943,26 @@
- $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
- $(DESTDIR)$(LIBDEST)/distutils/tests ; \
- fi
-- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- ./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
-+ PYTHONPATH=$(DESTDIR)$(LIBDEST) \
-+ $(RUNPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- $(DESTDIR)$(LIBDEST)
-- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- ./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
-+ PYTHONPATH=$(DESTDIR)$(LIBDEST) \
-+ $(RUNPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- $(DESTDIR)$(LIBDEST)
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- ./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
-+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) \
-+ $(RUNPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- ./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
-+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) \
-+ $(RUNPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- ./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
-+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) \
-+ $(RUNPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
-
- # Create the PLATDIR source directory, if one wasn't distributed..
- $(srcdir)/Lib/$(PLATDIR):
-@@ -1062,7 +1067,7 @@
- # Install the dynamically loadable modules
- # This goes into $(exec_prefix)
- sharedinstall: sharedmods
-- $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
-+ $(RUNPYTHON) -E $(srcdir)/setup.py install \
- --prefix=$(prefix) \
- --install-scripts=$(BINDIR) \
- --install-platlib=$(DESTSHARED) \
-@@ -1100,7 +1105,7 @@
- fi; \
- done
- $(LN) -fsn include/python$(VERSION) $(DESTDIR)$(prefix)/Headers
-- sed 's/%VERSION%/'"`$(RUNSHARED) ./$(BUILDPYTHON) -c 'import platform; print platform.python_version()'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist
-+ sed 's/%VERSION%/'"`$(RUNPYTHON) -c 'import platform; print platform.python_version()'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist
- $(LN) -fsn $(VERSION) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/Current
- $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/$(PYTHONFRAMEWORK)
- $(LN) -fsn Versions/Current/Headers $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Headers
-@@ -1134,20 +1139,19 @@
-
- # This installs a few of the useful scripts in Tools/scripts
- scriptsinstall:
-- SRCDIR=$(srcdir) $(RUNSHARED) \
-- ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/setup.py install \
-+ SRCDIR=$(srcdir) \
-+ $(RUNPYTHON) $(srcdir)/Tools/scripts/setup.py install \
- --prefix=$(prefix) \
- --install-scripts=$(BINDIR) \
- --root=$(DESTDIR)/
-
- # Build the toplevel Makefile
- Makefile.pre: Makefile.pre.in config.status
-- CONFIG_FILES=Makefile.pre CONFIG_HEADERS= $(SHELL) config.status
-- $(MAKE) -f Makefile.pre Makefile
-+ $(SHELL) ./config.status $@
-
- # Run the configure script.
- config.status: $(srcdir)/configure
-- $(SHELL) $(srcdir)/configure $(CONFIG_ARGS)
-+ $(SHELL) ./config.status --recheck
-
- .PRECIOUS: config.status $(BUILDPYTHON) Makefile Makefile.pre
-
-@@ -1162,8 +1166,8 @@
- # Rerun configure with the same options as it was run last time,
- # provided the config.status script exists
- recheck:
-- $(SHELL) config.status --recheck
-- $(SHELL) config.status
-+ $(SHELL) ./config.status --recheck
-+ $(SHELL) ./config.status
-
- # Rebuild the configure script from configure.in; also rebuild pyconfig.h.in
- autoconf:
-@@ -1260,7 +1264,7 @@
-
- # Perform some verification checks on any modified files.
- patchcheck:
-- $(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/patchcheck.py
-+ $(RUNPYTHON) $(srcdir)/Tools/scripts/patchcheck.py
-
- # Dependencies
-
-diff -urN a/pyconfig.h.in b/pyconfig.h.in
---- a/pyconfig.h.in 2012-04-10 00:07:36.000000000 +0100
-+++ b/pyconfig.h.in 2012-06-25 19:39:10.612814691 +0100
-@@ -161,10 +161,10 @@
- /* Define to 1 if you have the device macros. */
- #undef HAVE_DEVICE_MACROS
-
--/* Define if we have /dev/ptc. */
-+/* Define to 1 if you have the /dev/ptc device file. */
- #undef HAVE_DEV_PTC
-
--/* Define if we have /dev/ptmx. */
-+/* Define to 1 if you have the /dev/ptmx device file. */
- #undef HAVE_DEV_PTMX
-
- /* Define to 1 if you have the <direct.h> header file. */
-diff -urN a/setup_info.in b/setup_info.in
---- a/setup_info.in 1970-01-01 01:00:00.000000000 +0100
-+++ b/setup_info.in 2012-06-25 19:39:10.612814691 +0100
-@@ -0,0 +1,3 @@
-+# file with data from configure file
-+
-+READLINE_LIBS=@READLINE_LIBS@
-diff -urN a/setup.py b/setup.py
---- a/setup.py 2012-04-10 00:07:36.000000000 +0100
-+++ b/setup.py 2012-06-25 19:42:29.000000000 +0100
-@@ -17,6 +17,22 @@
- from distutils.command.install_lib import install_lib
- from distutils.spawn import find_executable
-
-+
-+def _get_platform():
-+ # Get value of host platform (set only if cross-compile)
-+ # otherwise value of sys.platform
-+ host_platform = os.environ.get('HOST_OS')
-+ if host_platform is None:
-+ host_platform = sys.platform
-+ for platform in ['cygwin', 'beos', 'darwin', 'atheos', 'osf1']:
-+ if host_platform.startswith(platform):
-+ return platform
-+ return host_platform
-+
-+host_platform = _get_platform()
-+cross_compiling = (not os.environ.get('HOST_OS') is None)
-+
-+
- # Were we compiled --with-pydebug or with #define Py_DEBUG?
- COMPILED_WITH_PYDEBUG = hasattr(sys, 'gettotalrefcount')
-
-@@ -60,7 +76,7 @@
- 'paths' is a list of additional locations to check; if the file is
- found in one of them, the resulting list will contain the directory.
- """
-- if sys.platform == 'darwin':
-+ if host_platform == 'darwin':
- # Honor the MacOSX SDK setting when one was specified.
- # An SDK is a directory with the same structure as a real
- # system, but with only header files and libraries.
-@@ -70,7 +86,7 @@
- for dir in std_dirs:
- f = os.path.join(dir, filename)
-
-- if sys.platform == 'darwin' and is_macosx_sdk_path(dir):
-+ if host_platform == 'darwin' and is_macosx_sdk_path(dir):
- f = os.path.join(sysroot, dir[1:], filename)
-
- if os.path.exists(f): return []
-@@ -79,7 +95,7 @@
- for dir in paths:
- f = os.path.join(dir, filename)
-
-- if sys.platform == 'darwin' and is_macosx_sdk_path(dir):
-+ if host_platform == 'darwin' and is_macosx_sdk_path(dir):
- f = os.path.join(sysroot, dir[1:], filename)
-
- if os.path.exists(f):
-@@ -93,7 +109,7 @@
- if result is None:
- return None
-
-- if sys.platform == 'darwin':
-+ if host_platform == 'darwin':
- sysroot = macosx_sdk_root()
-
- # Check whether the found file is in one of the standard directories
-@@ -102,7 +118,7 @@
- # Ensure path doesn't end with path separator
- p = p.rstrip(os.sep)
-
-- if sys.platform == 'darwin' and is_macosx_sdk_path(p):
-+ if host_platform == 'darwin' and is_macosx_sdk_path(p):
- if os.path.join(sysroot, p[1:]) == dirname:
- return [ ]
-
-@@ -115,7 +131,7 @@
- # Ensure path doesn't end with path separator
- p = p.rstrip(os.sep)
-
-- if sys.platform == 'darwin' and is_macosx_sdk_path(p):
-+ if host_platform == 'darwin' and is_macosx_sdk_path(p):
- if os.path.join(sysroot, p[1:]) == dirname:
- return [ p ]
-
-@@ -172,8 +188,7 @@
-
- # Platform-dependent module source and include directories
- incdirlist = []
-- platform = self.get_platform()
-- if platform == 'darwin' and ("--disable-toolbox-glue" not in
-+ if host_platform == 'darwin' and ("--disable-toolbox-glue" not in
- sysconfig.get_config_var("CONFIG_ARGS")):
- # Mac OS X also includes some mac-specific modules
- macmoddir = os.path.join(srcdir, 'Mac/Modules')
-@@ -286,7 +301,7 @@
- ext.name)
- return
-
-- if self.get_platform() == 'darwin' and (
-+ if host_platform == 'darwin' and (
- sys.maxint > 2**32 and '-arch' in ext.extra_link_args):
- # Don't bother doing an import check when an extension was
- # build with an explicit '-arch' flag on OSX. That's currently
-@@ -300,10 +315,14 @@
-
- # Workaround for Cygwin: Cygwin currently has fork issues when many
- # modules have been imported
-- if self.get_platform() == 'cygwin':
-+ if host_platform == 'cygwin':
- self.announce('WARNING: skipping import check for Cygwin-based "%s"'
- % ext.name)
- return
-+ if cross_compiling:
-+ self.announce('WARNING: skipping import check for cross-compiled "%s"'
-+ % ext.name)
-+ return
- ext_filename = os.path.join(
- self.build_lib,
- self.get_ext_filename(self.get_ext_fullname(ext.name)))
-@@ -338,13 +357,6 @@
- level=3)
- self.failed.append(ext.name)
-
-- def get_platform(self):
-- # Get value of sys.platform
-- for platform in ['cygwin', 'beos', 'darwin', 'atheos', 'osf1']:
-- if sys.platform.startswith(platform):
-- return platform
-- return sys.platform
--
- def add_multiarch_paths(self):
- # Debian/Ubuntu multiarch support.
- # https://wiki.ubuntu.com/MultiarchSpec
-@@ -368,9 +380,13 @@
- os.unlink(tmpfile)
-
- def detect_modules(self):
-- # Ensure that /usr/local is always used
-- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
-- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
-+ pyconfig_h_data = open('pyconfig.h').read()
-+ setup_info_data = open('setup_info').read()
-+
-+ if not cross_compiling:
-+ # Ensure that /usr/local is always used
-+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
-+ add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
- self.add_multiarch_paths()
-
- # Add paths specified in the environment variables LDFLAGS and
-@@ -379,6 +395,9 @@
- # directly since an inconsistently reproducible issue comes up where
- # the environment variable is not set even though the value were passed
- # into configure and stored in the Makefile (issue found on OS X 10.3).
-+ # NOTE: In cross-compilation environment python for build system
-+ # is linked in top build directory under name syspython to get
-+ # above to work (distutils hack).
- for env_var, arg_name, dir_list in (
- ('LDFLAGS', '-R', self.compiler.runtime_library_dirs),
- ('LDFLAGS', '-L', self.compiler.library_dirs),
-@@ -423,35 +442,37 @@
- except NameError:
- have_unicode = 0
-
-- # lib_dirs and inc_dirs are used to search for files;
-- # if a file is found in one of those directories, it can
-- # be assumed that no additional -I,-L directives are needed.
-- lib_dirs = self.compiler.library_dirs + [
-- '/lib64', '/usr/lib64',
-- '/lib', '/usr/lib',
-- ]
-- inc_dirs = self.compiler.include_dirs + ['/usr/include']
-+ lib_dirs = self.compiler.library_dirs
-+ inc_dirs = self.compiler.include_dirs
-+ if not cross_compiling:
-+ # lib_dirs and inc_dirs are used to search for files;
-+ # if a file is found in one of those directories, it can
-+ # be assumed that no additional -I,-L directives are needed.
-+ lib_dirs += [
-+ '/lib64', '/usr/lib64',
-+ '/lib', '/usr/lib',
-+ ]
-+ inc_dirs += ['/usr/include']
- exts = []
- missing = []
-
- config_h = sysconfig.get_config_h_filename()
- config_h_vars = sysconfig.parse_config_h(open(config_h))
-
-- platform = self.get_platform()
- srcdir = sysconfig.get_config_var('srcdir')
-
- # Check for AtheOS which has libraries in non-standard locations
-- if platform == 'atheos':
-+ if host_platform == 'atheos':
- lib_dirs += ['/system/libs', '/atheos/autolnk/lib']
- lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep)
- inc_dirs += ['/system/include', '/atheos/autolnk/include']
- inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
-
- # OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
-- if platform in ['osf1', 'unixware7', 'openunix8']:
-+ if host_platform in ['osf1', 'unixware7', 'openunix8']:
- lib_dirs += ['/usr/ccs/lib']
-
-- if platform == 'darwin':
-+ if host_platform == 'darwin':
- # This should work on any unixy platform ;-)
- # If the user has bothered specifying additional -I and -L flags
- # in OPT and LDFLAGS we might as well use them here.
-@@ -470,7 +491,7 @@
-
- # Check for MacOS X, which doesn't need libm.a at all
- math_libs = ['m']
-- if platform in ['darwin', 'beos']:
-+ if host_platform in ['darwin', 'beos']:
- math_libs = []
-
- # XXX Omitted modules: gl, pure, dl, SGI-specific modules
-@@ -536,13 +557,12 @@
- else:
- missing.append('unicodedata')
- # access to ISO C locale support
-- data = open('pyconfig.h').read()
-- m = re.search(r"#s*define\s+WITH_LIBINTL\s+1\s*", data)
-+ m = re.search(r"#s*define\s+WITH_LIBINTL\s+1\s*", pyconfig_h_data)
- if m is not None:
- locale_libs = ['intl']
- else:
- locale_libs = []
-- if platform == 'darwin':
-+ if host_platform == 'darwin':
- locale_extra_link_args = ['-framework', 'CoreFoundation']
- else:
- locale_extra_link_args = []
-@@ -584,7 +604,7 @@
- exts.append( Extension('cPickle', ['cPickle.c']) )
-
- # Memory-mapped files (also works on Win32).
-- if platform not in ['atheos']:
-+ if host_platform not in ['atheos']:
- exts.append( Extension('mmap', ['mmapmodule.c']) )
- else:
- missing.append('mmap')
-@@ -620,12 +640,32 @@
- missing.extend(['imageop'])
-
- # readline
-- do_readline = self.compiler.find_library_file(lib_dirs, 'readline')
-+ do_readline = re.search(r"#s*define\s+HAVE_LIBREADLINE\s+1\s*", pyconfig_h_data)
-+
- readline_termcap_library = ""
- curses_library = ""
-+
- # Determine if readline is already linked against curses or tinfo.
-- if do_readline and find_executable('ldd'):
-- fp = os.popen("ldd %s" % do_readline)
-+ # NOTE readline_termcap_library is flag used only if cannot determine readline libs
-+ readline_conf = False
-+ readline_conf_termcap = ""
-+ if do_readline:
-+ m = re.search(r"\s*READLINE_LIBS\s*=\s*(?P<rl>-l.*)", setup_info_data)
-+ if m:
-+ readline_conf = True
-+ ln = m.group('rl')
-+ if 'curses' in ln:
-+ readline_conf_termcap = re.sub(
-+ r'.*-l(n?cursesw?).*', r'\1', ln
-+ ).rstrip()
-+ elif 'tinfo' in ln: # termcap interface split out from ncurses
-+ readline_conf_termcap = 'tinfo'
-+ else: # may be readline is linked with termcap interface library
-+ readline_conf = False
-+
-+ if do_readline and not readline_conf and find_executable('ldd'):
-+ rl_lib = self.compiler.find_library_file(lib_dirs, 'readline')
-+ fp = os.popen("ldd %s" % rl_lib)
- ldd_output = fp.readlines()
- ret = fp.close()
- if ret is None or ret >> 8 == 0:
-@@ -640,7 +680,9 @@
- break
- # Issue 7384: If readline is already linked against curses,
- # use the same library for the readline and curses modules.
-- if 'curses' in readline_termcap_library:
-+ if 'curses' in readline_conf_termcap:
-+ curses_library = readline_conf_termcap
-+ elif 'curses' in readline_termcap_library:
- curses_library = readline_termcap_library
- elif self.compiler.find_library_file(lib_dirs, 'ncursesw'):
- curses_library = 'ncursesw'
-@@ -649,7 +691,7 @@
- elif self.compiler.find_library_file(lib_dirs, 'curses'):
- curses_library = 'curses'
-
-- if platform == 'darwin':
-+ if host_platform == 'darwin':
- os_release = int(os.uname()[2].split('.')[0])
- dep_target = sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET')
- if dep_target and dep_target.split('.') < ['10', '5']:
-@@ -661,7 +703,7 @@
- if find_file('readline/rlconf.h', inc_dirs, []) is None:
- do_readline = False
- if do_readline:
-- if platform == 'darwin' and os_release < 9:
-+ if host_platform == 'darwin' and os_release < 9:
- # In every directory on the search path search for a dynamic
- # library and then a static library, instead of first looking
- # for dynamic libraries on the entiry path.
-@@ -739,7 +781,7 @@
- inc_dirs + search_for_ssl_incs_in)
- if opensslv_h:
- name = os.path.join(opensslv_h[0], 'openssl/opensslv.h')
-- if sys.platform == 'darwin' and is_macosx_sdk_path(name):
-+ if host_platform == 'darwin' and is_macosx_sdk_path(name):
- name = os.path.join(macosx_sdk_root(), name[1:])
- try:
- incfile = open(name, 'r')
-@@ -883,7 +925,7 @@
-
- db_ver_inc_map = {}
-
-- if sys.platform == 'darwin':
-+ if host_platform == 'darwin':
- sysroot = macosx_sdk_root()
-
- class db_found(Exception): pass
-@@ -893,7 +935,7 @@
- for d in inc_dirs + db_inc_paths:
- f = os.path.join(d, "db.h")
-
-- if sys.platform == 'darwin' and is_macosx_sdk_path(d):
-+ if host_platform == 'darwin' and is_macosx_sdk_path(d):
- f = os.path.join(sysroot, d[1:], "db.h")
-
- if db_setup_debug: print "db: looking for db.h in", f
-@@ -943,7 +985,7 @@
- db_incdir.replace("include", 'lib'),
- ]
-
-- if sys.platform != 'darwin':
-+ if host_platform != 'darwin':
- db_dirs_to_check = filter(os.path.isdir, db_dirs_to_check)
-
- else:
-@@ -1018,13 +1060,13 @@
- # Scan the default include directories before the SQLite specific
- # ones. This allows one to override the copy of sqlite on OSX,
- # where /usr/include contains an old version of sqlite.
-- if sys.platform == 'darwin':
-+ if host_platform == 'darwin':
- sysroot = macosx_sdk_root()
-
- for d in inc_dirs + sqlite_inc_paths:
- f = os.path.join(d, "sqlite3.h")
-
-- if sys.platform == 'darwin' and is_macosx_sdk_path(d):
-+ if host_platform == 'darwin' and is_macosx_sdk_path(d):
- f = os.path.join(sysroot, d[1:], "sqlite3.h")
-
- if os.path.exists(f):
-@@ -1073,7 +1115,7 @@
- '_sqlite/util.c', ]
-
- sqlite_defines = []
-- if sys.platform != "win32":
-+ if host_platform != "win32":
- sqlite_defines.append(('MODULE_NAME', '"sqlite3"'))
- else:
- sqlite_defines.append(('MODULE_NAME', '\\"sqlite3\\"'))
-@@ -1081,7 +1123,7 @@
- # Comment this out if you want the sqlite3 module to be able to load extensions.
- sqlite_defines.append(("SQLITE_OMIT_LOAD_EXTENSION", "1"))
-
-- if sys.platform == 'darwin':
-+ if host_platform == 'darwin':
- # In every directory on the search path search for a dynamic
- # library and then a static library, instead of first looking
- # for dynamic libraries on the entire path.
-@@ -1115,7 +1157,7 @@
- # when attempting to compile and it will fail.
- f = "/usr/include/db.h"
-
-- if sys.platform == 'darwin':
-+ if host_platform == 'darwin':
- if is_macosx_sdk_path(f):
- sysroot = macosx_sdk_root()
- f = os.path.join(sysroot, f[1:])
-@@ -1128,7 +1170,7 @@
- ### XXX this should be fixed to not be platform-dependent
- ### but I don't have direct access to an osf1 platform and
- ### seemed to be muffing the search somehow
-- libraries = platform == "osf1" and ['db'] or None
-+ libraries = host_platform == "osf1" and ['db'] or None
- if libraries is not None:
- exts.append(Extension('bsddb185', ['bsddbmodule.c'],
- libraries=libraries))
-@@ -1141,7 +1183,7 @@
-
- dbm_order = ['gdbm']
- # The standard Unix dbm module:
-- if platform not in ['cygwin']:
-+ if host_platform not in ['cygwin']:
- config_args = [arg.strip("'")
- for arg in sysconfig.get_config_var("CONFIG_ARGS").split()]
- dbm_args = [arg for arg in config_args
-@@ -1219,17 +1261,17 @@
- missing.append('gdbm')
-
- # Unix-only modules
-- if platform not in ['win32']:
-+ if host_platform not in ['win32']:
- # Steen Lumholt's termios module
- exts.append( Extension('termios', ['termios.c']) )
- # Jeremy Hylton's rlimit interface
-- if platform not in ['atheos']:
-+ if host_platform not in ['atheos']:
- exts.append( Extension('resource', ['resource.c']) )
- else:
- missing.append('resource')
-
- # Sun yellow pages. Some systems have the functions in libc.
-- if (platform not in ['cygwin', 'atheos', 'qnx6'] and
-+ if (host_platform not in ['cygwin', 'atheos', 'qnx6'] and
- find_file('rpcsvc/yp_prot.h', inc_dirs, []) is not None):
- if (self.compiler.find_library_file(lib_dirs, 'nsl')):
- libs = ['nsl']
-@@ -1253,7 +1295,7 @@
- curses_libs = [curses_library]
- exts.append( Extension('_curses', ['_cursesmodule.c'],
- libraries = curses_libs) )
-- elif curses_library == 'curses' and platform != 'darwin':
-+ elif curses_library == 'curses' and host_platform != 'darwin':
- # OSX has an old Berkeley curses, not good enough for
- # the _curses module.
- if (self.compiler.find_library_file(lib_dirs, 'terminfo')):
-@@ -1304,7 +1346,7 @@
- break
- if version >= version_req:
- if (self.compiler.find_library_file(lib_dirs, 'z')):
-- if sys.platform == "darwin":
-+ if host_platform == "darwin":
- zlib_extra_link_args = ('-Wl,-search_paths_first',)
- else:
- zlib_extra_link_args = ()
-@@ -1336,7 +1378,7 @@
-
- # Gustavo Niemeyer's bz2 module.
- if (self.compiler.find_library_file(lib_dirs, 'bz2')):
-- if sys.platform == "darwin":
-+ if host_platform == "darwin":
- bz2_extra_link_args = ('-Wl,-search_paths_first',)
- else:
- bz2_extra_link_args = ()
-@@ -1409,7 +1451,7 @@
- if sys.maxint == 0x7fffffff:
- # This requires sizeof(int) == sizeof(long) == sizeof(char*)
- dl_inc = find_file('dlfcn.h', [], inc_dirs)
-- if (dl_inc is not None) and (platform not in ['atheos']):
-+ if (dl_inc is not None) and (host_platform not in ['atheos']):
- exts.append( Extension('dl', ['dlmodule.c']) )
- else:
- missing.append('dl')
-@@ -1420,29 +1462,29 @@
- self.detect_ctypes(inc_dirs, lib_dirs)
-
- # Richard Oudkerk's multiprocessing module
-- if platform == 'win32': # Windows
-+ if host_platform == 'win32':
- macros = dict()
- libraries = ['ws2_32']
-
-- elif platform == 'darwin': # Mac OSX
-+ elif host_platform == 'darwin':
- macros = dict()
- libraries = []
-
-- elif platform == 'cygwin': # Cygwin
-+ elif host_platform == 'cygwin':
- macros = dict()
- libraries = []
-
-- elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'):
-+ elif host_platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'):
- # FreeBSD's P1003.1b semaphore support is very experimental
- # and has many known problems. (as of June 2008)
- macros = dict()
- libraries = []
-
-- elif platform.startswith('openbsd'):
-+ elif host_platform.startswith('openbsd'):
- macros = dict()
- libraries = []
-
-- elif platform.startswith('netbsd'):
-+ elif host_platform.startswith('netbsd'):
- macros = dict()
- libraries = []
-
-@@ -1450,7 +1492,7 @@
- macros = dict()
- libraries = ['rt']
-
-- if platform == 'win32':
-+ if host_platform == 'win32':
- multiprocessing_srcs = [ '_multiprocessing/multiprocessing.c',
- '_multiprocessing/semaphore.c',
- '_multiprocessing/pipe_connection.c',
-@@ -1477,26 +1519,26 @@
-
-
- # Platform-specific libraries
-- if platform == 'linux2':
-+ if host_platform == 'linux2':
- # Linux-specific modules
- exts.append( Extension('linuxaudiodev', ['linuxaudiodev.c']) )
- else:
- missing.append('linuxaudiodev')
-
-- if (platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
-+ if (host_platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
- 'freebsd7', 'freebsd8')
-- or platform.startswith("gnukfreebsd")):
-+ or host_platform.startswith("gnukfreebsd")):
- exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) )
- else:
- missing.append('ossaudiodev')
-
-- if platform == 'sunos5':
-+ if host_platform == 'sunos5':
- # SunOS specific modules
- exts.append( Extension('sunaudiodev', ['sunaudiodev.c']) )
- else:
- missing.append('sunaudiodev')
-
-- if platform == 'darwin':
-+ if host_platform == 'darwin':
- # _scproxy
- exts.append(Extension("_scproxy", [os.path.join(srcdir, "Mac/Modules/_scproxy.c")],
- extra_link_args= [
-@@ -1505,7 +1547,7 @@
- ]))
-
-
-- if platform == 'darwin' and ("--disable-toolbox-glue" not in
-+ if host_platform == 'darwin' and ("--disable-toolbox-glue" not in
- sysconfig.get_config_var("CONFIG_ARGS")):
-
- if int(os.uname()[2].split('.')[0]) >= 8:
-@@ -1701,8 +1743,7 @@
- # Rather than complicate the code below, detecting and building
- # AquaTk is a separate method. Only one Tkinter will be built on
- # Darwin - either AquaTk, if it is found, or X11 based Tk.
-- platform = self.get_platform()
-- if (platform == 'darwin' and
-+ if (host_platform == 'darwin' and
- self.detect_tkinter_darwin(inc_dirs, lib_dirs)):
- return
-
-@@ -1725,7 +1766,7 @@
- # Check for the include files on Debian and {Free,Open}BSD, where
- # they're put in /usr/include/{tcl,tk}X.Y
- dotversion = version
-- if '.' not in dotversion and "bsd" in sys.platform.lower():
-+ if '.' not in dotversion and "bsd" in host_platform.lower():
- # OpenBSD and FreeBSD use Tcl/Tk library names like libtcl83.a,
- # but the include subdirs are named like .../include/tcl8.3.
- dotversion = dotversion[:-1] + '.' + dotversion[-1]
-@@ -1751,7 +1792,7 @@
- include_dirs.append(dir)
-
- # Check for various platform-specific directories
-- if platform == 'sunos5':
-+ if host_platform == 'sunos5':
- include_dirs.append('/usr/openwin/include')
- added_lib_dirs.append('/usr/openwin/lib')
- elif os.path.exists('/usr/X11R6/include'):
-@@ -1767,7 +1808,7 @@
- added_lib_dirs.append('/usr/X11/lib')
-
- # If Cygwin, then verify that X is installed before proceeding
-- if platform == 'cygwin':
-+ if host_platform == 'cygwin':
- x11_inc = find_file('X11/Xlib.h', [], include_dirs)
- if x11_inc is None:
- return
-@@ -1786,11 +1827,11 @@
- libs.append('tk'+ version)
- libs.append('tcl'+ version)
-
-- if platform in ['aix3', 'aix4']:
-+ if host_platform in ['aix3', 'aix4']:
- libs.append('ld')
-
- # Finally, link with the X11 libraries (not appropriate on cygwin)
-- if platform != "cygwin":
-+ if host_platform != "cygwin":
- libs.append('X11')
-
- ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'],
-@@ -1842,7 +1883,7 @@
-
- def configure_ctypes(self, ext):
- if not self.use_system_libffi:
-- if sys.platform == 'darwin':
-+ if host_platform == 'darwin':
- return self.configure_ctypes_darwin(ext)
-
- srcdir = sysconfig.get_config_var('srcdir')
-@@ -1860,12 +1901,17 @@
- ffi_configfile):
- from distutils.dir_util import mkpath
- mkpath(ffi_builddir)
-- config_args = []
-+ #NOTE: best solution is to add to configure script
-+ # as config subdirectory and to exclude darwin
-+ # (see configure_ctypes_darwin).
-+ #FIXME: lets for now pass all top configure arguments
-+ #and do not modify configure script.
-+ config_args = sysconfig.get_config_var("CONFIG_ARGS")
-
- # Pass empty CFLAGS because we'll just append the resulting
- # CFLAGS to Python's; -g or -O2 is to be avoided.
-- cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \
-- % (ffi_builddir, ffi_srcdir, " ".join(config_args))
-+ cmd = "cd %s && env CFLAGS='' '%s/configure' %s --srcdir='%s'" \
-+ % (ffi_builddir, ffi_srcdir, config_args, ffi_srcdir)
-
- res = os.system(cmd)
- if res or not os.path.exists(ffi_configfile):
-@@ -1902,7 +1948,7 @@
- '_ctypes/cfield.c']
- depends = ['_ctypes/ctypes.h']
-
-- if sys.platform == 'darwin':
-+ if host_platform == 'darwin':
- sources.append('_ctypes/malloc_closure.c')
- sources.append('_ctypes/darwin/dlfcn_simple.c')
- extra_compile_args.append('-DMACOSX')
-@@ -1910,7 +1956,7 @@
- # XXX Is this still needed?
- ## extra_link_args.extend(['-read_only_relocs', 'warning'])
-
-- elif sys.platform == 'sunos5':
-+ elif host_platform == 'sunos5':
- # XXX This shouldn't be necessary; it appears that some
- # of the assembler code is non-PIC (i.e. it has relocations
- # when it shouldn't. The proper fix would be to rewrite
-@@ -1921,7 +1967,7 @@
- # finding some -z option for the Sun compiler.
- extra_link_args.append('-mimpure-text')
-
-- elif sys.platform.startswith('hp-ux'):
-+ elif host_platform.startswith('hp-ux'):
- extra_link_args.append('-fPIC')
-
- ext = Extension('_ctypes',
-@@ -1938,7 +1984,7 @@
- if not '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS"):
- return
-
-- if sys.platform == 'darwin':
-+ if host_platform == 'darwin':
- # OS X 10.5 comes with libffi.dylib; the include files are
- # in /usr/include/ffi
- inc_dirs.append('/usr/include/ffi')
diff --git a/build/tools/toolchain-patches/python/Python-2.7.3/0001-MINGW.patch b/build/tools/toolchain-patches/python/Python-2.7.3/0001-MINGW.patch
deleted file mode 100644
index 4e160b4..0000000
--- a/build/tools/toolchain-patches/python/Python-2.7.3/0001-MINGW.patch
+++ /dev/null
@@ -1,2851 +0,0 @@
-diff -urN a/configure.in b/configure.in
---- a/configure.in 2012-06-24 16:36:39.855815810 +0100
-+++ b/configure.in 2012-06-24 16:36:40.072817294 +0100
-@@ -84,7 +84,15 @@
- fi
-
- AC_SUBST(VERSION)
-+case $host in
-+ *-*-mingw*)
-+ dnl To be compatible with MSVC build.
-+VERSION=`echo PYTHON_VERSION | sed -e 's|\.||g'`
-+ ;;
-+ *)
- VERSION=PYTHON_VERSION
-+ ;;
-+esac
-
- AC_SUBST(SOVERSION)
- SOVERSION=1.0
-@@ -345,6 +353,26 @@
- dnl linux with 1.x(if someone still use it) and 2.x host kernels.
- dnl As example setup.py check for linux2(get from sys.platform) and will
- dnl install some host plaform specific files into subdirectory "plat-linux2".
-+dnl In addition $host_os may contain specific settings for some host systems
-+dnl as example mingwNN{YYYY} but the host winNN. So we may set MACHDEP
-+dnl to winNN in this case, i.e. different host systems from gnu autotools
-+dnl point of view but same for python.
-+if test -z "$MACHDEP"
-+then
-+ dnl set MACHDEP only on certain host systems
-+ case $host in
-+ *-*-mingw*)
-+ dnl we use only case based on "host triplet"
-+ ac_sys_system=ignore
-+ dnl FIXME: what is correct:
-+ dnl - PLATFORM is always "win32" (see define in PC/pyconfig.h )
-+ dnl - getplatform.o is build with -DPLATFORM='"$(MACHDEP)"'
-+ dnl - the platform specific files go in plat-$(MACHDEP)
-+ dnl - but an item in PYTHONPATH is "plat-win" !!! oops
-+ MACHDEP=win
-+ ;;
-+ esac
-+fi
- if test -z "$MACHDEP"
- then
- ac_sys_system=`uname -s`
-@@ -494,6 +522,16 @@
- fi
- AC_MSG_RESULT($MACHDEP)
-
-+AC_MSG_CHECKING([for init system calls])
-+AC_SUBST(INITSYS)
-+case $host in
-+ # FIXME: May configure lack detection for os2 host system ?
-+ #?#*-*-os2*) INITSYS=os2;;
-+ *-*-mingw*) INITSYS=nt;;
-+ *) INITSYS=posix;;
-+esac
-+AC_MSG_RESULT([$INITSYS])
-+
- # And add extra plat-mac for darwin
- AC_SUBST(EXTRAPLATDIR)
- AC_SUBST(EXTRAMACHDEPPATH)
-@@ -801,6 +839,10 @@
- *)
- enable_shared="no";;
- esac
-+ case $host in
-+ *-*-mingw*)
-+ enable_shared="yes";;
-+ esac
- fi
- AC_MSG_RESULT($enable_shared)
-
-@@ -902,6 +944,14 @@
- ;;
-
- esac
-+ case $host in
-+ *-*-mingw*)
-+ LDLIBRARY='libpython$(VERSION).dll.a'
-+ DLLLIBRARY='libpython$(VERSION).dll'
-+ dnl setup.py add it for mingw host
-+ dnl BLDLIBRARY='-L. -lpython$(VERSION)'
-+ ;;
-+ esac
- else # shared is disabled
- case $ac_sys_system in
- CYGWIN*)
-@@ -909,6 +959,10 @@
- LDLIBRARY='libpython$(VERSION).dll.a'
- ;;
- esac
-+ case $host in
-+ *-*-mingw*)
-+ LDLIBRARY='libpython$(VERSION).a';;
-+ esac
- fi
-
- AC_MSG_RESULT($LDLIBRARY)
-@@ -968,6 +1022,8 @@
- esac
- fi
-
-+dnl TODO: to move --with-pydebug earlier in script and to group
-+dnl debug related statements togeder (if posible)
- # Check for --with-pydebug
- AC_MSG_CHECKING(for --with-pydebug)
- AC_ARG_WITH(pydebug,
-@@ -982,6 +1038,29 @@
- else AC_MSG_RESULT(no); Py_DEBUG='false'
- fi],
- [AC_MSG_RESULT(no)])
-+# FIXME: We define BUILDEXEEXT and LDLIBRARY above but:
-+# For debug versions MSVC build prepend suffix by '_d'.
-+# If we support this convention we may modify distutils(TODO).
-+# To support different build directories is good "--with-pydebug"
-+# to be earlier in the script(why i wrote this?).
-+if test "x$Py_DEBUG" = xtrue; then
-+ case $host in
-+ dnl TODO: This is good to be where we define LDLIBRARY
-+ dnl but --with-pydebug is defined too late in the script.
-+ # Since Makefile.pre.in may isn't suitable for now we will not
-+ # change LDLIBRARY.
-+ *-*-mingw*)
-+ BUILDEXEEXT=_d$BUILDEXEEXT
-+ if test x$enable_shared = xyes; then
-+ #LDLIBRARY='libpython$(VERSION)_d.dll.a'
-+ DLLLIBRARY='libpython$(VERSION)_d.dll'
-+ else # shared is disabled
-+ #LDLIBRARY='libpython$(VERSION)_d.dll.a';;
-+ :
-+ fi
-+ ;;
-+ esac
-+fi
-
- # XXX Shouldn't the code above that fiddles with BASECFLAGS and OPT be
- # merged with this chunk of code?
-@@ -998,6 +1077,8 @@
-
- # tweak OPT based on compiler and platform, only if the user didn't set
- # it on the command line
-+# NOTE: If user set OPT at this point script ignore all previously set
-+# options (not important - BeOS is depricated for python 2.6+).
- AC_SUBST(OPT)
- if test "${OPT-unset}" = "unset"
- then
-@@ -1077,6 +1158,10 @@
- alpha*)
- BASECFLAGS="$BASECFLAGS -mieee"
- ;;
-+ *-*-mingw*)
-+ #MSVC in-compatable storage layout for bitfields in structures (Roumen has -mms-bitfields)
-+ BASECFLAGS="$BASECFLAGS"
-+ ;;
- esac
-
- case $ac_sys_system in
-@@ -1209,8 +1294,15 @@
- ;;
- esac
-
-+dnl NOTE: although Py_DEBUG is set earlier in the script we can't move
-+dnl before "# tweak OPT based on compiler" - if user specify environment
-+dnl variable OPT we will lost our settings!!!
-+dnl FIXME: why script add debug definition to OPT instead to BASECFLAGS?
- if test "$Py_DEBUG" = 'true'; then
-- :
-+ case $host in
-+ dnl Same as in PC/pyconfig.h but order in opposite(Py_DEBUG=>-D_DEBUG).
-+ *-*-mingw*) OPT="-D_DEBUG $OPT";;
-+ esac
- else
- OPT="-DNDEBUG $OPT"
- fi
-@@ -1397,6 +1489,20 @@
- AC_MSG_RESULT($ac_cv_pthread)
- fi
-
-+if test "x$ac_cv_kpthread" = xno && \
-+ test "x$ac_cv_kthread" = xno && \
-+ test "x$ac_cv_pthread" = xno && \
-+ test "x$ac_cv_pthread_is_default" = xno
-+then
-+ AC_MSG_CHECKING(for NT threads)
-+ AC_CACHE_VAL(ac_cv_ntthread,
-+ [AC_LINK_IFELSE([
-+ AC_LANG_PROGRAM([], [_beginthread(0, 0, 0);])],
-+ ac_cv_ntthread=yes,
-+ ac_cv_ntthread=no)])
-+ AC_MSG_RESULT([$ac_cv_ntthread])
-+fi
-+
- # If we have set a CC compiler flag for thread support then
- # check if it works for CXX, too.
- ac_cv_cxx_thread=no
-@@ -1417,6 +1523,9 @@
- then
- CXX="$CXX -pthread"
- ac_cv_cxx_thread=yes
-+elif test "x$ac_cv_ntthread" = xyes
-+then
-+ ac_cv_cxx_thread=always
- fi
-
- if test $ac_cv_cxx_thread = yes
-@@ -1458,7 +1567,7 @@
- sys/termio.h sys/time.h \
- sys/times.h sys/types.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \
- sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \
--bluetooth/bluetooth.h linux/tipc.h spawn.h util.h)
-+bluetooth/bluetooth.h linux/tipc.h spawn.h util.h winsock2.h)
- AC_HEADER_DIRENT
- AC_HEADER_MAJOR
-
-@@ -1667,19 +1776,20 @@
- elif test "$ac_cv_pthread" = "yes"
- then CC="$CC -pthread"
- fi
--AC_MSG_CHECKING(for pthread_t)
--have_pthread_t=no
--AC_COMPILE_IFELSE([
-- AC_LANG_PROGRAM([[#include <pthread.h>]], [[pthread_t x; x = *(pthread_t*)0;]])
--],[have_pthread_t=yes],[])
--AC_MSG_RESULT($have_pthread_t)
--if test "$have_pthread_t" = yes ; then
-+dnl NOTE: avoid duplicate check for pthread_t(it is done in AC_CHECK_SIZEOF(pthread_t...) )
-+dnl AC_MSG_CHECKING(for pthread_t)
-+dnl have_pthread_t=no
-+dnl AC_COMPILE_IFELSE([
-+dnl AC_LANG_PROGRAM([[#include <pthread.h>]], [[pthread_t x; x = *(pthread_t*)0;]])
-+dnl ],[have_pthread_t=yes],[])
-+dnl AC_MSG_RESULT($have_pthread_t)
-+dnl if test "$have_pthread_t" = yes ; then
- AC_CHECK_SIZEOF(pthread_t, [], [
- #ifdef HAVE_PTHREAD_H
- #include <pthread.h>
- #endif
- ])
--fi
-+dnl fi
- CC="$ac_save_cc"
-
- AC_MSG_CHECKING(for --enable-toolbox-glue)
-@@ -1840,6 +1950,16 @@
- CYGWIN*) SO=.dll;;
- *) SO=.so;;
- esac
-+ case $host in
-+ *-*-mingw*)
-+ #NOTE: see _PyImport_DynLoadFiletab in dynload_win.c
-+ if test "x$Py_DEBUG" = xtrue; then
-+ SO=_d.pyd
-+ else
-+ SO=.pyd
-+ fi
-+ ;;
-+ esac
- else
- # this might also be a termcap variable, see #610332
- echo
-@@ -1996,6 +2116,12 @@
- LDCXXSHARED="g++ -shared";;
- *) LDSHARED="ld";;
- esac
-+ case $host in
-+ *-*-mingw*)
-+ LDSHARED='$(CC) -shared -Wl,--enable-auto-image-base'
-+ LDCXXSHARED='$(CXX) -shared -Wl,--enable-auto-image-base'
-+ ;;
-+ esac
- fi
- AC_MSG_RESULT($LDSHARED)
- LDCXXSHARED=${LDCXXSHARED-$LDSHARED}
-@@ -2093,6 +2219,12 @@
- # when running test_compile.py.
- LINKFORSHARED='-Wl,-E -N 2048K';;
- esac
-+ case $host in
-+ *-*-mingw*)
-+ if test x$enable_shared = xyes; then
-+ LINKFORSHARED='-Wl,--out-implib=$(LDLIBRARY)'
-+ fi;;
-+ esac
- fi
- AC_MSG_RESULT($LINKFORSHARED)
-
-@@ -2109,6 +2241,12 @@
- *)
- CFLAGSFORSHARED='$(CCSHARED)'
- esac
-+ case $host in
-+ *-*-mingw*)
-+ # TODO mingw may needs CCSHARED when building extension DLLs
-+ # but not when building the interpreter DLL.
-+ CFLAGSFORSHARED='';;
-+ esac
- fi
- AC_MSG_RESULT($CFLAGSFORSHARED)
-
-@@ -2141,9 +2279,18 @@
- fi
-
- # check if we need libintl for locale functions
-+case $host in
-+ *-*-mingw*)
-+ dnl Native windows build don't use libintl (see _localemodule.c).
-+ dnl Also we don't like setup.py to add "intl" library to the list
-+ dnl when build _locale module.
-+ ;;
-+ *)
- AC_CHECK_LIB(intl, textdomain,
- AC_DEFINE(WITH_LIBINTL, 1,
- [Define to 1 if libintl is needed for locale functions.]))
-+ ;;
-+esac
-
- # checks for system dependent C++ extensions support
- case "$ac_sys_system" in
-@@ -2325,6 +2472,13 @@
- AC_DEFINE(WITH_THREAD)
- posix_threads=yes
- THREADOBJ="Python/thread.o"
-+elif test "x$ac_cv_ntthread" = xyes
-+then
-+ AC_DEFINE(WITH_THREAD)
-+ posix_threads=no
-+ THREADOBJ="Python/thread.o"
-+ AC_DEFINE(NT_THREADS, 1,
-+ [Define to 1 if you want to use native NT threads])
- else
- if test ! -z "$with_threads" -a -d "$with_threads"
- then LDFLAGS="$LDFLAGS -L$with_threads"
-@@ -2488,6 +2642,18 @@
- fi
-
-
-+AC_SUBST(BUILDIN_WIN32_MODULE)
-+BUILDIN_WIN32_MODULE='#'
-+case $host in
-+ *-*-mingw*)
-+ # On win32 host(mingw build MSYS environment) site.py fail to load
-+ # if _functools is not build-in by reason of dependency:
-+ # setup->site->locale->functools&operator
-+ BUILDIN_WIN32_MODULE=
-+ ;;
-+esac
-+
-+
- # Check for enable-ipv6
- AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified])
- AC_MSG_CHECKING([if --enable-ipv6 is specified])
-@@ -2777,6 +2943,14 @@
- fi
- ;;
- esac
-+ case $host in
-+ *-*-mingw*)
-+ # FIXME: it is good to use portable "$OBJEXT" instead "o" but
-+ # python build isn't yet ready to use it (see Makefile.pre.in)
-+ #DYNLOADFILE="dynload_win.$OBJEXT"
-+ DYNLOADFILE="dynload_win.o"
-+ ;;
-+ esac
- fi
- AC_MSG_RESULT($DYNLOADFILE)
- if test "$DYNLOADFILE" != "dynload_stub.o"
-@@ -2789,6 +2963,11 @@
-
- AC_SUBST(MACHDEP_OBJS)
- AC_MSG_CHECKING(MACHDEP_OBJS)
-+case $host in
-+ *-*-mingw*)
-+ extra_machdep_objs="PC/dl_nt.o PC/getpathp.o PC/import_nt.o"
-+ ;;
-+esac
- if test -z "$MACHDEP_OBJS"
- then
- MACHDEP_OBJS=$extra_machdep_objs
-@@ -2818,6 +2997,17 @@
- sysconf tcgetpgrp tcsetpgrp tempnam timegm times tmpfile tmpnam tmpnam_r \
- truncate uname unsetenv utimes waitpid wait3 wait4 wcscoll _getpty)
-
-+dnl NOTE: On windows platform some functions aren't C functions and require
-+dnl additional non-standard decoration and may be libraries.
-+dnl As example winsock2 functions, although are based on berkeley sockets
-+dnl use stdcall convention. Also they require an additional library ws2_32.
-+dnl One of those functions is "getpeername" (see list above)
-+dnl and can't be detected by script. Now this impact mingw host platforms.
-+dnl Since this function is used only by socketmodule, module include
-+dnl necessary headers and is linked with requred libs (see setup.py)
-+dnl windows exception will be handled in module code.
-+dnl FIXME: If you don't like this, write appropriate check here.
-+
- # For some functions, having a definition is not sufficient, since
- # we want to take their address.
- AC_MSG_CHECKING(for chroot)
-@@ -3218,6 +3408,15 @@
- [ac_cv_buggy_getaddrinfo=yes],
- [ac_cv_buggy_getaddrinfo=yes]))
- fi
-+case $host in
-+ *-*-mingw*)
-+ #FIXME: mingw "w32api" define getaddinfo if WINVER >= 0x501, i.e. XP or greater.
-+ #TODO: mingw require additional check.
-+ #NOTE: above check is not correct for windows platforms.
-+ # ac_cv_buggy_getaddrinfo=no
-+ :
-+ ;;
-+esac
-
- AC_MSG_RESULT($ac_cv_buggy_getaddrinfo)
-
-@@ -3273,19 +3472,33 @@
-
- AC_MSG_CHECKING(for addrinfo)
- AC_CACHE_VAL(ac_cv_struct_addrinfo,
--AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]], [[struct addrinfo a]])],
-+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-+#ifdef HAVE_WINSOCK2_H
-+# include <ws2tcpip.h>
-+#else
-+# include <netdb.h>
-+#endif]],
-+ [[struct addrinfo a]])],
- [ac_cv_struct_addrinfo=yes],
- [ac_cv_struct_addrinfo=no]))
- AC_MSG_RESULT($ac_cv_struct_addrinfo)
- if test $ac_cv_struct_addrinfo = yes; then
-- AC_DEFINE(HAVE_ADDRINFO, 1, [struct addrinfo (netdb.h)])
-+ AC_DEFINE(HAVE_ADDRINFO, 1, [struct addrinfo])
- fi
-
- AC_MSG_CHECKING(for sockaddr_storage)
- AC_CACHE_VAL(ac_cv_struct_sockaddr_storage,
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
--# include <sys/types.h>
--# include <sys/socket.h>]], [[struct sockaddr_storage s]])],
-+#ifdef HAVE_SYS_TYPES_H
-+#include <sys/types.h>
-+#endif
-+#ifdef HAVE_SYS_SOCKET_H
-+#include <sys/socket.h>
-+#endif
-+#ifdef HAVE_WINSOCK2_H
-+#include <winsock2.h>
-+#endif]],
-+ [[struct sockaddr_storage s]])],
- [ac_cv_struct_sockaddr_storage=yes],
- [ac_cv_struct_sockaddr_storage=no]))
- AC_MSG_RESULT($ac_cv_struct_sockaddr_storage)
-@@ -3479,11 +3692,16 @@
-
- # check for --with-libm=...
- AC_SUBST(LIBM)
-+dnl obsolete style to set libraries for a system
- case $ac_sys_system in
- Darwin) ;;
- BeOS) ;;
- *) LIBM=-lm
- esac
-+dnl new style to set libraries for host system
-+case $host in
-+ *-*-mingw*) LIBM=;;
-+esac
- AC_MSG_CHECKING(for --with-libm=STRING)
- AC_ARG_WITH(libm,
- AS_HELP_STRING([--with-libm=STRING], [math library]),
-@@ -3517,6 +3735,13 @@
- # **************************************************
- # * Check for various properties of floating point *
- # **************************************************
-+case $host in
-+ *-*-mingw*)
-+ ac_cv_little_endian_double=yes
-+ ac_cv_big_endian_double=no
-+ ac_cv_mixed_endian_double=no
-+ ;;
-+esac
-
- AC_MSG_CHECKING(whether C doubles are little-endian IEEE 754 binary64)
- AC_CACHE_VAL(ac_cv_little_endian_double, [
-@@ -3600,6 +3825,8 @@
-
- # This inline assembler syntax may also work for suncc and icc,
- # so we try it on all platforms.
-+# Note MSVC build use Python/dtoa.c, but I could not find any reason
-+# to use this file for GCC(mingw*) builds, so mingw* will use gcc asm :)
-
- AC_MSG_CHECKING(whether we can use gcc inline assembler to get and set x87 control word)
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
-@@ -3647,6 +3874,11 @@
- [ac_cv_x87_double_rounding=yes],
- [ac_cv_x87_double_rounding=no])
- CC="$ac_save_cc"
-+if test "x$cross_compiling" = xyes; then
-+ case $host in
-+ *-*-mingw*) ac_cv_x87_double_rounding=yes;;
-+ esac
-+fi
- AC_MSG_RESULT($ac_cv_x87_double_rounding)
- if test "$ac_cv_x87_double_rounding" = yes
- then
-@@ -3664,6 +3896,12 @@
- # On FreeBSD 6.2, it appears that tanh(-0.) returns 0. instead of
- # -0. on some architectures.
- AC_MSG_CHECKING(whether tanh preserves the sign of zero)
-+case $host in
-+ *-*-mingw*)
-+ # Some MSVC runtimes don't preserve zero sign.
-+ # On mingw host we will use always replacement function.
-+ ac_cv_tanh_preserves_zero_sign=no;;
-+esac
- AC_CACHE_VAL(ac_cv_tanh_preserves_zero_sign, [
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <math.h>
-@@ -3689,6 +3927,12 @@
-
- AC_CHECK_FUNCS([acosh asinh atanh copysign erf erfc expm1 finite gamma])
- AC_CHECK_FUNCS([hypot lgamma log1p round tgamma])
-+dnl NOTE:
-+dnl MSVC build PC/pyconfig.h define HAVE_DECL_ISINF but it is useless
-+dnl since header define Py_IS_INFINITY as (!_finite(X) && !_isnan(X)).
-+dnl Also in pymath.h is commented too how PC/pyconfig.h define isinf.
-+dnl For mingw to keep compatibility with MSVC build we will define
-+dnl Py_IS_INFINITY in pyport.h.
- AC_CHECK_DECLS([isinf, isnan, isfinite], [], [], [[#include <math.h>]])
-
- LIBS=$LIBS_SAVE
-@@ -3698,6 +3942,13 @@
- # the kernel module that provides POSIX semaphores
- # isn't loaded by default, so an attempt to call
- # sem_open results in a 'Signal 12' error.
-+if test $ac_cv_func_sem_open = yes; then
-+case $host in
-+ *-*-mingw*)
-+ # GCC 4.4+ (mingw) support posix threads(!)
-+ # bug we won't use them on windows platform.
-+ ac_cv_posix_semaphores_enabled=no;;
-+esac
- AC_MSG_CHECKING(whether POSIX semaphores are enabled)
- AC_CACHE_VAL(ac_cv_posix_semaphores_enabled,
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-@@ -3723,6 +3974,9 @@
- [ac_cv_posix_semaphores_enabled=yes])
- )
- AC_MSG_RESULT($ac_cv_posix_semaphores_enabled)
-+else
-+ ac_cv_posix_semaphores_enabled=no
-+fi
- if test $ac_cv_posix_semaphores_enabled = no
- then
- AC_DEFINE(POSIX_SEMAPHORES_NOT_ENABLED, 1,
-@@ -3732,6 +3986,16 @@
- # Multiprocessing check for broken sem_getvalue
- if test $ac_cv_func_sem_getvalue = yes; then
- AC_MSG_CHECKING(for broken sem_getvalue)
-+case $host in
-+ *-*-mingw*)
-+ # GCC(mingw) 4.4+ require and use posix threads(pthreads-w32)
-+ # Also system may contain installed pthreads-w32.
-+ # NOTE the test case below don't work for pthreads-w32:
-+ # - SEM_FAILED is not defined;
-+ # - sem_open is stub;
-+ # - sem_getvalue work(!).
-+ ac_cv_broken_sem_getvalue=no;;
-+esac
- AC_CACHE_VAL(ac_cv_broken_sem_getvalue,
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <unistd.h>
-@@ -3818,6 +4082,9 @@
- then
- # check whether wchar_t is signed or not
- AC_MSG_CHECKING(whether wchar_t is signed)
-+ case $host in
-+ *-*-mingw*) ac_cv_wchar_t_signed=no;;
-+ esac
- AC_CACHE_VAL(ac_cv_wchar_t_signed, [
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <wchar.h>
-@@ -4248,6 +4515,12 @@
- )
-
- AC_MSG_NOTICE([checking for device files])
-+case $host in
-+ *-*-mingw*)
-+ ac_cv_file__dev_ptmx=ignore #NOTE: under MSYS environment device exist
-+ ac_cv_file__dev_ptc=no
-+ ;;
-+esac
-
- dnl NOTE: Inform user how to proceed with files when cross compiling.
- if test "x$cross_compiling" = xyes; then
-@@ -4279,6 +4552,9 @@
-
- if test "$have_long_long" = yes
- then
-+ case $host in
-+ *-*-mingw*) ac_cv_have_long_long_format=yes;;
-+ esac
- AC_MSG_CHECKING(for %lld and %llu printf() format support)
- AC_CACHE_VAL(ac_cv_have_long_long_format,
- AC_RUN_IFELSE([AC_LANG_SOURCE([[[
-@@ -4331,6 +4607,9 @@
- fi
-
-
-+case $host in
-+ *-*-mingw*) ac_cv_have_size_t_format=no;;
-+esac
- AC_CACHE_CHECK([for %zd printf() format support], ac_cv_have_size_t_format, [dnl
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <stdio.h>
-@@ -4377,6 +4656,8 @@
- [Define to printf format modifier for Py_ssize_t])
- fi
-
-+dnl NOTE: check is incorrect for win host systems, i.e. mingw and etc.,
-+dnl but on those systems socklen_t is defined in ws2tcpip.h as int ;)
- AC_CHECK_TYPE(socklen_t,,
- AC_DEFINE(socklen_t,int,
- [Define to `int' if <sys/socket.h> does not define.]),[
-@@ -4401,8 +4682,39 @@
- THREADHEADERS="$THREADHEADERS \$(srcdir)/$h"
- done
-
-+# FIXME: in cross-compilation env. (mingw on linux) how to select correct compiler ?
-+# The current py-code will created modules with .so suffix and environment
-+# variable setting SO=$(SO) don't help
-+# see output of: python setup.py build --help-compiler
-+AC_SUBST(PYMOD_BUILDOPT)
-+case $host in
-+ *-*-mingw*) PYMOD_BUILDOPT="--compiler mingw32";;
-+esac
-+
-+dnl Objects for python and modules
-+# Python interpreter main program for frozen scripts
-+AC_SUBST(PYTHON_OBJS_FROZENMAIN)
-+PYTHON_OBJS_FROZENMAIN="Python/frozenmain.o"
-+# MODULE_GETPATH - default sys.path calculations
-+AC_SUBST(MODULE_GETPATH)
-+MODULE_GETPATH=Modules/getpath.o
-+case $host in
-+ *-*-mingw*)
-+ dnl "PC" is project sub-directory and we has to prepend user defined flags
-+ CPPFLAGS="-I\$(srcdir)/Python -I\$(srcdir)/PC $CPPFLAGS"
-+
-+ # FIXME: why windows builds don't use PC/frozen_dllmain.o ?
-+ PYTHON_OBJS_FROZENMAIN=""
-+ # default sys.path calculations for windows platforms
-+ MODULE_GETPATH=PC/getpathp.o
-+ ;;
-+esac
-+
- AC_SUBST(SRCDIRS)
- SRCDIRS="Parser Grammar Objects Python Modules Mac"
-+case $host in
-+ *-*-mingw*) SRCDIRS="$SRCDIRS PC";;
-+esac
- AC_MSG_CHECKING(for build directories)
- for dir in $SRCDIRS; do
- if test ! -d $dir; then
-diff -urN a/Include/objimpl.h b/Include/objimpl.h
---- a/Include/objimpl.h 2012-04-10 00:07:29.000000000 +0100
-+++ b/Include/objimpl.h 2012-06-24 16:36:40.068817267 +0100
-@@ -256,6 +256,12 @@
- Py_ssize_t gc_refs;
- } gc;
- long double dummy; /* force worst-case alignment */
-+#if defined(__MINGW32__)
-+/* FIXME: what about 64-bit platforms ?
-+ * see http://mail.python.org/pipermail/python-dev/2009-July/090724.html
-+ */
-+ double dummy1;
-+#endif
- } PyGC_Head;
-
- extern PyGC_Head *_PyGC_generation0;
-diff -urN a/Include/pymath.h b/Include/pymath.h
---- a/Include/pymath.h 2012-04-10 00:07:29.000000000 +0100
-+++ b/Include/pymath.h 2012-06-24 16:36:40.068817267 +0100
-@@ -109,6 +109,8 @@
- * non-infinite value v sitting in an 80-bit x87 register such that
- * v becomes infinite when spilled from the register to 64-bit memory.
- * Note: PC/pyconfig.h defines Py_IS_INFINITY as _isinf
-+ * FIXME: PC/pyconfig.h defines Py_IS_INFINITY as (!_finite(X) && !_isnan(X))
-+ * so that above note isn't correct !!!
- */
- #ifndef Py_IS_INFINITY
- # if defined HAVE_DECL_ISINF && HAVE_DECL_ISINF == 1
-diff -urN a/Include/pyport.h b/Include/pyport.h
---- a/Include/pyport.h 2012-04-10 00:07:29.000000000 +0100
-+++ b/Include/pyport.h 2012-06-24 16:36:40.069817274 +0100
-@@ -656,6 +656,137 @@
- #endif /* 0 */
-
-
-+#ifdef __MINGW32__
-+/* FIXME: some of next definitions specific to gcc(mingw build) can be
-+ generalized on definitions of _WIN32 or WIN32 and to be common for
-+ all windows build instead explicitly to define only for non-autotools
-+ based builds (see PC/pyconfig.h for details). */
-+#if defined(_WIN64)
-+# define MS_WIN64
-+#endif
-+#if !defined(MS_WIN32) && defined(_WIN32)
-+# define MS_WIN32
-+#endif
-+#if !defined(MS_WIN32) && defined(_WIN32)
-+# define MS_WIN32
-+#endif
-+#if !defined(MS_WINDOWS) && defined(MS_WIN32)
-+# define MS_WINDOWS
-+#endif
-+
-+#ifndef PYTHONPATH
-+# define PYTHONPATH ".\\DLLs;.\\lib;.\\lib\\plat-win;.\\lib\\lib-tk"
-+#endif
-+
-+/* python 2.6+ requires Windows 2000 or greater. */
-+#define Py_WINVER 0x0500
-+
-+#if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_MODULE)
-+/* FIXME if NTDDI_xxx is in use by mingw (see PC/pyconfig.h) */
-+#ifndef WINVER
-+# define WINVER Py_WINVER
-+#endif
-+#ifndef _WIN32_WINNT
-+# define _WIN32_WINNT Py_WINVER
-+#endif
-+#endif
-+
-+#ifdef PLATFORM
-+/*NOTE: if compile getplatform.c PLATFORM is set to MACHDEP that is
-+ "win" for mingw build (see respective comment in configure.in). */
-+# undef PLATFORM
-+#endif
-+/* always set to "win32" - see PC/pyconfig.h */
-+#define PLATFORM "win32"
-+
-+#if defined(MS_WIN64)
-+# define SIZEOF_HKEY 8
-+#elif defined(MS_WIN32)
-+# define SIZEOF_HKEY 4
-+#endif
-+
-+/*NOTE: mingw has isinf as macro defined in math.h.
-+ Since PC/pyconfig.h define Py_IS_INFINITY(X) that cover HAVE_DECL_ISFINITE
-+ here for Py_IS_INFINITY we define same as for MSVC build.
-+ This makes HAVE_DECL_ISFINITE needless.
-+ Also see commants in configure.in and pymath.h. */
-+#define Py_IS_INFINITY(X) (!_finite(X) && !_isnan(X))
-+
-+#ifndef HAVE_LARGEFILE_SUPPORT
-+/*
-+ FIXME: on windows platforms:
-+ - Python use PY_LONG_LONG(!) for Py_off_t (_fileio.c);
-+ - HAVE_LARGEFILE_SUPPORT is defined in PC/pyconfig.h;
-+ - PC/pyconfig.h define 4 for SIZEOF_OFF_T and 8 for SIZEOF_FPOS_T;
-+ - If HAVE_LARGEFILE_SUPPORT isn't defined python will use off_t(!)
-+ for Py_off_t (see fileobjects.c and bz2module.c).
-+ Since for mingw configure detect 4 for size of "off_t" and 8 - for
-+ "fpos_t" we has to define HAVE_LARGEFILE_SUPPORT too.
-+ TODO: to test with AC_SYS_LARGEFILE and appropriate updates in
-+ python code.
-+*/
-+# define HAVE_LARGEFILE_SUPPORT
-+#endif
-+
-+#if defined(Py_ENABLE_SHARED)
-+# define MS_COREDLL 1 /* deprecated old symbol, but still in use for windows code */
-+#else
-+# define MS_NO_COREDLL 1
-+#endif
-+
-+#if Py_UNICODE_SIZE == 2
-+/* For mingw is 2 but FIXME: What about to raise error in configure if
-+ unicode size isn't two ? Did python windows code support ucs4 ? */
-+# define Py_WIN_WIDE_FILENAMES
-+#endif
-+
-+/* NOTE: Don't define HAVE_STDDEF_H.
-+ * It is defined by PC/pyconfig.h and used by Include/Python.h
-+ * (with comment For size_t?) but isn't required for mingw */
-+#define Py_SOCKET_FD_CAN_BE_GE_FD_SETSIZE
-+
-+/* All other defines from PC/pyconfig.h are in autoconf generated
-+ pyconfig.h */
-+#if 0
-+/*FIXME:
-+ MSDN:
-+ "The getaddrinfo function was added to the ws2_32.dll on Windows XP
-+ and later."
-+ mingw:
-+ getaddrinfo and getnameinfo is defined for WINVER >= 0x0501.
-+ PC/pyconfig.h:
-+ "Python 2.6+ requires Windows 2000 or greater"
-+ So far so good but socketmodule.h define HAVE_GETADDRINFO and
-+ HAVE_GETNAMEINFO under very specific condition :
-+ # ifdef SIO_GET_MULTICAST_FILTER
-+ # include <MSTcpIP.h>
-+ So the question is "Separate SDKs" required for w2k in MSVC build ?
-+ TODO: resolve later, may by configure :-/. For now python code will
-+ use fake implementation and if user define appropriate value for
-+ WINVER - the functionas from C runtime.
-+ For details see socketmodule.c .
-+ */
-+#ifndef HAVE_GETADDRINFO
-+# define HAVE_GETADDRINFO
-+#endif
-+#ifndef HAVE_GETNAMEINFO
-+# define HAVE_GETNAMEINFO
-+#endif
-+#endif
-+
-+/* Refer to <Modules/_math.h> .
-+ For mingw host configure detect functions described as HAVE_XXX
-+ in _math.h but as MSVC don't define them we will undefine HAVE_XXX
-+ too to use _Py_* replacements same as MSVC build .
-+ */
-+#undef HAVE_ACOSH
-+#undef HAVE_ASINH
-+#undef HAVE_ATANH
-+#undef HAVE_EXPM1
-+#undef HAVE_LOG1P
-+
-+#endif /*def __MINGW32__*/
-+
- /* On 4.4BSD-descendants, ctype functions serves the whole range of
- * wchar_t character set rather than single byte code points only.
- * This characteristic can break some operations of string object
-@@ -709,12 +840,12 @@
- */
-
- /*
-- All windows ports, except cygwin, are handled in PC/pyconfig.h.
-+ MSVC windows port is handled in PC/pyconfig.h.
-
-- BeOS and cygwin are the only other autoconf platform requiring special
-- linkage handling and both of these use __declspec().
-+ BeOS, mingw32 and cygwin use autoconf and require special
-+ linkage handling and all of these use __declspec().
- */
--#if defined(__CYGWIN__) || defined(__BEOS__)
-+#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__BEOS__)
- # define HAVE_DECLSPEC_DLL
- #endif
-
-@@ -737,9 +868,17 @@
- /* Under Cygwin, auto-import functions to prevent compilation */
- /* failures similar to those described at the bottom of 4.1: */
- /* http://docs.python.org/extending/windows.html#a-cookbook-approach */
--# if !defined(__CYGWIN__)
-+# if !defined(__CYGWIN__) && !defined(__MINGW32__)
- # define PyAPI_FUNC(RTYPE) __declspec(dllimport) RTYPE
--# endif /* !__CYGWIN__ */
-+# else
-+# define PyAPI_FUNC(RTYPE) RTYPE
-+# endif /* !__CYGWIN__ !__MINGW32__ */
-+ /* NOTE: The issue3945 "compile error in _fileio.c (cygwin)"
-+ * was resolved with modification of code.
-+ * This issue was resolved for gcc(mingw) with enabling auto
-+ * import feature. Since _fileio.c problem now disappear there
-+ * is no more reasons to avoid dllimport for gcc(mingw).
-+ */
- # define PyAPI_DATA(RTYPE) extern __declspec(dllimport) RTYPE
- /* module init functions outside the core must be exported */
- # if defined(__cplusplus)
-diff -urN a/Lib/ctypes/test/test_as_parameter.py b/Lib/ctypes/test/test_as_parameter.py
---- a/Lib/ctypes/test/test_as_parameter.py 2012-04-10 00:07:29.000000000 +0100
-+++ b/Lib/ctypes/test/test_as_parameter.py 2012-06-24 16:36:40.066817253 +0100
-@@ -1,6 +1,7 @@
- import unittest
- from ctypes import *
- import _ctypes_test
-+import sys
-
- dll = CDLL(_ctypes_test.__file__)
-
-@@ -171,6 +172,10 @@
- s2h = dll.ret_2h_func(self.wrap(inp))
- self.assertEqual((s2h.x, s2h.y), (99*2, 88*3))
-
-+ # This is known cdecl incompatibility between GCC
-+ # and MSVC. It is addressed in GCC issue #36834.
-+ # Python libffi detect it and complain.
-+ @unittest.skipIf(sys.platform == "win32" and sys.version.find("GCC") >= 0, 'XFAIL GCC(mingw)')
- def test_struct_return_8H(self):
- class S8I(Structure):
- _fields_ = [("a", c_int),
-diff -urN a/Lib/ctypes/test/test_functions.py b/Lib/ctypes/test/test_functions.py
---- a/Lib/ctypes/test/test_functions.py 2012-04-10 00:07:29.000000000 +0100
-+++ b/Lib/ctypes/test/test_functions.py 2012-06-24 16:36:40.065817247 +0100
-@@ -359,6 +359,10 @@
- s2h = windll.s_ret_2h_func(S2H(99, 88))
- self.assertEqual((s2h.x, s2h.y), (99*2, 88*3))
-
-+ # This is known cdecl incompatibility between GCC
-+ # and MSVC. It is addressed in GCC issue #36834.
-+ # Python libffi detect it and complain.
-+ @unittest.skipIf(sys.platform == "win32" and sys.version.find("GCC") >= 0, 'XFAIL GCC(mingw)')
- def test_struct_return_8H(self):
- class S8I(Structure):
- _fields_ = [("a", c_int),
-diff -urN a/Lib/ctypes/util.py b/Lib/ctypes/util.py
---- a/Lib/ctypes/util.py 2012-04-10 00:07:29.000000000 +0100
-+++ b/Lib/ctypes/util.py 2012-06-24 16:36:40.066817253 +0100
-@@ -7,6 +7,11 @@
- if os.name == "nt":
-
- def _get_build_version():
-+ #***********************************************************
-+ # NOTE: As example for GCC(mingw) build sys.version return:
-+ # '2.7a0 (trunk:<REVISION>M, <DATE>, <TIME>) \n[GCC 3.4.5 (mingw special)]'
-+ # '2.7a0 (trunk:<REVISION>M, <DATE>, <TIME>) \n[GCC 4.4.0]'
-+ #***********************************************************
- """Return the version of MSVC that was used to build Python.
-
- For Python 2.3 and up, the version number is included in
-@@ -30,6 +35,15 @@
- return None
-
- def find_msvcrt():
-+ #************************************************************
-+ # FIXME: For GCC(mingw) runtime don't depend from compiler
-+ # version ;). We may use -D__MSVCRT_VERSION__ to detect which
-+ # verion is requested by user, but the name of the library
-+ # to be default.
-+ # As example WXP is with version 7.0 of msvcrt.dll.
-+ # Anyway since _get_build_version return 6 in most(standard)
-+ # cases this method will return msvcrt{d}. May be not so bad.
-+ #************************************************************
- """Return the name of the VC runtime dll"""
- version = _get_build_version()
- if version is None:
-diff -urN a/Lib/distutils/ccompiler.py b/Lib/distutils/ccompiler.py
---- a/Lib/distutils/ccompiler.py 2012-04-10 00:07:29.000000000 +0100
-+++ b/Lib/distutils/ccompiler.py 2012-06-24 16:36:40.064817240 +0100
-@@ -916,6 +916,8 @@
- osname = os.name
- if platform is None:
- platform = sys.platform
-+ if osname == "nt" and sys.version.find('GCC') >= 0:
-+ return 'mingw32'
- for pattern, compiler in _default_compilers:
- if re.match(pattern, platform) is not None or \
- re.match(pattern, osname) is not None:
-diff -urN a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
---- a/Lib/distutils/command/build_ext.py 2012-04-10 00:07:29.000000000 +0100
-+++ b/Lib/distutils/command/build_ext.py 2012-06-24 16:36:40.059817205 +0100
-@@ -19,7 +19,8 @@
- from distutils.util import get_platform
- from distutils import log
-
--if os.name == 'nt':
-+# GCC(mingw): os.name is "nt" but build system is posix
-+if os.name == 'nt' and sys.version.find('GCC') < 0:
- from distutils.msvccompiler import get_build_version
- MSVC_VERSION = int(get_build_version())
-
-@@ -179,7 +180,8 @@
- # for extensions under windows use different directories
- # for Release and Debug builds.
- # also Python's library directory must be appended to library_dirs
-- if os.name == 'nt':
-+ # GCC(mingw): os.name is "nt" but build system is posix
-+ if os.name == 'nt' and sys.version.find('GCC') < 0:
- # the 'libs' directory is for binary installs - we assume that
- # must be the *native* platform. But we don't really support
- # cross-compiling via a binary install anyway, so we let it go.
-@@ -221,7 +223,8 @@
-
- # for extensions under Cygwin and AtheOS Python's library directory must be
- # appended to library_dirs
-- if sys.platform[:6] == 'cygwin' or sys.platform[:6] == 'atheos':
-+ if (sys.platform[:6] == 'cygwin' or sys.platform[:6] == 'atheos'
-+ or (sys.platform == 'win32' and sys.version.find('GCC') >= 0)):
- if sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")):
- # building third party extensions
- self.library_dirs.append(os.path.join(sys.prefix, "lib",
-@@ -699,6 +702,34 @@
- # pyconfig.h that MSVC groks. The other Windows compilers all seem
- # to need it mentioned explicitly, though, so that's what we do.
- # Append '_d' to the python import library on debug builds.
-+
-+ # FIXME: What is purpose of code below ?
-+ # The posix build system khow requred libraries to build a module.
-+ # The libraries are stored in config(Makefile) variables BLDLIBRARY,
-+ # MODLIBS and SHLIBS. Note that some variables may contain linker
-+ # flags.
-+ # NOTE: For now we will check only GCC(mingw) compiler as is clear
-+ # that we build for windows platfrom.
-+ # The code for GCC(mingw) is not correct but this is distutils
-+ # limitation - we has to pass variables to the linker as is
-+ # instead only library names.
-+ if self.compiler.compiler_type == 'mingw32':
-+ from distutils import sysconfig
-+ template = "python%s"
-+ if self.debug:
-+ template = template + '_d'
-+ extra = [(template % (sysconfig.get_config_var('VERSION')))]
-+ for lib in sysconfig.get_config_var('BLDLIBRARY').split():
-+ if lib.startswith('-l'):
-+ extra.append(lib[2:])
-+ for lib in sysconfig.get_config_var('MODLIBS').split():
-+ if lib.startswith('-l'):
-+ extra.append(lib[2:])
-+ for lib in sysconfig.get_config_var('SHLIBS').split():
-+ if lib.startswith('-l'):
-+ extra.append(lib[2:])
-+ return ext.libraries + extra
-+
- if sys.platform == "win32":
- from distutils.msvccompiler import MSVCCompiler
- if not isinstance(self.compiler, MSVCCompiler):
-diff -urN a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py
---- a/Lib/distutils/cygwinccompiler.py 2012-04-10 00:07:29.000000000 +0100
-+++ b/Lib/distutils/cygwinccompiler.py 2012-06-24 16:36:40.062817226 +0100
-@@ -60,6 +60,18 @@
- """Include the appropriate MSVC runtime library if Python was built
- with MSVC 7.0 or later.
- """
-+ # FIXME: next code is from issue870382
-+ # MS C-runtime libraries never support backward compatibility.
-+ # Linking to a different library without to specify correct runtime
-+ # version for the headers will link renamed functions to msvcrt.
-+ # See issue3308: this piece of code is python problem even
-+ # with correct w32api headers.
-+ # Issue: for MSVC compiler we can get the version and from version
-+ # to determine mcvcrt as code below. But what about if python is
-+ # build with GCC compiler?
-+ # Output of sys.version is information for python build on first
-+ # line, on the next line is information for the compiler and the
-+ # output lack information for the C-runtime.
- msc_pos = sys.version.find('MSC v.')
- if msc_pos != -1:
- msc_ver = sys.version[msc_pos+6:msc_pos+10]
-@@ -77,6 +89,8 @@
- return ['msvcr90']
- else:
- raise ValueError("Unknown MS Compiler version %s " % msc_ver)
-+ else:
-+ return []
-
-
- class CygwinCCompiler (UnixCCompiler):
-@@ -85,6 +99,9 @@
- obj_extension = ".o"
- static_lib_extension = ".a"
- shared_lib_extension = ".dll"
-+ # FIXME: dylib_... = ".dll.a" is not enought for binutils
-+ # loader on win32 platform !!!
-+ dylib_lib_extension = ".dll.a"
- static_lib_format = "lib%s%s"
- shared_lib_format = "%s%s"
- exe_extension = ".exe"
-@@ -103,6 +120,10 @@
- "Compiling may fail because of undefined preprocessor macros."
- % details)
-
-+ # Next line of code is problem for cross-compiled enviroment:
-+ # NOTE: GCC cross-compiler is prefixed by the <hostarch>-<hostos>-
-+ # and by default binaries are installed in same directory
-+ # as native compiler.
- self.gcc_version, self.ld_version, self.dllwrap_version = \
- get_versions()
- self.debug_print(self.compiler_type + ": gcc %s, ld %s, dllwrap %s\n" %
-@@ -127,6 +148,9 @@
- else:
- shared_option = "-mdll -static"
-
-+ # FIXME:
-+ # Hard-code may override unix-compiler settings and isn't
-+ # possible to use Makefile variables to pass correct flags !
- # Hard-code GCC because that's what this is all about.
- # XXX optimization, warnings etc. should be customizable.
- self.set_executables(compiler='gcc -mcygwin -O -Wall',
-@@ -271,12 +295,20 @@
- if output_dir is None: output_dir = ''
- obj_names = []
- for src_name in source_filenames:
-- # use normcase to make sure '.rc' is really '.rc' and not '.RC'
-- (base, ext) = os.path.splitext (os.path.normcase(src_name))
-+ # FIXME: "bogus checks for suffix" - as example the commented
-+ # by #BOGUS# code break valid assembler suffix ".S" !
-+ #BOGUS## use normcase to make sure '.rc' is really '.rc' and not '.RC'
-+ #BOGUS#base, ext = os.path.splitext(os.path.normcase(src_name))
-+ base, ext = os.path.splitext (src_name)
-+ ext_normcase = os.path.normcase(ext)
-+ if ext_normcase in ['.rc','.res']:
-+ ext = ext_normcase
- if ext not in (self.src_extensions + ['.rc','.res']):
- raise UnknownFileError, \
- "unknown file type '%s' (from '%s')" % \
- (ext, src_name)
-+ base = os.path.splitdrive(base)[1] # Chop off the drive
-+ base = base[os.path.isabs(base):] # If abs, chop off leading /
- if strip_dir:
- base = os.path.basename (base)
- if ext == '.res' or ext == '.rc':
-diff -urN a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
---- a/Lib/distutils/sysconfig.py 2012-04-10 00:07:29.000000000 +0100
-+++ b/Lib/distutils/sysconfig.py 2012-06-24 16:48:40.044705953 +0100
-@@ -72,19 +72,21 @@
- if prefix is None:
- prefix = plat_specific and EXEC_PREFIX or PREFIX
-
-- if os.name == "posix":
-+ # GCC(mingw): os.name is "nt" but build system is posix
-+ if os.name == "posix" or sys.version.find('GCC') >= 0:
- if python_build:
-- buildir = os.path.dirname(sys.executable)
-+ # NOTE: sysconfig.py-20091210
-+ # Assume the executable is in the build directory. The
-+ # pyconfig.h file should be in the same directory. Since
-+ # the build directory may not be the source directory, we
-+ # must use "srcdir" from the makefile to find the "Include"
-+ # directory.
-+ base = os.path.dirname(os.path.abspath(sys.executable))
- if plat_specific:
-- # python.h is located in the buildir
-- inc_dir = buildir
-+ return base
- else:
-- # the source dir is relative to the buildir
-- srcdir = os.path.abspath(os.path.join(buildir,
-- get_config_var('srcdir')))
-- # Include is located in the srcdir
-- inc_dir = os.path.join(srcdir, "Include")
-- return inc_dir
-+ incdir = os.path.join(get_config_var('srcdir'), 'Include')
-+ return os.path.normpath(incdir)
- return os.path.join(prefix, "include", "python" + get_python_version())
- elif os.name == "nt":
- return os.path.join(prefix, "include")
-@@ -146,14 +148,25 @@
- def customize_compiler(compiler):
- """Do any platform-specific customization of a CCompiler instance.
-
-- Mainly needed on Unix, so we can plug in the information that
-- varies across Unices and is stored in Python's Makefile.
-- """
-+ Mainly needed on Unix, so we can plug in the information that
-+ varies across Unices and is stored in Python's Makefile.
-+
-+ NOTE (known limitation of python build/install system):
-+ In cross-build environment make macros like CC and LDSHARED
-+ contain cross-compiler/linker instead of host compiler/linker.
-+ """
-+
-+ posix_build = None
- if compiler.compiler_type == "unix":
-+ posix_build = True
-+ elif compiler.compiler_type == "mingw32":
-+ # GCC(mingw): if build system is posix
-+ if sys.version.find('GCC') >= 0:
-+ posix_build = True
-+ if posix_build == True:
- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
-- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
-- 'CCSHARED', 'LDSHARED', 'SO', 'AR',
-- 'ARFLAGS')
-+ get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
-+ 'CCSHARED', 'LDSHARED', 'SO', 'AR', 'ARFLAGS')
-
- newcc = None
- if 'CC' in os.environ:
-@@ -227,7 +240,8 @@
- def get_config_h_filename():
- """Return full pathname of installed pyconfig.h file."""
- if python_build:
-- if os.name == "nt":
-+ # GCC(mingw): os.name is "nt" but build system is posix
-+ if os.name == "nt" and sys.version.find('GCC') < 0:
- inc_dir = os.path.join(project_base, "PC")
- else:
- inc_dir = project_base
-@@ -460,6 +474,11 @@
-
- def _init_nt():
- """Initialize the module as appropriate for NT"""
-+ if sys.version.find('GCC') >= 0:
-+ # GCC(mingw) use posix build system
-+ # FIXME: may be modification has to be in get_config_vars ?
-+ _init_posix()
-+ return
- g = {}
- # set basic install directories
- g['LIBDEST'] = get_python_lib(plat_specific=0, standard_lib=1)
-diff -urN a/Lib/distutils/tests/test_bdist_msi.py b/Lib/distutils/tests/test_bdist_msi.py
---- a/Lib/distutils/tests/test_bdist_msi.py 2012-04-10 00:07:29.000000000 +0100
-+++ b/Lib/distutils/tests/test_bdist_msi.py 2012-06-24 16:42:30.055201499 +0100
-@@ -11,6 +11,7 @@
- support.LoggingSilencer,
- unittest.TestCase):
-
-+ @unittest.skip("Require bdist_msi")
- def test_minimal(self):
- # minimal test XXX need more tests
- from distutils.command.bdist_msi import bdist_msi
-diff -urN a/Lib/distutils/tests/test_build_ext.py b/Lib/distutils/tests/test_build_ext.py
---- a/Lib/distutils/tests/test_build_ext.py 2012-04-10 00:07:29.000000000 +0100
-+++ b/Lib/distutils/tests/test_build_ext.py 2012-06-24 16:36:40.060817212 +0100
-@@ -60,6 +60,11 @@
- sys.stdout = StringIO()
- try:
- cmd.ensure_finalized()
-+ #Broken after issue 7712(r78136) : add a temp_cwd context manager to test_support ...
-+ #Without current working dir: "...cannot find -lpython27"
-+ #NOTE: [py3k svn r85559] First (uncontroversial) part of issue 9807, barry.warsaw, 2010-10-16 :
-+ # new _fixup_command is bogus, so we will use own work-around
-+ cmd.library_dirs.insert(0, test_support.SAVEDCWD)
- cmd.run()
- finally:
- sys.stdout = old_stdout
-@@ -280,6 +285,12 @@
- # returns wrong result with --inplace
- other_tmp_dir = os.path.realpath(self.mkdtemp())
- old_wd = os.getcwd()
-+ #Without current working dir: "...cannot find -lpython27"
-+ #NOTE: After issue #7712(r78136) test cannot use old_wd !
-+ #cmd.library_dirs.insert(0, old_wd)
-+ #NOTE: [py3k svn r85559] First (uncontroversial) part of issue 9807, barry.warsaw, 2010-10-16 :
-+ # new _fixup_command is bogus, so we will use own work-around
-+ cmd.library_dirs.insert(0, test_support.SAVEDCWD)
- os.chdir(other_tmp_dir)
- try:
- cmd.inplace = 1
-diff -urN a/Lib/distutils/tests/test_config_cmd.py b/Lib/distutils/tests/test_config_cmd.py
---- a/Lib/distutils/tests/test_config_cmd.py 2012-04-10 00:07:30.000000000 +0100
-+++ b/Lib/distutils/tests/test_config_cmd.py 2012-06-24 16:36:40.061817219 +0100
-@@ -38,6 +38,7 @@
- self.assertEqual(len(self._logs), numlines+1)
-
- def test_search_cpp(self):
-+ # TODO: mingw host ?
- if sys.platform == 'win32':
- return
- pkg_dir, dist = self.create_dist()
-diff -urN a/Lib/distutils/tests/test_sysconfig.py b/Lib/distutils/tests/test_sysconfig.py
---- a/Lib/distutils/tests/test_sysconfig.py 2012-04-10 00:07:30.000000000 +0100
-+++ b/Lib/distutils/tests/test_sysconfig.py 2012-06-24 16:36:40.060817212 +0100
-@@ -43,9 +43,15 @@
- # This is not much of a test. We make sure Python.h exists
- # in the directory returned by get_python_inc() but we don't know
- # it is the correct file.
-+ #Broken after issue 7712(r78136) : add a temp_cwd context manager to test_support ...
-+ #NOTE: Its fail on platforms without root directory support(like windows)
-+ #where temp and current working directories may stay on different drivers.
-+ old_wd = os.getcwd()
-+ os.chdir(SAVEDCWD)
- self.assertTrue(os.path.isdir(inc_dir), inc_dir)
- python_h = os.path.join(inc_dir, "Python.h")
- self.assertTrue(os.path.isfile(python_h), python_h)
-+ os.chdir(old_wd)
-
- def test_parse_makefile_base(self):
- self.makefile = test.test_support.TESTFN
-diff -urN a/Lib/distutils/tests/test_unixccompiler.py b/Lib/distutils/tests/test_unixccompiler.py
---- a/Lib/distutils/tests/test_unixccompiler.py 2012-04-10 00:07:30.000000000 +0100
-+++ b/Lib/distutils/tests/test_unixccompiler.py 2012-06-24 16:36:40.060817212 +0100
-@@ -120,7 +120,7 @@
- def gcv(v):
- return 'xxx'
- sysconfig.get_config_var = gcv
-- self.assertEqual(self.cc.rpath_foo(), '-R/foo')
-+ self.assertEqual(self.cc.rpath_foo(), '-blibpath:/foo')
-
-
- def test_suite():
-diff -urN a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py
---- a/Lib/distutils/unixccompiler.py 2012-04-10 00:07:30.000000000 +0100
-+++ b/Lib/distutils/unixccompiler.py 2012-06-24 16:36:40.061817219 +0100
-@@ -292,6 +292,8 @@
- return ["+s", "-L" + dir]
- elif sys.platform[:7] == "irix646" or sys.platform[:6] == "osf1V5":
- return ["-rpath", dir]
-+ elif sys.platform[:3] == "aix":
-+ return "-blibpath:" + dir
- elif self._is_gcc(compiler):
- return "-Wl,-R" + dir
- else:
-diff -urN a/Lib/sysconfig.py b/Lib/sysconfig.py
---- a/Lib/sysconfig.py 2012-06-24 16:36:39.858815831 +0100
-+++ b/Lib/sysconfig.py 2012-06-24 16:36:40.064817240 +0100
-@@ -128,8 +128,13 @@
-
- if _PYTHON_BUILD:
- for scheme in ('posix_prefix', 'posix_home'):
-- _INSTALL_SCHEMES[scheme]['include'] = '{projectbase}/Include'
-- _INSTALL_SCHEMES[scheme]['platinclude'] = '{srcdir}'
-+ _INSTALL_SCHEMES[scheme]['include'] = '{srcdir}/Include'
-+ _INSTALL_SCHEMES[scheme]['platinclude'] = '{projectbase}'
-+
-+ # GCC(mingw) use posix build system
-+ if os.name == "nt" and sys.version.find('GCC') >= 0:
-+ _INSTALL_SCHEMES['nt']['include'] = '{srcdir}/Include'
-+ _INSTALL_SCHEMES['nt']['platinclude'] = '{projectbase}'
-
- def _subst_vars(s, local_vars):
- try:
-@@ -354,7 +359,8 @@
- def get_config_h_filename():
- """Returns the path of pyconfig.h."""
- if _PYTHON_BUILD:
-- if os.name == "nt":
-+ # GCC(mingw): os.name is "nt" but build system is posix
-+ if os.name == "nt" and sys.version.find('GCC') < 0:
- inc_dir = os.path.join(_PROJECT_BASE, "PC")
- else:
- inc_dir = _PROJECT_BASE
-@@ -416,9 +422,19 @@
- _CONFIG_VARS['platbase'] = _EXEC_PREFIX
- _CONFIG_VARS['projectbase'] = _PROJECT_BASE
-
-- if os.name in ('nt', 'os2'):
-- _init_non_posix(_CONFIG_VARS)
-+ # GCC(mingw) use posix build system
-+ posix_build = None
- if os.name == 'posix':
-+ posix_build = True
-+ else:
-+ if os.name in ('nt', 'os2'):
-+ if sys.version.find('GCC') >= 0:
-+ posix_build = True
-+ else:
-+ posix_build = False
-+ if posix_build == False:
-+ _init_non_posix(_CONFIG_VARS)
-+ if posix_build == True:
- _init_posix(_CONFIG_VARS)
-
- # Setting 'userbase' is done below the call to the
-@@ -433,7 +449,7 @@
- # Normally it is relative to the build directory. However, during
- # testing, for example, we might be running a non-installed python
- # from a different directory.
-- if _PYTHON_BUILD and os.name == "posix":
-+ if _PYTHON_BUILD and posix_build == True:
- base = _PROJECT_BASE
- try:
- cwd = os.getcwd()
-diff -urN a/Lib/test/regrtest.py b/Lib/test/regrtest.py
---- a/Lib/test/regrtest.py 2012-04-10 00:07:31.000000000 +0100
-+++ b/Lib/test/regrtest.py 2012-06-24 16:36:40.058817197 +0100
-@@ -388,7 +388,7 @@
- found_garbage = []
-
- if single:
-- filename = os.path.join(TEMPDIR, 'pynexttest')
-+ filename = os.path.join(tempfile.gettempdir(), 'pynexttest')
- try:
- fp = open(filename, 'r')
- next_test = fp.read().strip()
-@@ -1523,8 +1523,7 @@
- # to keep the test files in a subfolder. It eases the cleanup of leftover
- # files using command "make distclean".
- if sysconfig.is_python_build():
-- TEMPDIR = os.path.join(sysconfig.get_config_var('srcdir'), 'build')
-- TEMPDIR = os.path.abspath(TEMPDIR)
-+ TEMPDIR = os.path.abspath('build')
- if not os.path.exists(TEMPDIR):
- os.mkdir(TEMPDIR)
-
-diff -urN a/Lib/test/test_curses.py b/Lib/test/test_curses.py
---- a/Lib/test/test_curses.py 2012-04-10 00:07:31.000000000 +0100
-+++ b/Lib/test/test_curses.py 2012-06-24 16:36:40.059817205 +0100
-@@ -167,11 +167,16 @@
- curses.delay_output(1)
- curses.echo() ; curses.echo(1)
-
-- f = tempfile.TemporaryFile()
-+ fx = tempfile.TemporaryFile()
-+ # cf tempfile.py TemporaryFile vs NamedTemporaryFile
-+ if os.name != 'posix' or os.sys.platform == 'cygwin':
-+ f = fx.file
-+ else:
-+ f = fx
- stdscr.putwin(f)
- f.seek(0)
- curses.getwin(f)
-- f.close()
-+ fx.close()
-
- curses.halfdelay(1)
- curses.intrflush(1)
-diff -urN a/Lib/test/test_os.py b/Lib/test/test_os.py
---- a/Lib/test/test_os.py 2012-04-10 00:07:32.000000000 +0100
-+++ b/Lib/test/test_os.py 2012-06-24 16:36:40.058817197 +0100
-@@ -325,7 +325,11 @@
-
- def test_large_time(self):
- t1 = 5000000000 # some day in 2128
-- os.utime(self.fname, (t1, t1))
-+ try:
-+ #Note fail if time_t is 32 bit
-+ os.utime(self.fname, (t1, t1))
-+ except OverflowError:
-+ self.skipTest("requires at least 64-bit time_t")
- self.assertEqual(os.stat(self.fname).st_mtime, t1)
-
- def test_1686475(self):
-diff -urN a/Lib/test/test_sundry.py b/Lib/test/test_sundry.py
---- a/Lib/test/test_sundry.py 2012-04-10 00:07:32.000000000 +0100
-+++ b/Lib/test/test_sundry.py 2012-06-24 16:36:40.059817205 +0100
-@@ -27,7 +27,11 @@
-
- import distutils.command.bdist_dumb
- if sys.platform.startswith('win'):
-- import distutils.command.bdist_msi
-+ try:
-+ import distutils.command.bdist_msi # if msi module is not build
-+ except ImportError:
-+ if test_support.verbose:
-+ print "skipping bdist_msi"
- import distutils.command.bdist
- import distutils.command.bdist_rpm
- import distutils.command.bdist_wininst
-diff -urN a/Makefile.pre.in b/Makefile.pre.in
---- a/Makefile.pre.in 2012-06-24 16:36:39.859815838 +0100
-+++ b/Makefile.pre.in 2012-06-24 16:36:40.070817281 +0100
-@@ -198,7 +198,7 @@
- # Modules
- MODULE_OBJS= \
- Modules/config.o \
-- Modules/getpath.o \
-+ @MODULE_GETPATH@ \
- Modules/main.o \
- Modules/gcmodule.o
-
-@@ -273,7 +273,7 @@
- Python/codecs.o \
- Python/errors.o \
- Python/frozen.o \
-- Python/frozenmain.o \
-+ @PYTHON_OBJS_FROZENMAIN@ \
- Python/future.o \
- Python/getargs.o \
- Python/getcompiler.o \
-@@ -410,10 +410,15 @@
-
-
- # Build the shared modules
-+# FIXME: in cross-compilation env. (mingw on linux) how to select correct
-+# compiler/linker ?
-+# The current py-code will created modules with .so suffix and environment
-+# variable setting SO=$(SO) don't help.
-+# Also it link modules with gcc instead mingw...
- sharedmods: $(BUILDPYTHON)
- @case $$MAKEFLAGS in \
-- *s*) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(RUNPYTHON) -E $(srcdir)/setup.py -q build;; \
-- *) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(RUNPYTHON) -E $(srcdir)/setup.py build;; \
-+ *s*) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(RUNPYTHON) -E $(srcdir)/setup.py -q build @PYMOD_BUILDOPT@;; \
-+ *) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(RUNPYTHON) -E $(srcdir)/setup.py build @PYMOD_BUILDOPT@;; \
- esac
-
- # Build static library
-@@ -530,6 +535,7 @@
- -DHGBRANCH="\"`LC_ALL=C $(HGBRANCH)`\"" \
- -o $@ $(srcdir)/Modules/getbuildinfo.c
-
-+# default sys.path calculations
- Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
- $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \
- -DPREFIX='"$(prefix)"' \
-@@ -538,6 +544,10 @@
- -DVPATH='"$(VPATH)"' \
- -o $@ $(srcdir)/Modules/getpath.c
-
-+# default sys.path calculations for windows platforms
-+PC/getpathp.o: $(srcdir)/PC/getpathp.c
-+ $(CC) -c $(PY_CFLAGS) -o $@ $(srcdir)/PC/getpathp.c
-+
- Modules/python.o: $(srcdir)/Modules/python.c
- $(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c
-
-diff -urN a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
---- a/Modules/_ctypes/_ctypes.c 2012-04-10 00:07:33.000000000 +0100
-+++ b/Modules/_ctypes/_ctypes.c 2012-06-24 16:36:40.076817320 +0100
-@@ -3168,11 +3168,27 @@
- mangled_name = alloca(strlen(name) + 1 + 1 + 1 + 3); /* \0 _ @ %d */
- if (!mangled_name)
- return NULL;
-+ /* FIXME: for stdcall decorated export functions MSVC compiler add
-+ * underscore, but GCC compiler create them without.
-+ * As well functions from system libraries are without underscore.
-+ * This is visible by example for _ctypes_test.pyd module.
-+ * Solutions:
-+ * - If a python module is build with gcc option --add-stdcall-alias
-+ * the module will contain XXX as alias for function XXX@ as result
-+ * first search in this method will succeed.
-+ * - Distutil may use compiler to create def-file, to modify it as
-+ * add underscore alias and with new def file to create module.
-+ * - Or may be just to search for function without underscore.
-+ */
- for (i = 0; i < 32; ++i) {
- sprintf(mangled_name, "_%s@%d", name, i*4);
- address = (PPROC)GetProcAddress(handle, mangled_name);
- if (address)
- return address;
-+ sprintf(mangled_name, "%s@%d", name, i*4);
-+ address = (PPROC)GetProcAddress(handle, mangled_name);
-+ if (address)
-+ return address;
- }
- return NULL;
- #endif
-diff -urN a/Modules/_ctypes/libffi_msvc/win32.S b/Modules/_ctypes/libffi_msvc/win32.S
---- a/Modules/_ctypes/libffi_msvc/win32.S 1970-01-01 01:00:00.000000000 +0100
-+++ b/Modules/_ctypes/libffi_msvc/win32.S 2012-06-24 16:36:40.076817320 +0100
-@@ -0,0 +1,154 @@
-+/* -----------------------------------------------------------------------
-+ win32.S - Copyright (c) 1996, 1998, 2001, 2002 Red Hat, Inc.
-+ Copyright (c) 2001 John Beniton
-+ Copyright (c) 2002 Ranjit Mathew
-+
-+
-+ X86 Foreign Function Interface
-+
-+ Permission is hereby granted, free of charge, to any person obtaining
-+ a copy of this software and associated documentation files (the
-+ ``Software''), to deal in the Software without restriction, including
-+ without limitation the rights to use, copy, modify, merge, publish,
-+ distribute, sublicense, and/or sell copies of the Software, and to
-+ permit persons to whom the Software is furnished to do so, subject to
-+ the following conditions:
-+
-+ The above copyright notice and this permission notice shall be included
-+ in all copies or substantial portions of the Software.
-+
-+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-+ IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR
-+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-+ OTHER DEALINGS IN THE SOFTWARE.
-+ ----------------------------------------------------------------------- */
-+
-+#define LIBFFI_ASM
-+#include <fficonfig.h>
-+#include <ffi.h>
-+
-+.text
-+
-+.globl ffi_prep_args
-+
-+ # This assumes we are using gas.
-+ .balign 16
-+.globl _ffi_call_x86
-+
-+_ffi_call_x86:
-+ pushl %ebp
-+ movl %esp,%ebp
-+
-+ #THe: save previous %esi, and store the current stack pointer in %esi
-+ pushl %esi
-+ movl %esp,%esi
-+
-+ # Make room for all of the new args.
-+ movl 16(%ebp),%ecx
-+ subl %ecx,%esp
-+
-+ movl %esp,%eax
-+
-+ # Place all of the ffi_prep_args in position
-+ pushl 12(%ebp)
-+ pushl %eax
-+ call *8(%ebp)
-+
-+ # Return stack to previous state and call the function
-+ addl $8,%esp
-+
-+ # FIXME: Align the stack to a 128-bit boundary to avoid
-+ # potential performance hits.
-+
-+ call *28(%ebp)
-+
-+ # Load ecif->cif->abi
-+#masm# mov ecx, [ebp + 12]
-+ movl 12(%ebp),%ecx
-+#masm# mov ecx, [ecx]ecif.cif
-+ movl (%ecx),%ecx
-+#masm# mov ecx, [ecx]ecif.cif.abi
-+ movl (%ecx),%ecx
-+#masm# cmp ecx, FFI_STDCALL
-+ cmpl $2,%ecx
-+ je noclean
-+
-+ # STDCALL: Remove the space we pushed for the args
-+ movl 16(%ebp),%ecx
-+ addl %ecx,%esp
-+
-+ # CDECL: Caller has already cleaned the stack
-+noclean:
-+ # Check that esp has the same value as before!
-+ sub %esp,%esi # calculate stack pointer difference
-+
-+ # Load %ecx with the return type code
-+ movl 20(%ebp),%ecx
-+
-+ # If the return value pointer is NULL, assume no return value.
-+ cmpl $0,24(%ebp)
-+ jne retint
-+
-+ # Even if there is no space for the return value, we are
-+ # obliged to handle floating-point values.
-+ cmpl $FFI_TYPE_FLOAT,%ecx
-+ jne noretval
-+ fstp %st(0)
-+
-+ jmp epilogue
-+
-+retint:
-+ cmpl $FFI_TYPE_INT,%ecx
-+ jne retfloat
-+ # Load %ecx with the pointer to storage for the return value
-+ movl 24(%ebp),%ecx
-+ movl %eax,0(%ecx)
-+ jmp epilogue
-+
-+retfloat:
-+ cmpl $FFI_TYPE_FLOAT,%ecx
-+ jne retdouble
-+ # Load %ecx with the pointer to storage for the return value
-+ movl 24(%ebp),%ecx
-+ fstps (%ecx)
-+ jmp epilogue
-+
-+retdouble:
-+ cmpl $FFI_TYPE_DOUBLE,%ecx
-+ jne retlongdouble
-+ # Load %ecx with the pointer to storage for the return value
-+ movl 24(%ebp),%ecx
-+ fstpl (%ecx)
-+ jmp epilogue
-+
-+retlongdouble:
-+ cmpl $FFI_TYPE_LONGDOUBLE,%ecx
-+ jne retint64
-+ # Load %ecx with the pointer to storage for the return value
-+ movl 24(%ebp),%ecx
-+ fstpt (%ecx)
-+ jmp epilogue
-+
-+retint64:
-+ cmpl $FFI_TYPE_SINT64,%ecx
-+ jne retstruct
-+ # Load %ecx with the pointer to storage for the return value
-+ movl 24(%ebp),%ecx
-+ movl %eax,0(%ecx)
-+ movl %edx,4(%ecx)
-+
-+retstruct:
-+ # Nothing to do!
-+
-+noretval:
-+epilogue:
-+ movl %esi,%eax # return the stack pointer detlta in %eax
-+ popl %esi # restore previous %esi
-+ movl %ebp,%esp
-+ popl %ebp
-+ ret
-+
-+.ffi_call_x86_end:
-diff -urN a/Modules/getaddrinfo.c b/Modules/getaddrinfo.c
---- a/Modules/getaddrinfo.c 2012-04-10 00:07:34.000000000 +0100
-+++ b/Modules/getaddrinfo.c 2012-06-24 16:36:40.075817314 +0100
-@@ -232,6 +232,9 @@
- return YES;
- }
-
-+#ifndef EAI_BADHINTS
-+# define EAI_BADHINTS EAI_BADFLAGS
-+#endif
- int
- getaddrinfo(const char*hostname, const char*servname,
- const struct addrinfo *hints, struct addrinfo **res)
-diff -urN a/Modules/getnameinfo.c b/Modules/getnameinfo.c
---- a/Modules/getnameinfo.c 2012-04-10 00:07:34.000000000 +0100
-+++ b/Modules/getnameinfo.c 2012-06-24 16:36:40.074817308 +0100
-@@ -48,6 +48,14 @@
- #include "addrinfo.h"
- #endif
-
-+#ifndef IN_EXPERIMENTAL
-+#define IN_EXPERIMENTAL(i) (((i) & 0xe0000000U) == 0xe0000000U)
-+#endif
-+
-+#ifndef IN_LOOPBACKNET
-+#define IN_LOOPBACKNET 127
-+#endif
-+
- #define SUCCESS 0
- #define YES 1
- #define NO 0
-diff -urN a/Modules/_io/fileio.c b/Modules/_io/fileio.c
---- a/Modules/_io/fileio.c 2012-04-10 00:07:33.000000000 +0100
-+++ b/Modules/_io/fileio.c 2012-06-24 16:36:40.073817301 +0100
-@@ -29,7 +29,9 @@
-
- #ifdef MS_WINDOWS
- /* can simulate truncate with Win32 API functions; see file_truncate */
-+#ifndef HAVE_FTRUNCATE
- #define HAVE_FTRUNCATE
-+#endif
- #define WIN32_LEAN_AND_MEAN
- #include <windows.h>
- #endif
-diff -urN a/Modules/_io/_iomodule.h b/Modules/_io/_iomodule.h
---- a/Modules/_io/_iomodule.h 2012-04-10 00:07:33.000000000 +0100
-+++ b/Modules/_io/_iomodule.h 2012-06-24 16:36:40.073817301 +0100
-@@ -72,7 +72,7 @@
- PyObject *filename; /* Not used, but part of the IOError object */
- Py_ssize_t written;
- } PyBlockingIOErrorObject;
--PyAPI_DATA(PyObject *) PyExc_BlockingIOError;
-+extern PyObject* PyExc_BlockingIOError;
-
- /*
- * Offset type for positioning.
-diff -urN a/Modules/_localemodule.c b/Modules/_localemodule.c
---- a/Modules/_localemodule.c 2012-04-10 00:07:33.000000000 +0100
-+++ b/Modules/_localemodule.c 2012-06-24 16:36:40.081817356 +0100
-@@ -10,6 +10,13 @@
- ******************************************************************/
-
- #include "Python.h"
-+#ifdef __MINGW32__
-+/* The header libintl.h and library libintl may exist on mingw host.
-+ * To be compatible with MSVC build we has to undef some defines.
-+ */
-+#undef HAVE_LIBINTL_H
-+#undef HAVE_BIND_TEXTDOMAIN_CODESET
-+#endif
-
- #include <stdio.h>
- #include <locale.h>
-diff -urN a/Modules/_math.c b/Modules/_math.c
---- a/Modules/_math.c 2012-04-10 00:07:33.000000000 +0100
-+++ b/Modules/_math.c 2012-06-24 16:36:40.081817356 +0100
-@@ -5,6 +5,29 @@
- #include <float.h>
- #include "_math.h"
-
-+#if defined(__MINGW32__)
-+# define USE_MINGWEX_MATH
-+#endif
-+
-+#ifdef USE_MINGWEX_MATH
-+/* To avoid problems with many MSVCRT implementations we will
-+ * use a work-around
-+ */
-+#define MAXLOG 7.09782712893383996843E2
-+#define MINLOG -7.45133219101941108420E2
-+
-+static double fake_exp (double x) {
-+ if (isnan(x)) { return(x); }
-+ if (isinf(x)) { return(x > 0.0 ? x : 0.0); }
-+ if (x > MAXLOG) { errno = ERANGE; return(INFINITY); }
-+/* the correct code is to set ERANGE but why windows build bot don't fail ? */
-+ if (x < MINLOG) { errno = ERANGE; return(0.0); }
-+
-+ return(exp(x));
-+}
-+#define exp fake_exp
-+#endif /*def USE_MINGWEX_MATH*/
-+
- /* The following copyright notice applies to the original
- implementations of acosh, asinh and atanh. */
-
-@@ -179,9 +202,28 @@
- if (u == 1.0)
- return x;
- else
-+#if 0
- return (u - 1.0) * x / log(u);
-+#else
-+ { /* avoid precision error */
-+ double r;
-+ r = x / log(u);
-+ return((u - 1.0) * r);
-+ }
-+#endif
- }
- else
-+#ifdef USE_MINGWEX_MATH
-+/* to avout errors with correct fake_exp:
-+ expm10211:expm1(-1420.0): expected -1.0, got 'OverflowError'
-+ expm10212:expm1(-1450.0): expected -1.0, got 'OverflowError'
-+ expm10213:expm1(-1500.0): expected -1.0, got 'OverflowError'
-+ expm10214:expm1(-1e+50): expected -1.0, got 'OverflowError'
-+ expm10215:expm1(-1.79e+308): expected -1.0, got 'OverflowError'
-+*/
-+ if (x < MINLOG) { return(-1.0); }
-+ else
-+#endif
- return exp(x) - 1.0;
- }
-
-diff -urN a/Modules/mathmodule.c b/Modules/mathmodule.c
---- a/Modules/mathmodule.c 2012-04-10 00:07:34.000000000 +0100
-+++ b/Modules/mathmodule.c 2012-06-24 16:36:40.079817342 +0100
-@@ -60,6 +60,30 @@
- extern double copysign(double, double);
- #endif
-
-+#if defined(__MINGW32__)
-+# define USE_MINGWEX_MATH
-+#endif
-+
-+#ifdef USE_MINGWEX_MATH
-+/* Since ldexp() is broken on many MSVCRT implementations and mingwex
-+ * library provide a long double version we will use it as work-around.
-+ * As example broken ldexp return for ldexp(1., INT_MAX) 0(zero) instead inf.
-+ * With this work-around math test testLdexp pass.
-+ */
-+static double fake_ldexp (double x, int expn) { return ldexpl (x, expn); }
-+#define ldexp fake_ldexp
-+
-+/* Since pow() is broken on many MSVCRT implementations and library
-+ * mingwex provide a long double version we will use it as work-around.
-+ * As example broken pow return for pow(132.97585637020967, 126.95117632943295)
-+ * 4.1252919849060512e+269 instead 4.1252919849057403e+269.
-+ * With this work-around math test test_mtestfile pass for gamma.
-+ */
-+static double fake_pow (double x, double y) { return powl (x, y); }
-+#define pow fake_pow
-+
-+#endif /*def USE_MINGWEX_MATH*/
-+
- /*
- sin(pi*x), giving accurate results for all finite x (especially x
- integral or close to an integer). This is here for use in the
-diff -urN a/Modules/_multiprocessing/multiprocessing.c b/Modules/_multiprocessing/multiprocessing.c
---- a/Modules/_multiprocessing/multiprocessing.c 2012-04-10 00:07:33.000000000 +0100
-+++ b/Modules/_multiprocessing/multiprocessing.c 2012-06-24 16:36:40.081817356 +0100
-@@ -332,6 +332,12 @@
- Py_DECREF(temp); Py_DECREF(value); return; } \
- Py_DECREF(value)
-
-+#ifndef MS_WINDOWS
-+/* GCC(mingw) 4.4+ require and use posix threads(pthreads-w32)
-+ * Also system may contain installed pthreads-w32.
-+ * As multiprocessing is based on windows methods we must
-+ * comment all those flags
-+ */
- #if defined(HAVE_SEM_OPEN) && !defined(POSIX_SEMAPHORES_NOT_ENABLED)
- ADD_FLAG(HAVE_SEM_OPEN);
- #endif
-@@ -345,8 +351,10 @@
- ADD_FLAG(HAVE_BROKEN_SEM_GETVALUE);
- #endif
- #ifdef HAVE_BROKEN_SEM_UNLINK
-+/* FIXME: why use this? Note before was for cygwin and darwin ? */
- ADD_FLAG(HAVE_BROKEN_SEM_UNLINK);
- #endif
-+#endif /*ndef MS_WINDOWS*/
- if (PyModule_AddObject(module, "flags", temp) < 0)
- return;
- }
-diff -urN a/Modules/posixmodule.c b/Modules/posixmodule.c
---- a/Modules/posixmodule.c 2012-04-10 00:07:34.000000000 +0100
-+++ b/Modules/posixmodule.c 2012-06-24 16:36:40.078817335 +0100
-@@ -128,6 +128,16 @@
- #define HAVE_CWAIT 1
- #define HAVE_FSYNC 1
- #define fsync _commit
-+#elif defined(__MINGW32__) /* GCC (mingw special) compiler */
-+/*#define HAVE_GETCWD 1 - detected by configure*/
-+#define HAVE_SPAWNV 1
-+/*#define HAVE_EXECV 1 - detected by configure*/
-+#define HAVE_PIPE 1
-+#define HAVE_POPEN 1
-+#define HAVE_SYSTEM 1
-+#define HAVE_CWAIT 1
-+#define HAVE_FSYNC 1
-+#define fsync _commit
- #else
- #if defined(PYOS_OS2) && defined(PYCC_GCC) || defined(__VMS)
- /* Everything needed is defined in PC/os2emx/pyconfig.h or vms/pyconfig.h */
-@@ -256,7 +266,7 @@
- #endif
- #endif
-
--#ifdef _MSC_VER
-+#if defined(_MSC_VER) || defined(__MINGW32__)
- #ifdef HAVE_DIRECT_H
- #include <direct.h>
- #endif
-@@ -272,7 +282,7 @@
- #include <shellapi.h> /* for ShellExecute() */
- #define popen _popen
- #define pclose _pclose
--#endif /* _MSC_VER */
-+#endif /* _MSC_VER || __MINGW32__ */
-
- #if defined(PYCC_VACPP) && defined(PYOS_OS2)
- #include <io.h>
-@@ -447,7 +457,7 @@
- */
- #include <crt_externs.h>
- static char **environ;
--#elif !defined(_MSC_VER) && ( !defined(__WATCOMC__) || defined(__QNX__) )
-+#elif !defined(_MSC_VER) && !defined(__MINGW32__) && ( !defined(__WATCOMC__) || defined(__QNX__) )
- extern char **environ;
- #endif /* !_MSC_VER */
-
-@@ -1382,6 +1392,13 @@
- }
-
- #ifdef MS_WINDOWS
-+#ifdef __MINGW32__
-+/* NOTE: All sample MSDN wincrypt programs include this header.
-+ * It is required if we use mingw w32api.
-+ * Why MSVC builds don't include it ?
-+ */
-+# include <wincrypt.h>
-+#endif
-
- /* IsUNCRoot -- test whether the supplied path is of the form \\SERVER\SHARE\,
- where / can be used in place of \ and the trailing slash is optional.
-@@ -9251,7 +9268,7 @@
- }
-
-
--#if (defined(_MSC_VER) || defined(__WATCOMC__) || defined(__BORLANDC__)) && !defined(__QNX__)
-+#if (defined(_MSC_VER) || defined (__MINGW32__) || defined(__WATCOMC__) || defined(__BORLANDC__)) && !defined(__QNX__)
- #define INITFUNC initnt
- #define MODNAME "nt"
-
-diff -urN a/Modules/readline.c b/Modules/readline.c
---- a/Modules/readline.c 2012-04-10 00:07:34.000000000 +0100
-+++ b/Modules/readline.c 2012-06-24 16:36:40.079817342 +0100
-@@ -11,6 +11,11 @@
- #include <errno.h>
- #include <sys/time.h>
-
-+#ifdef MS_WINDOWS
-+/* on windows select don't work on files */
-+#undef HAVE_SELECT
-+#endif
-+
- #if defined(HAVE_SETLOCALE)
- /* GNU readline() mistakenly sets the LC_CTYPE locale.
- * This is evil. Only the user or the app's main() should do this!
-@@ -880,6 +885,10 @@
- /* Allow $if term= in .inputrc to work */
- rl_terminal_name = getenv("TERM");
- #endif
-+#ifdef MS_WINDOWS
-+ /* FIXME: need more test before to skip this hack */
-+ rl_terminal_name = "dumb";
-+#endif
- /* Force rebind of TAB to insert-tab */
- rl_bind_key('\t', rl_insert);
- /* Bind both ESC-TAB and ESC-ESC to the completion function */
-@@ -1139,6 +1148,9 @@
-
-
-
-+#ifndef MS_WINDOWS
-+ /* FIXME: windows readline(prompt) may not work ? */
- PyOS_ReadlineFunctionPointer = call_readline;
-+#endif
- setup_readline();
- }
-diff -urN a/Modules/selectmodule.c b/Modules/selectmodule.c
---- a/Modules/selectmodule.c 2012-04-10 00:07:34.000000000 +0100
-+++ b/Modules/selectmodule.c 2012-06-24 16:39:30.641981474 +0100
-@@ -111,9 +111,10 @@
- v = PyObject_AsFileDescriptor( o );
- if (v == -1) goto finally;
-
--#if defined(_MSC_VER)
-+#if defined(_MSC_VER) || defined(__MINGW32__)
-+/* FIXME: why not #ifdef Py_SOCKET_FD_CAN_BE_GE_FD_SETSIZE ? */
- max = 0; /* not used for Win32 */
--#else /* !_MSC_VER */
-+#else /* !_MSC_VER & !__MINGW32__ */
- if (!_PyIsSelectable_fd(v)) {
- PyErr_SetString(PyExc_ValueError,
- "filedescriptor out of range in select()");
-@@ -121,7 +122,7 @@
- }
- if (v > max)
- max = v;
--#endif /* _MSC_VER */
-+#endif /* _MSC_VER, __MINGW32__ */
- FD_SET(v, set);
-
- /* add object and its file descriptor to the list */
-diff -urN a/Modules/Setup.config.in b/Modules/Setup.config.in
---- a/Modules/Setup.config.in 2012-04-10 00:07:33.000000000 +0100
-+++ b/Modules/Setup.config.in 2012-06-24 16:36:40.074817308 +0100
-@@ -3,11 +3,22 @@
- # The purpose of this file is to conditionally enable certain modules
- # based on configure-time options.
-
-+# init system calls(posix/nt/...) for INITFUNC (used by makesetup)
-+@INITSYS@ posixmodule.c
-+
- # Threading
- @USE_THREAD_MODULE@thread threadmodule.c
-
- # The signal module
- @USE_SIGNAL_MODULE@signal signalmodule.c
-
-+# On win32 host(mingw build in MSYS environment) show that site.py
-+# fail to load if some modules are not build-in:
-+@BUILDIN_WIN32_MODULE@_functools _functoolsmodule.c # Tools for working with functions and callable objects
-+@BUILDIN_WIN32_MODULE@operator operator.c # operator.add() and similar goodies
-+@BUILDIN_WIN32_MODULE@_locale _localemodule.c # -lintl
-+@BUILDIN_WIN32_MODULE@_winreg ../PC/_winreg.c
-+
-+
- # The rest of the modules previously listed in this file are built
- # by the setup.py script in Python 2.1 and later.
-diff -urN a/Modules/Setup.dist b/Modules/Setup.dist
---- a/Modules/Setup.dist 2012-04-10 00:07:33.000000000 +0100
-+++ b/Modules/Setup.dist 2012-06-24 16:36:40.074817308 +0100
-@@ -112,9 +112,10 @@
- # This only contains the minimal set of modules required to run the
- # setup.py script in the root of the Python source tree.
-
--posix posixmodule.c # posix (UNIX) system calls
- errno errnomodule.c # posix (UNIX) errno values
--pwd pwdmodule.c # this is needed to find out the user's home dir
-+#FIXME: setup.py detect this module along with grp and spwd.
-+#FIXME: what about to comment ?
-+#pwd pwdmodule.c # this is needed to find out the user's home dir
- # if $HOME is not set
- _sre _sre.c # Fredrik Lundh's new regular expressions
- _codecs _codecsmodule.c # access to the builtin codecs and codec registry
-diff -urN a/Modules/signalmodule.c b/Modules/signalmodule.c
---- a/Modules/signalmodule.c 2012-04-10 00:07:34.000000000 +0100
-+++ b/Modules/signalmodule.c 2012-06-24 16:36:40.078817335 +0100
-@@ -7,7 +7,7 @@
- #include "intrcheck.h"
-
- #ifdef MS_WINDOWS
--#include <Windows.h>
-+#include <windows.h>
- #ifdef HAVE_PROCESS_H
- #include <process.h>
- #endif
-diff -urN a/Modules/socketmodule.c b/Modules/socketmodule.c
---- a/Modules/socketmodule.c 2012-04-10 00:07:34.000000000 +0100
-+++ b/Modules/socketmodule.c 2012-06-24 16:36:40.080817349 +0100
-@@ -91,6 +91,15 @@
- #endif
-
- #include "Python.h"
-+#ifndef HAVE_GETPEERNAME
-+/* FIXME: see comments in configure.in. Also PC/pyconfig.h define it.
-+ * Since only this module use getpeername why don't remove declaration
-+ * from PC/pyconfig.h and define here if is defined MS_WIN32 ?
-+ */
-+#ifdef __MINGW32__
-+# define HAVE_GETPEERNAME
-+#endif
-+#endif /* ndef HAVE_GETPEERNAME */
- #include "structmember.h"
-
- #undef MAX
-@@ -312,6 +321,35 @@
- /* Do not include addrinfo.h for MSVC7 or greater. 'addrinfo' and
- * EAI_* constants are defined in (the already included) ws2tcpip.h.
- */
-+#elif defined(__MINGW32__)
-+/* FIXME: getaddrinfo(HAVE_GETADDRINFO) depend from WINVER
-+ TODO: resolve later(see comments in pyport.h) */
-+#if 0
-+/* To use getaddrinfo/getnameinfo from runtime for version before 0x0501
-+ we has to define those functions (see below).
-+ In all cases mingw linker succeed to link binaries.
-+ If you enable this code the load of module will fail on w2k
-+ with message like this one:
-+ "The specified procedure could not be found" */
-+# if (_WIN32_WINNT < 0x0501)
-+void WSAAPI freeaddrinfo (struct addrinfo*);
-+int WSAAPI getaddrinfo (const char*,const char*,const struct addrinfo*,
-+ struct addrinfo**);
-+int WSAAPI getnameinfo(const struct sockaddr*,socklen_t,char*,DWORD,
-+ char*,DWORD,int);
-+# endif
-+# define HAVE_GETADDRINFO
-+# define HAVE_GETNAMEINFO
-+#else
-+# if (_WIN32_WINNT < 0x0501)
-+ /* Internal implemetation that has to work on w2k and latest. */
-+# define EAI_ADDRFAMILY
-+# include "addrinfo.h"
-+# else
-+# define HAVE_GETADDRINFO
-+# define HAVE_GETNAMEINFO
-+# endif
-+#endif
- #else
- # include "addrinfo.h"
- #endif
-@@ -349,6 +387,16 @@
- #if !defined(HAVE_GETADDRINFO)
- /* avoid clashes with the C library definition of the symbol. */
- #define getaddrinfo fake_getaddrinfo
-+#ifdef __MINGW32__
-+#ifdef gai_strerror
-+/* NOTE: Mingw w32api always define gai_strerror to gai_strerror{A|W}
-+ but getaddrinfo is defined if _WIN32_WINNT >= 0x0501.
-+ MSDN say that gai_strerror() exist for w95 and later and
-+ getaddrinfo()/getnameinfo() for wxp and later.
-+ Since we use fake function to suppress warnign we has to undef. */
-+# undef gai_strerror
-+#endif
-+#endif /*def __MINGW32__*/
- #define gai_strerror fake_gai_strerror
- #define freeaddrinfo fake_freeaddrinfo
- #include "getaddrinfo.c"
-@@ -2912,7 +2960,31 @@
- Shut down the reading side of the socket (flag == SHUT_RD), the writing side\n\
- of the socket (flag == SHUT_WR), or both ends (flag == SHUT_RDWR).");
-
-+#ifndef SIO_RCVALL
-+#ifdef __MINGW32__
-+/* MSDN: SIO_RCVALL defined on w2k and later */
-+/* note "Separate SDKs" required for w2k */
-+/* 0x98000001 = _WSAIOW(IOC_VENDOR,1) */
-+# define SIO_RCVALL 0x98000001
-+# define RCVALL_OFF 0
-+# define RCVALL_ON 1
-+ /* NOTE: MSDN - this feature is not implemented */
-+# define RCVALL_SOCKETLEVELONLY 2
-+
-+/* 0x98000004 = _WSAIOW(IOC_VENDOR,4) */
-+# define SIO_KEEPALIVE_VALS 0x98000004
-+struct tcp_keepalive {
-+ u_long onoff;
-+ u_long keepalivetime;
-+ u_long keepaliveinterval;
-+};
-+#endif /* def __MINGW32__ */
-+#endif /* ndef SIO_RCVALL */
-+
- #if defined(MS_WINDOWS) && defined(SIO_RCVALL)
-+/* If isn't defined test_socket.py fail with:
-+AttributeError: type object '_socket.socket' has no attribute 'ioctl'
-+*/
- static PyObject*
- sock_ioctl(PySocketSockObject *s, PyObject *arg)
- {
-diff -urN a/Modules/socketmodule.h b/Modules/socketmodule.h
---- a/Modules/socketmodule.h 2012-04-10 00:07:34.000000000 +0100
-+++ b/Modules/socketmodule.h 2012-06-24 16:36:40.079817342 +0100
-@@ -13,6 +13,13 @@
- # endif
-
- #else /* MS_WINDOWS */
-+#ifdef socklen_t
-+/* Configure script define to int on windows for GCC compiler.
-+ Avoid GCC 4.4+ error (two or more data types in declaration specifiers)
-+ as undef it first.
-+ */
-+# undef socklen_t
-+#endif
- # include <winsock2.h>
- # include <ws2tcpip.h>
- /* VC6 is shipped with old platform headers, and does not have MSTcpIP.h
-diff -urN a/Objects/fileobject.c b/Objects/fileobject.c
---- a/Objects/fileobject.c 2012-04-10 00:07:34.000000000 +0100
-+++ b/Objects/fileobject.c 2012-06-24 16:36:40.082817363 +0100
-@@ -9,9 +9,17 @@
- #endif /* HAVE_SYS_TYPES_H */
-
- #ifdef MS_WINDOWS
-+#if !defined(__MINGW32__)
-+/* avoid 'warning: "fileno" redefined' */
- #define fileno _fileno
-+#endif
- /* can simulate truncate with Win32 API functions; see file_truncate */
-+#ifndef HAVE_FTRUNCATE
-+/* NOTE: autotool based build check and set it
-+ FIXME: why isn't defined in PC/pyconfig.h ?
-+ */
- #define HAVE_FTRUNCATE
-+#endif
- #define WIN32_LEAN_AND_MEAN
- #include <windows.h>
- #endif
-diff -urN a/PC/msvcrtmodule.c b/PC/msvcrtmodule.c
---- a/PC/msvcrtmodule.c 2012-04-10 00:07:35.000000000 +0100
-+++ b/PC/msvcrtmodule.c 2012-06-24 16:36:40.057817190 +0100
-@@ -22,6 +22,31 @@
- #include <conio.h>
- #include <sys/locking.h>
-
-+#if defined(__MINGW32__)
-+#if __MSVCRT_VERSION__ >= 0x0700
-+# define _WCONIO_DEFINED
-+/* NOTE: Up to version ?.?? mingw don't define functions
-+ * listed below. Also it require module to be linked with
-+ * ms-vcrt at least verion 7.
-+ * To build with different runtimes see:
-+ * http://www.mingw.org/wiki/HOWTO_Use_the_GCC_specs_file
-+ *
-+ * Also note that NT5.1(XP), shiped with msvcrt version 7.0,
-+ * contain all those functions, but library name is msvcrt.dll.
-+ * So if you like module to run on w2k as is you must define
-+ * appropriate __MSVCRT_VERSION__ .
-+ * If you like those functions even on w2k you must link
-+ * with appropriate runtime and to pack it in distributions.
-+ * This is what MSVC build do - it is build and packed
-+ * with version 9.0 of Microsoft C-runtime.
-+ */
-+_CRTIMP wint_t __cdecl __MINGW_NOTHROW _getwch (void);
-+_CRTIMP wint_t __cdecl __MINGW_NOTHROW _getwche (void);
-+_CRTIMP wint_t __cdecl __MINGW_NOTHROW _putwch (wchar_t);
-+_CRTIMP wint_t __cdecl __MINGW_NOTHROW _ungetwch(wint_t);
-+#endif /* __MSVCRT_VERSION__ >= 0x0700 */
-+#endif
-+
- #ifdef _MSC_VER
- #if _MSC_VER >= 1500 && _MSC_VER < 1600
- #include <crtassem.h>
-@@ -346,6 +371,7 @@
- if (!PyArg_ParseTuple(args, "u:ungetwch", &ch))
- return NULL;
-
-+ /* FIXME: why _ungetch is called instead _ungetwch */
- if (_ungetch(ch) == EOF)
- return PyErr_SetFromErrno(PyExc_IOError);
- Py_INCREF(Py_None);
-diff -urN a/PC/_winreg.c b/PC/_winreg.c
---- a/PC/_winreg.c 2012-04-10 00:07:35.000000000 +0100
-+++ b/PC/_winreg.c 2012-06-24 16:36:40.057817190 +0100
-@@ -17,6 +17,18 @@
- #include "malloc.h" /* for alloca */
- #include "windows.h"
-
-+#if defined(__MINGW32__)
-+_CRTIMP size_t __cdecl __MINGW_NOTHROW _mbstrlen(const char *s);
-+#endif
-+
-+#if !defined(REG_LEGAL_CHANGE_FILTER)
-+#define REG_LEGAL_CHANGE_FILTER \
-+ (REG_NOTIFY_CHANGE_NAME |\
-+ REG_NOTIFY_CHANGE_ATTRIBUTES |\
-+ REG_NOTIFY_CHANGE_LAST_SET |\
-+ REG_NOTIFY_CHANGE_SECURITY)
-+#endif
-+
- static BOOL PyHKEY_AsHKEY(PyObject *ob, HKEY *pRes, BOOL bNoneOK);
- static PyObject *PyHKEY_FromHKEY(HKEY h);
- static BOOL PyHKEY_Close(PyObject *obHandle);
-@@ -1087,6 +1099,15 @@
- static PyObject *
- PyDeleteKeyEx(PyObject *self, PyObject *args)
- {
-+#ifndef KEY_WOW64_64KEY
-+/* KEY_WOW64_64KEY is defined for _WIN32_WINNT >= 0x0502,
-+ i.e. Windows Server 2003 with SP1, Windows XP with SP2
-+ and not supported on w2k
-+ */
-+ PyErr_SetString(PyExc_NotImplementedError,
-+ "not implemented on this platform");
-+ return NULL;
-+#else /*def KEY_WOW64_64KEY*/
- HKEY hKey;
- PyObject *obKey;
- HMODULE hMod;
-@@ -1122,6 +1143,7 @@
- return PyErr_SetFromWindowsErrWithFunction(rc, "RegDeleteKeyEx");
- Py_INCREF(Py_None);
- return Py_None;
-+#endif
- }
-
- static PyObject *
-diff -urN a/pyconfig.h.in b/pyconfig.h.in
---- a/pyconfig.h.in 2012-06-24 16:36:39.859815838 +0100
-+++ b/pyconfig.h.in 2012-06-24 16:36:40.073817301 +0100
-@@ -49,7 +49,7 @@
- /* Define to 1 if you have the `acosh' function. */
- #undef HAVE_ACOSH
-
--/* struct addrinfo (netdb.h) */
-+/* struct addrinfo */
- #undef HAVE_ADDRINFO
-
- /* Define to 1 if you have the `alarm' function. */
-@@ -888,6 +888,9 @@
- /* Define to 1 if you have the `wcscoll' function. */
- #undef HAVE_WCSCOLL
-
-+/* Define to 1 if you have the <winsock2.h> header file. */
-+#undef HAVE_WINSOCK2_H
-+
- /* Define if tzset() actually switches the local timezone in a meaningful way.
- */
- #undef HAVE_WORKING_TZSET
-@@ -915,6 +918,9 @@
- /* Define if mvwdelch in curses.h is an expression. */
- #undef MVWDELCH_IS_EXPRESSION
-
-+/* Define to 1 if you want to use native NT threads */
-+#undef NT_THREADS
-+
- /* Define to the address where bug reports for this package should be sent. */
- #undef PACKAGE_BUGREPORT
-
-diff -urN a/Python/dynload_win.c b/Python/dynload_win.c
---- a/Python/dynload_win.c 2012-04-10 00:07:35.000000000 +0100
-+++ b/Python/dynload_win.c 2012-06-24 16:36:40.066817253 +0100
-@@ -11,9 +11,11 @@
- #include "importdl.h"
- #include <windows.h>
-
--// "activation context" magic - see dl_nt.c...
-+#ifdef Py_ENABLE_SHARED
-+/* "activation context" magic - see dl_nt.c... */
- extern ULONG_PTR _Py_ActivateActCtx();
- void _Py_DeactivateActCtx(ULONG_PTR cookie);
-+#endif
-
- const struct filedescr _PyImport_DynLoadFiletab[] = {
- #ifdef _DEBUG
-@@ -25,6 +27,12 @@
- };
-
-
-+#if defined(__MINGW32__)
-+/* NOTE strcasecmp fail to compile with GCC for windows hosts
-+ * with error: conflicting types for 'strcasecmp'
-+ */
-+# define strcasecmp fake_strcasecmp
-+#endif
- /* Case insensitive string compare, to avoid any dependencies on particular
- C RTL implementations */
-
-@@ -190,11 +198,15 @@
- sizeof(pathbuf),
- pathbuf,
- &dummy)) {
-+#ifdef Py_ENABLE_SHARED
- ULONG_PTR cookie = _Py_ActivateActCtx();
-+#endif
- /* XXX This call doesn't exist in Windows CE */
- hDLL = LoadLibraryEx(pathname, NULL,
- LOAD_WITH_ALTERED_SEARCH_PATH);
-+#ifdef Py_ENABLE_SHARED
- _Py_DeactivateActCtx(cookie);
-+#endif
- }
-
- /* restore old error mode settings */
-diff -urN a/Python/fileblocks.c b/Python/fileblocks.c
---- a/Python/fileblocks.c 1970-01-01 01:00:00.000000000 +0100
-+++ b/Python/fileblocks.c 2012-06-24 16:36:40.067817260 +0100
-@@ -0,0 +1,17 @@
-+/*
-+-- Macro: AC_STRUCT_ST_BLOCKS
-+ If `struct stat' contains an `st_blocks' member, define
-+ `HAVE_STRUCT_STAT_ST_BLOCKS'. Otherwise, require an `AC_LIBOBJ'
-+ replacement of `fileblocks'.
-+*/
-+
-+#if !HAVE_STRUCT_STAT_ST_BLOCKS
-+/* If necessary you may see gnulib for replacement function:
-+off_t st_blocks (off_t size)
-+You may found code available under GPL2 or GPL3.
-+*/
-+#else
-+/* This declaration is solely to ensure that after preprocessing
-+ this file is never empty. */
-+typedef int textutils_fileblocks_unused;
-+#endif
-diff -urN a/Python/thread.c b/Python/thread.c
---- a/Python/thread.c 2012-04-10 00:07:35.000000000 +0100
-+++ b/Python/thread.c 2012-06-24 16:36:40.067817260 +0100
-@@ -7,6 +7,16 @@
-
- #include "Python.h"
-
-+#ifdef __MINGW32__
-+/* GCC 4.4+ (mingw) support posix threads!
-+ Note: macro __MINGW_GCC is defined for GCC 4.4+ but
-+ not for GCC 3.4.5 (last stable from 3.x )
-+ Instead to use __MINGW_GCC we will use more common
-+ __MINGW32__ to prevent case when in GCC 3.4.5 build
-+ envirionment is installed posix thread package.
-+ */
-+# undef HAVE_PTHREAD_H
-+#endif
-
- #ifndef _POSIX_THREADS
- /* This means pthreads are not implemented in libc headers, hence the macro
-diff -urN a/setup.py b/setup.py
---- a/setup.py 2012-06-24 16:36:39.861815851 +0100
-+++ b/setup.py 2012-06-24 16:36:40.071817288 +0100
-@@ -24,7 +24,8 @@
- host_platform = os.environ.get('HOST_OS')
- if host_platform is None:
- host_platform = sys.platform
-- for platform in ['cygwin', 'beos', 'darwin', 'atheos', 'osf1']:
-+ # NOTE: for mingw* host we cannot return 'win32' (see below)
-+ for platform in ['cygwin', 'mingw', 'beos', 'darwin', 'atheos', 'osf1']:
- if host_platform.startswith(platform):
- return platform
- return host_platform
-@@ -33,8 +34,7 @@
- cross_compiling = (not os.environ.get('HOST_OS') is None)
-
-
--# Were we compiled --with-pydebug or with #define Py_DEBUG?
--COMPILED_WITH_PYDEBUG = hasattr(sys, 'gettotalrefcount')
-+COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
-
- # This global variable is used to hold the list of modules to be disabled.
- disabled_module_list = []
-@@ -181,7 +181,7 @@
- # with Modules/ and adding Python's include directory to the path.
- (srcdir,) = sysconfig.get_config_vars('srcdir')
- if not srcdir:
-- # Maybe running on Windows but not using CYGWIN?
-+ # Maybe running on Windows but not using posix build?
- raise ValueError("No source directory; cannot proceed.")
- srcdir = os.path.abspath(srcdir)
- moddirlist = [os.path.join(srcdir, 'Modules')]
-@@ -247,8 +247,38 @@
- if compiler is not None:
- (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS')
- args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags
-+
-+ # FIXME: Is next correct ?
-+ # To link modules we need LDSHARED passed to setup.py otherwise
-+ # distutils will use linker from build system if cross-compiling.
-+ linker_so = os.environ.get('LDSHARED')
-+ if linker_so is not None:
-+ args['linker_so'] = linker_so
-+
- self.compiler.set_executables(**args)
-
-+ if host_platform in ['mingw', 'win32']:
-+ # FIXME: best way to pass just build python library to the modules
-+ self.compiler.library_dirs.insert(0, '.')
-+ data = open('pyconfig.h').read()
-+ m = re.search(r"#s*define\s+Py_DEBUG\s+1\s*", data)
-+ if m is not None:
-+ self.compiler.libraries.append("python" + str(sysconfig.get_config_var('VERSION')) + "_d")
-+ else:
-+ self.compiler.libraries.append("python" + str(sysconfig.get_config_var('VERSION')))
-+
-+ if host_platform in ['mingw', 'win32']:
-+ # NOTE: See comment for SHLIBS in configure.in .
-+ # Although it look obsolete since setup.py add module
-+ # required libraries we will pass list too.
-+ # As example this will allow us to propage static
-+ # libraries like mingwex to modules.
-+ for lib in sysconfig.get_config_var('SHLIBS').split():
-+ if lib.startswith('-l'):
-+ self.compiler.libraries.append(lib[2:])
-+ else:
-+ self.compiler.libraries.append(lib)
-+
- build_ext.build_extensions(self)
-
- longest = max([len(e.name) for e in self.extensions])
-@@ -432,6 +462,8 @@
- # (PYTHONFRAMEWORK is set) to avoid # linking problems when
- # building a framework with different architectures than
- # the one that is currently installed (issue #7473)
-+ # NOTE: revision 25103:[ #420565 ] add search in sys.prefix
-+ # before current source tree !?!?!?! No comment!
- add_dir_to_list(self.compiler.library_dirs,
- sysconfig.get_config_var("LIBDIR"))
- add_dir_to_list(self.compiler.include_dirs,
-@@ -479,6 +511,7 @@
- # NOTE: using shlex.split would technically be more correct, but
- # also gives a bootstrap problem. Let's hope nobody uses directories
- # with whitespace in the name to store libraries.
-+ # FIXME: Why LDFLAGS again ?
- cflags, ldflags = sysconfig.get_config_vars(
- 'CFLAGS', 'LDFLAGS')
- for item in cflags.split():
-@@ -491,7 +524,7 @@
-
- # Check for MacOS X, which doesn't need libm.a at all
- math_libs = ['m']
-- if host_platform in ['darwin', 'beos']:
-+ if host_platform in ['darwin', 'beos', 'mingw', 'win32']:
- math_libs = []
-
- # XXX Omitted modules: gl, pure, dl, SGI-specific modules
-@@ -535,14 +568,20 @@
- # heapq
- exts.append( Extension("_heapq", ["_heapqmodule.c"]) )
- # operator.add() and similar goodies
-- exts.append( Extension('operator', ['operator.c']) )
-+ # On win32 host(mingw build in MSYS environment) show that site.py
-+ # fail to load if some modules are not build-in:
-+ if host_platform not in ['mingw', 'win32']:
-+ exts.append( Extension('operator', ['operator.c']) )
- # Python 3.1 _io library
- exts.append( Extension("_io",
- ["_io/bufferedio.c", "_io/bytesio.c", "_io/fileio.c",
- "_io/iobase.c", "_io/_iomodule.c", "_io/stringio.c", "_io/textio.c"],
-- depends=["_io/_iomodule.h"], include_dirs=["Modules/_io"]))
-+ depends=["_io/_iomodule.h"], include_dirs=[os.path.join(srcdir,"Modules/_io")]))
- # _functools
-- exts.append( Extension("_functools", ["_functoolsmodule.c"]) )
-+ # On win32 host(mingw build in MSYS environment) show that site.py
-+ # fail to load if some modules are not build-in:
-+ if host_platform not in ['mingw', 'win32']:
-+ exts.append( Extension("_functools", ["_functoolsmodule.c"]) )
- # _json speedups
- exts.append( Extension("_json", ["_json.c"]) )
- # Python C API test module
-@@ -568,7 +607,10 @@
- locale_extra_link_args = []
-
-
-- exts.append( Extension('_locale', ['_localemodule.c'],
-+ # On win32 host(mingw build in MSYS environment) show that site.py
-+ # fail to load if some modules are not build-in:
-+ if host_platform not in ['mingw', 'win32']:
-+ exts.append( Extension('_locale', ['_localemodule.c'],
- libraries=locale_libs,
- extra_link_args=locale_extra_link_args) )
-
-@@ -577,24 +619,35 @@
- # supported...)
-
- # fcntl(2) and ioctl(2)
-- libs = []
-- if (config_h_vars.get('FLOCK_NEEDS_LIBBSD', False)):
-- # May be necessary on AIX for flock function
-- libs = ['bsd']
-- exts.append( Extension('fcntl', ['fcntlmodule.c'], libraries=libs) )
-- # pwd(3)
-- exts.append( Extension('pwd', ['pwdmodule.c']) )
-- # grp(3)
-- exts.append( Extension('grp', ['grpmodule.c']) )
-- # spwd, shadow passwords
-- if (config_h_vars.get('HAVE_GETSPNAM', False) or
-- config_h_vars.get('HAVE_GETSPENT', False)):
-- exts.append( Extension('spwd', ['spwdmodule.c']) )
-+ if host_platform not in ['mingw', 'win32']:
-+ libs = []
-+ if (config_h_vars.get('FLOCK_NEEDS_LIBBSD', False)):
-+ # May be necessary on AIX for flock function
-+ libs = ['bsd']
-+ exts.append( Extension('fcntl', ['fcntlmodule.c'], libraries=libs) )
-+ else:
-+ missing.append('fcntl')
-+ if host_platform not in ['mingw', 'win32']:
-+ # pwd(3)
-+ exts.append( Extension('pwd', ['pwdmodule.c']) )
-+ # grp(3)
-+ exts.append( Extension('grp', ['grpmodule.c']) )
-+ # spwd, shadow passwords
-+ if (config_h_vars.get('HAVE_GETSPNAM', False) or
-+ config_h_vars.get('HAVE_GETSPENT', False)):
-+ exts.append( Extension('spwd', ['spwdmodule.c']) )
-+ else:
-+ missing.append('spwd')
- else:
-- missing.append('spwd')
-+ missing.extend(['pwd', 'grp', 'spwd'])
-
- # select(2); not on ancient System V
-- exts.append( Extension('select', ['selectmodule.c']) )
-+ if host_platform in ['mingw', 'win32']:
-+ select_libs = ['ws2_32']
-+ else:
-+ select_libs = []
-+ exts.append( Extension('select', ['selectmodule.c'],
-+ libraries=select_libs) )
-
- # Fred Drake's interface to the Python parser
- exts.append( Extension('parser', ['parsermodule.c']) )
-@@ -610,8 +663,11 @@
- missing.append('mmap')
-
- # Lance Ellinghaus's syslog module
-- # syslog daemon interface
-- exts.append( Extension('syslog', ['syslogmodule.c']) )
-+ if host_platform not in ['mingw', 'win32']:
-+ # syslog daemon interface
-+ exts.append( Extension('syslog', ['syslogmodule.c']) )
-+ else:
-+ missing.append('syslog')
-
- # George Neville-Neil's timing module:
- # Deprecated in PEP 4 http://www.python.org/peps/pep-0004.html
-@@ -730,18 +786,25 @@
- missing.append('readline')
-
- # crypt module.
--
-- if self.compiler.find_library_file(lib_dirs, 'crypt'):
-- libs = ['crypt']
-+ if host_platform not in ['mingw', 'win32']:
-+ if self.compiler.find_library_file(lib_dirs, 'crypt'):
-+ libs = ['crypt']
-+ else:
-+ libs = []
-+ exts.append( Extension('crypt', ['cryptmodule.c'], libraries=libs) )
- else:
-- libs = []
-- exts.append( Extension('crypt', ['cryptmodule.c'], libraries=libs) )
-+ missing.append('crypt')
-
- # CSV files
- exts.append( Extension('_csv', ['_csv.c']) )
-
- # socket(2)
-+ if host_platform in ['mingw', 'win32']:
-+ socket_libs = ['ws2_32']
-+ else:
-+ socket_libs = []
- exts.append( Extension('_socket', ['socketmodule.c'],
-+ libraries=socket_libs,
- depends = ['socketmodule.h']) )
- # Detect SSL support for the socket module (via _ssl)
- search_for_ssl_incs_in = [
-@@ -763,10 +826,13 @@
-
- if (ssl_incs is not None and
- ssl_libs is not None):
-+ _ssl_libs = ['ssl', 'crypto']
-+ if host_platform in ['mingw', 'win32']:
-+ _ssl_libs.append('ws2_32')
- exts.append( Extension('_ssl', ['_ssl.c'],
- include_dirs = ssl_incs,
- library_dirs = ssl_libs,
-- libraries = ['ssl', 'crypto'],
-+ libraries = _ssl_libs,
- depends = ['socketmodule.h']), )
- else:
- missing.append('_ssl')
-@@ -802,14 +868,17 @@
- if have_usable_openssl:
- # The _hashlib module wraps optimized implementations
- # of hash functions from the OpenSSL library.
-+ # NOTE: _hashlib require only OpenSSL crypto library !
- exts.append( Extension('_hashlib', ['_hashopenssl.c'],
- include_dirs = ssl_incs,
- library_dirs = ssl_libs,
-- libraries = ['ssl', 'crypto']) )
-+ libraries = ['crypto']) )
- else:
- print ("warning: openssl 0x%08x is too old for _hashlib" %
- openssl_ver)
- missing.append('_hashlib')
-+ # NOTE: MSVC build alwais include _md5 and _sha modules
-+ # as build-in modules
- if COMPILED_WITH_PYDEBUG or not have_usable_openssl:
- # The _sha module implements the SHA1 hash algorithm.
- exts.append( Extension('_sha', ['shamodule.c']) )
-@@ -845,6 +914,29 @@
- min_db_ver = (4, 1)
- db_setup_debug = False # verbose debug prints from this script?
-
-+ # Modules with some Windows dependencies:
-+ if host_platform in ['mingw', 'win32']:
-+ srcdir = sysconfig.get_config_var('srcdir')
-+ pc_srcdir = os.path.abspath(os.path.join(srcdir, 'PC'))
-+
-+ exts.append( Extension('msvcrt', [os.path.join(pc_srcdir, p)
-+ for p in ['msvcrtmodule.c']]) )
-+
-+ exts.append( Extension('_msi', [os.path.join(pc_srcdir, p)
-+ for p in ['_msi.c']]) )
-+
-+ exts.append( Extension('_subprocess', [os.path.join(pc_srcdir, p)
-+ for p in ['_subprocess.c']]) )
-+
-+ # On win32 host(mingw build in MSYS environment) show that site.py
-+ # fail to load if some modules are not build-in:
-+ #exts.append( Extension('_winreg', [os.path.join(pc_srcdir, p)
-+ # for p in ['_winreg.c']]) )
-+
-+ exts.append( Extension('winsound', [os.path.join(pc_srcdir, p)
-+ for p in ['winsound.c']],
-+ libraries=['winmm']) )
-+
- def allow_db_ver(db_ver):
- """Returns a boolean if the given BerkeleyDB version is acceptable.
-
-@@ -1115,6 +1207,7 @@
- '_sqlite/util.c', ]
-
- sqlite_defines = []
-+ #NOTE: don't add mingw here
- if host_platform != "win32":
- sqlite_defines.append(('MODULE_NAME', '"sqlite3"'))
- else:
-@@ -1253,7 +1346,8 @@
- missing.append('dbm')
-
- # Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm:
-- if ('gdbm' in dbm_order and
-+ if (host_platform not in ['mingw', 'win32'] and
-+ 'gdbm' in dbm_order and
- self.compiler.find_library_file(lib_dirs, 'gdbm')):
- exts.append( Extension('gdbm', ['gdbmmodule.c'],
- libraries = ['gdbm'] ) )
-@@ -1261,7 +1355,7 @@
- missing.append('gdbm')
-
- # Unix-only modules
-- if host_platform not in ['win32']:
-+ if host_platform not in ['mingw', 'win32']:
- # Steen Lumholt's termios module
- exts.append( Extension('termios', ['termios.c']) )
- # Jeremy Hylton's rlimit interface
-@@ -1451,7 +1545,7 @@
- if sys.maxint == 0x7fffffff:
- # This requires sizeof(int) == sizeof(long) == sizeof(char*)
- dl_inc = find_file('dlfcn.h', [], inc_dirs)
-- if (dl_inc is not None) and (host_platform not in ['atheos']):
-+ if (dl_inc is not None) and (host_platform not in ['atheos', 'mingw', 'win32']):
- exts.append( Extension('dl', ['dlmodule.c']) )
- else:
- missing.append('dl')
-@@ -1462,7 +1556,7 @@
- self.detect_ctypes(inc_dirs, lib_dirs)
-
- # Richard Oudkerk's multiprocessing module
-- if host_platform == 'win32':
-+ if host_platform in ['mingw', 'win32']:
- macros = dict()
- libraries = ['ws2_32']
-
-@@ -1490,9 +1584,11 @@
-
- else: # Linux and other unices
- macros = dict()
-- libraries = ['rt']
-+ # NOTE: line below is never used before to add MINGW platform
-+ #libraries = ['rt']
-+ libraries = []
-
-- if host_platform == 'win32':
-+ if host_platform in ['mingw', 'win32']:
- multiprocessing_srcs = [ '_multiprocessing/multiprocessing.c',
- '_multiprocessing/semaphore.c',
- '_multiprocessing/pipe_connection.c',
-@@ -1509,7 +1605,9 @@
- multiprocessing_srcs.append('_multiprocessing/semaphore.c')
-
- if sysconfig.get_config_var('WITH_THREAD'):
-+ #FIXME: why above set libraries aren't used ?
- exts.append ( Extension('_multiprocessing', multiprocessing_srcs,
-+ libraries=libraries,
- define_macros=macros.items(),
- include_dirs=["Modules/_multiprocessing"]))
- else:
-@@ -1550,6 +1648,7 @@
- if host_platform == 'darwin' and ("--disable-toolbox-glue" not in
- sysconfig.get_config_var("CONFIG_ARGS")):
-
-+ #FIXME: next fail in cross-compilation environment
- if int(os.uname()[2].split('.')[0]) >= 8:
- # We're on Mac OS X 10.4 or later, the compiler should
- # support '-Wno-deprecated-declarations'. This will
-@@ -1795,6 +1894,9 @@
- if host_platform == 'sunos5':
- include_dirs.append('/usr/openwin/include')
- added_lib_dirs.append('/usr/openwin/lib')
-+ elif host_platform in ['mingw', 'win32']:
-+ # mingw&win32 don't use X11 headers and libraries
-+ pass
- elif os.path.exists('/usr/X11R6/include'):
- include_dirs.append('/usr/X11R6/include')
- added_lib_dirs.append('/usr/X11R6/lib64')
-@@ -1830,8 +1932,8 @@
- if host_platform in ['aix3', 'aix4']:
- libs.append('ld')
-
-- # Finally, link with the X11 libraries (not appropriate on cygwin)
-- if host_platform != "cygwin":
-+ # Finally, link with the X11 libraries (not appropriate on cygwin, mingw)
-+ if not host_platform in ['cygwin', 'mingw', 'win32']:
- libs.append('X11')
-
- ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'],
-@@ -1882,6 +1984,38 @@
- return True
-
- def configure_ctypes(self, ext):
-+ if host_platform in ['mingw', 'win32']:
-+ # win32 platform use own sources and includes
-+ # from Modules/_ctypes/libffi_msvc/
-+ srcdir = sysconfig.get_config_var('srcdir')
-+
-+ ffi_srcdir = os.path.abspath(os.path.join(srcdir, 'Modules',
-+ '_ctypes'))
-+ sources = [os.path.join(ffi_srcdir, p)
-+ for p in ['malloc_closure.c',
-+ ]]
-+ ext.sources.extend(sources)
-+
-+ ffi_srcdir = os.path.abspath(os.path.join(srcdir, 'Modules',
-+ '_ctypes', 'libffi_msvc'))
-+ #FIXME: _ctypes/libffi_msvc/win64.asm ?
-+ sources = [os.path.join(ffi_srcdir, p)
-+ for p in ['ffi.c',
-+ 'prep_cif.c',
-+ 'win32.S',
-+ ]]
-+ # NOTE: issue2942 don't resolve problem with assembler code.
-+ # It seems to me that python refuse to build an extension
-+ # if exist a source with unknown suffix.
-+ self.compiler.src_extensions.append('.s')
-+ self.compiler.src_extensions.append('.S')
-+ ext.include_dirs.append(ffi_srcdir)
-+ ext.sources.extend(sources)
-+ ext.libraries.extend(['ole32', 'oleaut32', 'uuid'])
-+ #AdditionalOptions="/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE"
-+ ext.export_symbols.extend(['DllGetClassObject PRIVATE',
-+ 'DllCanUnloadNow PRIVATE'])
-+ return True
- if not self.use_system_libffi:
- if host_platform == 'darwin':
- return self.configure_ctypes_darwin(ext)
-@@ -1934,6 +2068,11 @@
- fficonfig['ffi_sources'])
- ext.include_dirs.extend(include_dirs)
- ext.extra_compile_args.extend(extra_compile_args)
-+ if host_platform in ['mingw', 'win32']:
-+ ext.libraries.extend(['ole32', 'oleaut32', 'uuid'])
-+ #AdditionalOptions="/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE"
-+ ext.export_symbols.extend(['DllGetClassObject PRIVATE',
-+ 'DllCanUnloadNow PRIVATE'])
- return True
-
- def detect_ctypes(self, inc_dirs, lib_dirs):
-@@ -1977,7 +2116,12 @@
- libraries=[],
- sources=sources,
- depends=depends)
-+ if host_platform in ['mingw', 'win32']:
-+ ctypes_test_libs = ['oleaut32']
-+ else:
-+ ctypes_test_libs = []
- ext_test = Extension('_ctypes_test',
-+ libraries=ctypes_test_libs,
- sources=['_ctypes/_ctypes_test.c'])
- self.extensions.extend([ext, ext_test])
-
diff --git a/build/tools/toolchain-patches/python/Python-2.7.3/0002-MINGW-use-posix-getpath.patch b/build/tools/toolchain-patches/python/Python-2.7.3/0002-MINGW-use-posix-getpath.patch
deleted file mode 100644
index 529c883..0000000
--- a/build/tools/toolchain-patches/python/Python-2.7.3/0002-MINGW-use-posix-getpath.patch
+++ /dev/null
@@ -1,460 +0,0 @@
-diff -urN a/configure.in b/configure.in
---- a/configure.in 2012-06-30 13:55:03.293615455 +0100
-+++ b/configure.in 2012-06-30 13:55:21.634756095 +0100
-@@ -522,6 +522,27 @@
- fi
- AC_MSG_RESULT($MACHDEP)
-
-+# Windows uses ; to separate paths, everything else uses :
-+AC_MSG_CHECKING(DELIM)
-+DELIM=:
-+if test "$MACHDEP" = "win"
-+then
-+ DELIM=\;
-+fi
-+AC_MSG_RESULT([$DELIM])
-+AC_SUBST(DELIM)
-+
-+# MSYS make uses a 'virtual' VPATH, but getpath.c uses
-+# GetModuleFileNameW (replacing \ with /). This allows the user to
-+# define the 'actual 'real' value. Note, it should contain / not \,
-+# which is what is returned by "pwd -W".
-+AC_ARG_VAR(MSYSVPATH,
-+ For MSYS, allows specifying the real VPATH. Use / not \)
-+if test -z "$MSYSVPATH"; then
-+ MSYSVPATH=$srcdir
-+fi
-+AC_SUBST(MSYSVPATH)
-+
- AC_MSG_CHECKING([for init system calls])
- AC_SUBST(INITSYS)
- case $host in
-@@ -2965,7 +2986,7 @@
- AC_MSG_CHECKING(MACHDEP_OBJS)
- case $host in
- *-*-mingw*)
-- extra_machdep_objs="PC/dl_nt.o PC/getpathp.o PC/import_nt.o"
-+ extra_machdep_objs="PC/dl_nt.o Modules/getpath.o PC/import_nt.o"
- ;;
- esac
- if test -z "$MACHDEP_OBJS"
-@@ -4170,6 +4191,28 @@
- # check for endianness
- AC_C_BIGENDIAN
-
-+# REPARSE_DATA_BUFFER is in winnt.h on mingw32 and (unusably) ddk/ntifs.h on mingw64.
-+case $host in
-+ *-*-mingw*)
-+AC_CACHE_CHECK([if struct REPARSE_DATA_BUFFER is in winnt.h],
-+[ac_cv_struct_reparse_data_buffer_in_winnt_h],
-+ [AC_COMPILE_IFELSE(
-+ [AC_LANG_PROGRAM(
-+ [#include <windows.h>
-+ #include <winnt.h>],
-+ [REPARSE_DATA_BUFFER rdb],
-+ )],
-+ [ac_cv_struct_reparse_data_buffer_in_winnt_h=yes],
-+ [ac_cv_struct_reparse_data_buffer_in_winnt_h=no]
-+ )
-+])
-+if test "x${ac_cv_struct_reparse_data_buffer_in_winnt_h}" = xyes; then
-+ AC_DEFINE([REPARSE_DATA_BUFFER_IN_WINNT], [], [REPARSE_DATA_BUFFER in winnt.h])
-+ AC_SUBST(REPARSE_DATA_BUFFER_IN_WINNT)
-+fi
-+ ;;
-+esac
-+
- # Check whether right shifting a negative integer extends the sign bit
- # or fills with zeros (like the Cray J90, according to Tim Peters).
- AC_MSG_CHECKING(whether right shift extends the sign bit)
-@@ -4706,7 +4749,8 @@
- # FIXME: why windows builds don't use PC/frozen_dllmain.o ?
- PYTHON_OBJS_FROZENMAIN=""
- # default sys.path calculations for windows platforms
-- MODULE_GETPATH=PC/getpathp.o
-+ # MODULE_GETPATH=PC/getpathp.o
-+ MODULE_GETPATH=Modules/getpath.o
- ;;
- esac
-
-diff -urN a/Include/osdefs.h b/Include/osdefs.h
---- a/Include/osdefs.h 2012-04-10 00:07:29.000000000 +0100
-+++ b/Include/osdefs.h 2012-06-30 13:55:21.636756112 +0100
-@@ -10,7 +10,7 @@
- /* Mod by chrish: QNX has WATCOM, but isn't DOS */
- #if !defined(__QNX__)
- #if defined(MS_WINDOWS) || defined(__BORLANDC__) || defined(__WATCOMC__) || defined(__DJGPP__) || defined(PYOS_OS2)
--#if defined(PYOS_OS2) && defined(PYCC_GCC)
-+#if (defined(PYOS_OS2) && defined(PYCC_GCC)) || defined(__MINGW32__)
- #define MAXPATHLEN 260
- #define SEP '/'
- #define ALTSEP '\\'
-diff -urN a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py
---- a/Lib/distutils/cygwinccompiler.py 2012-06-30 13:55:03.298615492 +0100
-+++ b/Lib/distutils/cygwinccompiler.py 2012-06-30 13:55:21.636756112 +0100
-@@ -55,6 +55,7 @@
- from distutils.file_util import write_file
- from distutils.errors import DistutilsExecError, CompileError, UnknownFileError
- from distutils import log
-+from subprocess import Popen, PIPE
-
- def get_msvcr():
- """Include the appropriate MSVC runtime library if Python was built
-@@ -442,7 +443,13 @@
- from distutils.spawn import find_executable
- import re
-
-- gcc_exe = find_executable('gcc')
-+ gcc_exe = os.environ.get('CC') or find_executable('gcc')
-+ ld_exe = find_executable('ld')
-+ out = Popen(gcc_exe+' --print-prog-name ld', shell=True, stdout=PIPE).stdout
-+ try:
-+ ld_exe = str(out.read()).strip()
-+ finally:
-+ out.close()
- if gcc_exe:
- out = os.popen(gcc_exe + ' -dumpversion','r')
- out_string = out.read()
-@@ -454,7 +461,6 @@
- gcc_version = None
- else:
- gcc_version = None
-- ld_exe = find_executable('ld')
- if ld_exe:
- out = os.popen(ld_exe + ' -v','r')
- out_string = out.read()
-@@ -466,7 +472,7 @@
- ld_version = None
- else:
- ld_version = None
-- dllwrap_exe = find_executable('dllwrap')
-+ dllwrap_exe = os.environ.get('DLLWRAP') or find_executable('dllwrap')
- if dllwrap_exe:
- out = os.popen(dllwrap_exe + ' --version','r')
- out_string = out.read()
-diff -urN a/Lib/plat-generic/regen b/Lib/plat-generic/regen
---- a/Lib/plat-generic/regen 2012-04-10 00:07:30.000000000 +0100
-+++ b/Lib/plat-generic/regen 2012-06-30 13:55:21.636756112 +0100
-@@ -1,3 +1,9 @@
- #! /bin/sh
- set -v
--python$EXE ../../Tools/scripts/h2py.py -i '(u_long)' /usr/include/netinet/in.h
-+if [ -n $1 ]; then
-+ CCINSTALL=$($1 -print-search-dirs | head -1 | cut -d' ' -f2)
-+ REGENHEADER=$CCINSTALL/include/stddef.h
-+else
-+ REGENHEADER=/usr/include/netinet/in.h
-+fi
-+python$EXE ../../Tools/scripts/h2py.py -i '(u_long)' $REGENHEADER
-diff -urN a/Makefile.pre.in b/Makefile.pre.in
---- a/Makefile.pre.in 2012-06-30 13:55:03.303615532 +0100
-+++ b/Makefile.pre.in 2012-06-30 14:02:09.315869117 +0100
-@@ -27,6 +27,7 @@
- VERSION= @VERSION@
- srcdir= @srcdir@
- VPATH= @srcdir@
-+MSYSVPATH= @MSYSVPATH@
-
- CC= @CC@
- CXX= @CXX@
-@@ -78,7 +79,8 @@
- # C flags used for building the interpreter object files
- PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE
-
--
-+# ; on Windows otherwise :
-+DELIM= @DELIM@
- # Machine-dependent subdirectories
- MACHDEP= @MACHDEP@
-
-@@ -541,7 +543,7 @@
- -DPREFIX='"$(prefix)"' \
- -DEXEC_PREFIX='"$(exec_prefix)"' \
- -DVERSION='"$(VERSION)"' \
-- -DVPATH='"$(VPATH)"' \
-+ -DVPATH='"$(MSYSVPATH)"' \
- -o $@ $(srcdir)/Modules/getpath.c
-
- # default sys.path calculations for windows platforms
-@@ -838,6 +840,7 @@
- if test -f $(LDLIBRARY); then \
- if test -n "$(DLLLIBRARY)" ; then \
- $(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
-+ mkdir -p $(DESTDIR)$(LIBPL); $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBPL); \
- else \
- $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
- if test $(LDLIBRARY) != $(INSTSONAME); then \
-@@ -982,7 +985,7 @@
- export PYTHONPATH; PYTHONPATH="`pwd`/Lib"; \
- export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
- export EXE; EXE="$(BUILDEXE)"; \
-- cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen
-+ cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen $(CC)
-
- python-config: $(srcdir)/Misc/python-config.in
- # Substitution happens here, as the completely-expanded BINDIR
-diff -urN a/Modules/getpath.c b/Modules/getpath.c
---- a/Modules/getpath.c 2012-04-10 00:07:34.000000000 +0100
-+++ b/Modules/getpath.c 2012-06-30 13:55:21.637756119 +0100
-@@ -10,6 +10,10 @@
- #include <mach-o/dyld.h>
- #endif
-
-+#ifdef MS_WINDOWS
-+#include <windows.h>
-+#endif
-+
- /* Search in some common locations for the associated Python libraries.
- *
- * Two directories must be found, the platform independent directory
-@@ -128,6 +132,10 @@
- static char prefix[MAXPATHLEN+1];
- static char exec_prefix[MAXPATHLEN+1];
- static char progpath[MAXPATHLEN+1];
-+#ifdef MS_WINDOWS
-+static char dllpath[MAXPATHLEN+1];
-+extern HANDLE PyWin_DLLhModule;
-+#endif
- static char *module_search_path = NULL;
- static char lib_python[] = "lib/python" VERSION;
-
-@@ -137,7 +145,7 @@
- size_t i = strlen(dir);
- while (i > 0 && dir[i] != SEP)
- --i;
-- dir[i] = '\0';
-+ dir[i] = 0;
- }
-
-
-@@ -208,7 +216,11 @@
- joinpath(char *buffer, char *stuff)
- {
- size_t n, k;
-+#ifdef MS_WINDOWS
-+ if (stuff[0] == SEP || (stuff[0] != 0 && stuff[1] == L':'))
-+#else
- if (stuff[0] == SEP)
-+#endif
- n = 0;
- else {
- n = strlen(buffer);
-@@ -229,7 +241,11 @@
- static void
- copy_absolute(char *path, char *p)
- {
-+#ifdef MS_WINDOWS
-+ if (p[0] == SEP || (p[0] != 0 && p[1] == ':'))
-+#else
- if (p[0] == SEP)
-+#endif
- strcpy(path, p);
- else {
- if (!getcwd(path, MAXPATHLEN)) {
-@@ -249,7 +265,11 @@
- {
- char buffer[MAXPATHLEN + 1];
-
-+#ifdef MS_WINDOWS
-+ if (path[0] == SEP || (path[0] != 0 && path[1] == L':'))
-+#else
- if (path[0] == SEP)
-+#endif
- return;
- copy_absolute(buffer, path);
- strcpy(path, buffer);
-@@ -367,6 +387,35 @@
- }
-
-
-+#ifdef MS_WINDOWS
-+/* Calculates dllpath and progpath, replacing \\ with / */
-+int GetWindowsModulePaths()
-+{
-+ int result = 0;
-+ wchar_t* seps;
-+ result = GetModuleFileNameW(NULL, progpath, MAXPATHLEN);
-+ seps = wcschr(progpath, L'\\');
-+ while(seps) {
-+ *seps = L'/';
-+ seps = wcschr(seps, L'\\');
-+ }
-+ dllpath[0] = 0;
-+#ifdef Py_ENABLE_SHARED
-+ if (PyWin_DLLhModule) {
-+ if((GetModuleFileNameW(PyWin_DLLhModule, dllpath, MAXPATHLEN) > 0)) {
-+ result = 1;
-+ seps = wcschr(dllpath, L'\\');
-+ while(seps) {
-+ *seps = L'/';
-+ seps = wcschr(seps, L'\\');
-+ }
-+ }
-+ }
-+#endif
-+ return result;
-+}
-+#endif /* MS_WINDOWS */
-+
- static void
- calculate_path(void)
- {
-@@ -418,6 +467,10 @@
- else if(0 == _NSGetExecutablePath(progpath, &nsexeclength) && progpath[0] == SEP)
- ;
- #endif /* __APPLE__ */
-+#ifdef MS_WINDOWS
-+ else if(GetWindowsModulePaths()) {
-+ }
-+#endif /* MS_WINDOWS */
- else if (path) {
- while (1) {
- char *delim = strchr(path, DELIM);
-@@ -445,7 +498,11 @@
- }
- else
- progpath[0] = '\0';
-+#ifdef MS_WINDOWS
-+ if (progpath[0] != '\0' && progpath[0] != SEP && progpath[1] != ':')
-+#else
- if (progpath[0] != SEP && progpath[0] != '\0')
-+#endif
- absolutize(progpath);
- strncpy(argv0_path, progpath, MAXPATHLEN);
- argv0_path[MAXPATHLEN] = '\0';
-@@ -691,8 +748,6 @@
- return progpath;
- }
-
--
- #ifdef __cplusplus
- }
- #endif
--
-diff -urN a/Modules/posixmodule.c b/Modules/posixmodule.c
---- a/Modules/posixmodule.c 2012-06-30 13:55:03.309615577 +0100
-+++ b/Modules/posixmodule.c 2012-06-30 13:55:21.638756126 +0100
-@@ -2180,7 +2180,7 @@
- Py_END_ALLOW_THREADS
- /* FindNextFile sets error to ERROR_NO_MORE_FILES if
- it got to the end of the directory. */
-- if (!result && GetLastError() != ERROR_NO_MORE_FILES) {
-+ if (!result && GetLastError() != 0 && GetLastError() != ERROR_NO_MORE_FILES) {
- Py_DECREF(d);
- win32_error_unicode("FindNextFileW", wnamebuf);
- FindClose(hFindFile);
-@@ -2248,7 +2248,7 @@
- Py_END_ALLOW_THREADS
- /* FindNextFile sets error to ERROR_NO_MORE_FILES if
- it got to the end of the directory. */
-- if (!result && GetLastError() != ERROR_NO_MORE_FILES) {
-+ if (!result && GetLastError() != 0 && GetLastError() != ERROR_NO_MORE_FILES) {
- Py_DECREF(d);
- win32_error("FindNextFile", namebuf);
- FindClose(hFindFile);
-diff -urN a/Modules/Setup.config.in b/Modules/Setup.config.in
---- a/Modules/Setup.config.in 2012-06-30 13:55:03.310615585 +0100
-+++ b/Modules/Setup.config.in 2012-06-30 13:55:21.639756133 +0100
-@@ -18,6 +18,9 @@
- @BUILDIN_WIN32_MODULE@operator operator.c # operator.add() and similar goodies
- @BUILDIN_WIN32_MODULE@_locale _localemodule.c # -lintl
- @BUILDIN_WIN32_MODULE@_winreg ../PC/_winreg.c
-+@BUILDIN_WIN32_MODULE@time timemodule.c
-+@BUILDIN_WIN32_MODULE@_subprocess ../PC/_subprocess.c
-+@BUILDIN_WIN32_MODULE@msvcrt ../PC/msvcrtmodule.c
-
-
- # The rest of the modules previously listed in this file are built
-diff -urN a/Modules/Setup.dist b/Modules/Setup.dist
---- a/Modules/Setup.dist 2012-06-30 13:55:03.311615593 +0100
-+++ b/Modules/Setup.dist 2012-06-30 13:55:21.639756133 +0100
-@@ -84,14 +84,14 @@
- # Empty since this is now just the runtime prefix.
- DESTPATH=
-
--# Site specific path components -- should begin with : if non-empty
-+# Site specific path components -- should begin with $(DELIM) if non-empty
- SITEPATH=
-
- # Standard path components for test modules
- TESTPATH=
-
- # Path components for machine- or system-dependent modules and shared libraries
--MACHDEPPATH=:plat-$(MACHDEP)
-+MACHDEPPATH=$(DELIM)plat-$(MACHDEP)
- EXTRAMACHDEPPATH=
-
- # Path component for the Tkinter-related modules
-diff -urN a/Modules/socketmodule.h b/Modules/socketmodule.h
---- a/Modules/socketmodule.h 2012-06-30 13:55:03.312615601 +0100
-+++ b/Modules/socketmodule.h 2012-06-30 13:55:21.639756133 +0100
-@@ -28,7 +28,7 @@
- * I use SIO_GET_MULTICAST_FILTER to detect a decent SDK.
- */
- # ifdef SIO_GET_MULTICAST_FILTER
--# include <MSTcpIP.h> /* for SIO_RCVALL */
-+# include <mstcpip.h> /* for SIO_RCVALL */
- # define HAVE_ADDRINFO
- # define HAVE_SOCKADDR_STORAGE
- # define HAVE_GETADDRINFO
-diff -urN a/Parser/metagrammar.c b/Parser/metagrammar.c
---- a/Parser/metagrammar.c 2012-04-10 00:07:35.000000000 +0100
-+++ b/Parser/metagrammar.c 2012-06-30 13:55:21.639756133 +0100
-@@ -139,7 +139,7 @@
- {7, 0},
- {8, 0},
- };
--static grammar _PyParser_Grammar = {
-+static grammar _PyParser_MetaGrammar = {
- 6,
- dfas,
- {19, labels},
-@@ -149,7 +149,7 @@
- grammar *
- meta_grammar(void)
- {
-- return &_PyParser_Grammar;
-+ return &_PyParser_MetaGrammar;
- }
-
- grammar *
-diff -urN a/Python/pythonrun.c b/Python/pythonrun.c
---- a/Python/pythonrun.c 2012-04-10 00:07:35.000000000 +0100
-+++ b/Python/pythonrun.c 2012-06-30 13:55:21.640756141 +0100
-@@ -18,6 +18,9 @@
- #include "eval.h"
- #include "marshal.h"
- #include "abstract.h"
-+#ifdef __MINGW32__
-+#include "osdefs.h"
-+#endif
-
- #ifdef HAVE_SIGNAL_H
- #include <signal.h>
-@@ -666,6 +669,13 @@
- void
- Py_SetProgramName(char *pn)
- {
-+#ifdef __MINGW32__
-+ char* seps = strchr(pn, ALTSEP);
-+ while(seps) {
-+ *seps = SEP;
-+ seps = strchr(seps, ALTSEP);
-+ }
-+#endif
- if (pn && *pn)
- progname = pn;
- }
-diff -urN a/setup.py b/setup.py
---- a/setup.py 2012-06-30 13:55:03.315615622 +0100
-+++ b/setup.py 2012-06-30 13:55:21.641756149 +0100
-@@ -923,7 +923,8 @@
- for p in ['msvcrtmodule.c']]) )
-
- exts.append( Extension('_msi', [os.path.join(pc_srcdir, p)
-- for p in ['_msi.c']]) )
-+ for p in ['_msi.c']],
-+ libraries=['msi','cabinet','rpcrt4']) ) # To link with lib(msi|cabinet|rpcrt4).a
-
- exts.append( Extension('_subprocess', [os.path.join(pc_srcdir, p)
- for p in ['_subprocess.c']]) )
diff --git a/build/tools/toolchain-patches/python/Python-2.7.3/0003-DARWIN-CROSS.patch b/build/tools/toolchain-patches/python/Python-2.7.3/0003-DARWIN-CROSS.patch
deleted file mode 100644
index e4c5388..0000000
--- a/build/tools/toolchain-patches/python/Python-2.7.3/0003-DARWIN-CROSS.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-diff -urN a/configure.in b/configure.in
---- a/configure.in 2012-06-24 18:27:16.477514024 +0100
-+++ b/configure.in 2012-06-24 18:40:43.391973689 +0100
-@@ -5,7 +5,7 @@
- # Set VERSION so we only need to edit in one place (i.e., here)
- m4_define(PYTHON_VERSION, 2.7)
-
--AC_PREREQ(2.65)
-+AC_PREREQ(2.61)
-
- AC_REVISION($Revision$)
- AC_INIT(python, PYTHON_VERSION, http://bugs.python.org/)
-@@ -230,6 +230,9 @@
- fi
- enable_framework=
- ;;
-+ *-*-darwin*)
-+ ac_sys_system=Darwin
-+ ;;
- *)
- PYTHONFRAMEWORKPREFIX="${enableval}"
- PYTHONFRAMEWORKINSTALLDIR=$PYTHONFRAMEWORKPREFIX/$PYTHONFRAMEWORKDIR
-@@ -371,6 +374,11 @@
- dnl - but an item in PYTHONPATH is "plat-win" !!! oops
- MACHDEP=win
- ;;
-+ *-*-darwin*)
-+ ac_sys_system=Darwin
-+ ac_sys_version=11
-+ MACHDEP=darwin
-+ ;;
- esac
- fi
- if test -z "$MACHDEP"
-@@ -1211,7 +1219,7 @@
- # Calculate the right deployment target for this build.
- #
- cur_target=`sw_vers -productVersion | sed 's/\(10\.[[0-9]]*\).*/\1/'`
-- if test ${cur_target} '>' 10.2; then
-+ if test ${cur_target} > 10.2; then
- cur_target=10.3
- if test ${enable_universalsdk}; then
- if test "${UNIVERSAL_ARCHS}" = "all"; then
-@@ -1231,7 +1239,7 @@
- cur_target='10.5'
- fi
- else
-- if test `/usr/bin/arch` = "i386"; then
-+ if test "$($OSX_ARCH_PROG)" = "i386"; then
- # On Intel macs default to a deployment
- # target of 10.4, that's the first OSX
- # release with Intel support.
-@@ -1851,6 +1859,15 @@
- ;;
- esac
-
-+if test "x$cross_compiling" = xyes; then
-+ function arch
-+ {
-+ echo i386
-+ }
-+ OSX_ARCH_PROG=arch
-+else
-+ OSX_ARCH_PROG=/usr/bin/arch
-+fi
-
- ARCH_RUN_32BIT=""
- AC_SUBST(LIBTOOL_CRUFT)
-@@ -1860,7 +1877,7 @@
- if test "${enable_universalsdk}"; then
- :
- else
-- LIBTOOL_CRUFT="${LIBTOOL_CRUFT} -arch_only `/usr/bin/arch`"
-+ LIBTOOL_CRUFT="${LIBTOOL_CRUFT} -arch_only $($OSX_ARCH_PROG)"
- fi
- LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
- LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
-@@ -1885,7 +1902,7 @@
- ]])],[ac_osx_32bit=yes],[ac_osx_32bit=no],[ac_osx_32bit=yes])
-
- if test "${ac_osx_32bit}" = "yes"; then
-- case `/usr/bin/arch` in
-+ case $($OSX_ARCH_PROG) in
- i386)
- MACOSX_DEFAULT_ARCH="i386"
- ;;
-@@ -1897,7 +1914,7 @@
- ;;
- esac
- else
-- case `/usr/bin/arch` in
-+ case $($OSX_ARCH_PROG) in
- i386)
- MACOSX_DEFAULT_ARCH="x86_64"
- ;;
-@@ -1936,8 +1953,8 @@
- fi
-
- AC_MSG_CHECKING(for dyld)
--case $ac_sys_system/$ac_sys_release in
-- Darwin/*)
-+case $host in
-+ *darwin*)
- AC_DEFINE(WITH_DYLD, 1,
- [Define if you want to use the new-style (Openstep, Rhapsody, MacOS)
- dynamic linker (dyld) instead of the old-style (NextStep) dynamic
-@@ -2061,7 +2078,7 @@
- # Use -undefined dynamic_lookup whenever possible (10.3 and later).
- # This allows an extension to be used in any Python
-
-- if test ${MACOSX_DEPLOYMENT_TARGET} '>' 10.2
-+ if test ${MACOSX_DEPLOYMENT_TARGET} > 10.2
- then
- if test "${enable_universalsdk}"; then
- LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}"
-diff -urN a/Modules/parsermodule.c b/Modules/parsermodule.c
---- a/Modules/parsermodule.c 2012-04-10 00:07:34.000000000 +0100
-+++ b/Modules/parsermodule.c 2012-06-24 18:27:16.738515771 +0100
-@@ -39,7 +39,7 @@
- #include "ast.h"
- #include "pyarena.h"
-
--extern grammar _PyParser_Grammar; /* From graminit.c */
-+PyAPI_DATA(grammar) _PyParser_Grammar; /* From graminit.c */
-
- #ifdef lint
- #include <note.h>
diff --git a/build/tools/toolchain-patches/python/Python-2.7.3/0004-MINGW-FIXES-sysconfig-like-posix.patch b/build/tools/toolchain-patches/python/Python-2.7.3/0004-MINGW-FIXES-sysconfig-like-posix.patch
deleted file mode 100644
index a67ba20..0000000
--- a/build/tools/toolchain-patches/python/Python-2.7.3/0004-MINGW-FIXES-sysconfig-like-posix.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff -urN a/configure.in b/configure.in
---- a/configure.in 2012-06-30 12:58:46.040253992 +0100
-+++ b/configure.in 2012-06-30 12:59:01.148368383 +0100
-@@ -86,8 +86,8 @@
- AC_SUBST(VERSION)
- case $host in
- *-*-mingw*)
-- dnl To be compatible with MSVC build.
--VERSION=`echo PYTHON_VERSION | sed -e 's|\.||g'`
-+ dnl To be *incompatible* with MSVC build!
-+VERSION=PYTHON_VERSION
- ;;
- *)
- VERSION=PYTHON_VERSION
-diff -urN a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
---- a/Lib/distutils/sysconfig.py 2012-06-30 12:58:46.010253764 +0100
-+++ b/Lib/distutils/sysconfig.py 2012-06-30 13:06:42.525821215 +0100
-@@ -115,7 +115,7 @@
- if prefix is None:
- prefix = plat_specific and EXEC_PREFIX or PREFIX
-
-- if os.name == "posix":
-+ if os.name == "posix" or sys.version.find('GCC') >= 0:
- libpython = os.path.join(prefix,
- "lib", "python" + get_python_version())
- if standard_lib:
-diff -urN a/Lib/sysconfig.py b/Lib/sysconfig.py
---- a/Lib/sysconfig.py 2012-06-30 12:58:46.013253788 +0100
-+++ b/Lib/sysconfig.py 2012-06-30 12:59:01.150368397 +0100
-@@ -35,13 +35,13 @@
- 'data' : '{base}',
- },
- 'nt': {
-- 'stdlib': '{base}/Lib',
-- 'platstdlib': '{base}/Lib',
-- 'purelib': '{base}/Lib/site-packages',
-- 'platlib': '{base}/Lib/site-packages',
-- 'include': '{base}/Include',
-- 'platinclude': '{base}/Include',
-- 'scripts': '{base}/Scripts',
-+ 'stdlib': '{base}/lib/python{py_version_short}',
-+ 'platstdlib': '{base}/lib/python{py_version_short}',
-+ 'purelib': '{base}/lib/python{py_version_short}',
-+ 'platlib': '{base}/lib/python{py_version_short}',
-+ 'include': '{base}/include/python{py_version_short}',
-+ 'platinclude': '{base}/include/python{py_version_short}',
-+ 'scripts': '{base}/bin',
- 'data' : '{base}',
- },
- 'os2': {
-@@ -64,12 +64,12 @@
- 'data' : '{userbase}',
- },
- 'nt_user': {
-- 'stdlib': '{userbase}/Python{py_version_nodot}',
-- 'platstdlib': '{userbase}/Python{py_version_nodot}',
-- 'purelib': '{userbase}/Python{py_version_nodot}/site-packages',
-- 'platlib': '{userbase}/Python{py_version_nodot}/site-packages',
-- 'include': '{userbase}/Python{py_version_nodot}/Include',
-- 'scripts': '{userbase}/Scripts',
-+ 'stdlib': '{userbase}/lib/python{py_version_short}',
-+ 'platstdlib': '{userbase}/lib/python{py_version_short}',
-+ 'purelib': '{userbase}/lib/python{py_version_short}',
-+ 'platlib': '{userbase}/lib/python{py_version_short}',
-+ 'include': '{userbase}/include/python{py_version_short}',
-+ 'scripts': '{userbase}/bin',
- 'data' : '{userbase}',
- },
- 'posix_user': {
-@@ -319,7 +319,7 @@
- vars['INCLUDEPY'] = get_path('include')
- vars['SO'] = '.pyd'
- vars['EXE'] = '.exe'
-- vars['VERSION'] = _PY_VERSION_SHORT_NO_DOT
-+ vars['VERSION'] = _PY_VERSION_SHORT
- vars['BINDIR'] = os.path.dirname(abspath(sys.executable))
-
- #
diff --git a/build/tools/toolchain-patches/python/Python-2.7.3/0005-MINGW-pdcurses_ISPAD.patch b/build/tools/toolchain-patches/python/Python-2.7.3/0005-MINGW-pdcurses_ISPAD.patch
deleted file mode 100644
index 5b8bf19..0000000
--- a/build/tools/toolchain-patches/python/Python-2.7.3/0005-MINGW-pdcurses_ISPAD.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -urN a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
---- a/Modules/_cursesmodule.c 2012-04-10 00:07:33.000000000 +0100
-+++ b/Modules/_cursesmodule.c 2012-06-24 20:58:36.644526289 +0100
-@@ -91,6 +91,11 @@
- set_form_sub set_form_term set_form_userptr set_form_win
- set_max_field set_new_page unpost_form
-
-+#ifdef __MINGW32__
-+#ifndef _ISPAD
-+#define _ISPAD 0x10
-+#endif
-+#endif
-
- */
-
diff --git a/build/tools/toolchain-patches/python/Python-2.7.3/0006-MINGW-static-tcltk.patch b/build/tools/toolchain-patches/python/Python-2.7.3/0006-MINGW-static-tcltk.patch
deleted file mode 100644
index 003bc2b..0000000
--- a/build/tools/toolchain-patches/python/Python-2.7.3/0006-MINGW-static-tcltk.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-diff -urN a/setup.py b/setup.py
---- a/setup.py 2012-06-24 21:00:44.404442659 +0100
-+++ b/setup.py 2012-06-24 21:00:44.607444094 +0100
-@@ -504,7 +504,7 @@
- if host_platform in ['osf1', 'unixware7', 'openunix8']:
- lib_dirs += ['/usr/ccs/lib']
-
-- if host_platform == 'darwin':
-+ if host_platform in ['darwin', 'mingw', 'win32']:
- # This should work on any unixy platform ;-)
- # If the user has bothered specifying additional -I and -L flags
- # in OPT and LDFLAGS we might as well use them here.
-@@ -514,6 +514,8 @@
- # FIXME: Why LDFLAGS again ?
- cflags, ldflags = sysconfig.get_config_vars(
- 'CFLAGS', 'LDFLAGS')
-+ cflags = cflags + ' ' + ('',os.environ.get('CC'))[os.environ.get('CC') != None]
-+ ldflags = ldflags + ' ' + ('',os.environ.get('LDSHARED'))[os.environ.get('LDSHARED') != None]
- for item in cflags.split():
- if item.startswith('-I'):
- inc_dirs.append(item[2:])
-@@ -1851,14 +1853,19 @@
- # The versions with dots are used on Unix, and the versions without
- # dots on Windows, for detection by cygwin.
- tcllib = tklib = tcl_includes = tk_includes = None
-- for version in ['8.6', '86', '8.5', '85', '8.4', '84', '8.3', '83',
-- '8.2', '82', '8.1', '81', '8.0', '80']:
-- tklib = self.compiler.find_library_file(lib_dirs,
-- 'tk' + version)
-- tcllib = self.compiler.find_library_file(lib_dirs,
-- 'tcl' + version)
-- if tklib and tcllib:
-- # Exit the loop when we've found the Tcl/Tk libraries
-+ tcltk_suffix = None
-+ for suffix in ['', 's']:
-+ for version in ['8.6', '86', '8.5', '85', '8.4', '84', '8.3', '83',
-+ '8.2', '82', '8.1', '81', '8.0', '80', '']:
-+ tklib = self.compiler.find_library_file(lib_dirs,
-+ 'tk' + version + suffix)
-+ tcllib = self.compiler.find_library_file(lib_dirs,
-+ 'tcl' + version + suffix)
-+ if tklib and tcllib:
-+ # Exit the loop when we've found the Tcl/Tk libraries
-+ tcltk_suffix = suffix
-+ break
-+ if tcltk_suffix != None:
- break
-
- # Now check for the header files
-@@ -1927,15 +1934,21 @@
- libs.append('BLT')
-
- # Add the Tcl/Tk libraries
-- libs.append('tk'+ version)
-- libs.append('tcl'+ version)
-+ libs.append('tk'+ version + tcltk_suffix)
-+ libs.append('tcl'+ version + tcltk_suffix)
-+ if host_platform in ['mingw', 'win32']:
-+ for winlib in ['ws2_32','gdi32','comctl32','comdlg32','imm32','uuid','oleaut32','ole32']:
-+ libs.append( winlib )
-
- if host_platform in ['aix3', 'aix4']:
- libs.append('ld')
-
- # Finally, link with the X11 libraries (not appropriate on cygwin, mingw)
-+ # ...on those platforms, define STATIC_BUILD if linking to static tcl/tk.
- if not host_platform in ['cygwin', 'mingw', 'win32']:
- libs.append('X11')
-+ elif tcllib.endswith('s.a'):
-+ defs.append( ('STATIC_BUILD',1) )
-
- ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'],
- define_macros=[('WITH_APPINIT', 1)] + defs,
diff --git a/build/tools/toolchain-patches/python/Python-2.7.3/0007-MINGW-x86_64-size_t-format-specifier-pid_t.patch b/build/tools/toolchain-patches/python/Python-2.7.3/0007-MINGW-x86_64-size_t-format-specifier-pid_t.patch
deleted file mode 100644
index 654179e..0000000
--- a/build/tools/toolchain-patches/python/Python-2.7.3/0007-MINGW-x86_64-size_t-format-specifier-pid_t.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -urN a/Include/pyport.h b/Include/pyport.h
---- a/Include/pyport.h 2012-06-24 21:07:38.061405267 +0100
-+++ b/Include/pyport.h 2012-06-24 21:07:38.294405980 +0100
-@@ -190,9 +190,11 @@
- /* Smallest negative value of type Py_ssize_t. */
- #define PY_SSIZE_T_MIN (-PY_SSIZE_T_MAX-1)
-
-+/*
- #if SIZEOF_PID_T > SIZEOF_LONG
- # error "Python doesn't support sizeof(pid_t) > sizeof(long)"
- #endif
-+*/
-
- /* PY_FORMAT_SIZE_T is a platform-specific modifier for use in a printf
- * format to convert an argument with the width of a size_t or Py_ssize_t.
-@@ -224,6 +226,8 @@
- # define PY_FORMAT_SIZE_T "l"
- # elif defined(MS_WINDOWS)
- # define PY_FORMAT_SIZE_T "I"
-+# elif defined(__MINGW32__) && defined(__USE_MINGW_ANSI_STDIO)
-+# define PY_FORMAT_SIZE_T "z"
- # else
- # error "This platform's pyconfig.h needs to define PY_FORMAT_SIZE_T"
- # endif
diff --git a/build/tools/toolchain-patches/python/Python-2.7.3/0008-Python-disable-dbm.patch b/build/tools/toolchain-patches/python/Python-2.7.3/0008-Python-disable-dbm.patch
deleted file mode 100644
index 31eeeeb..0000000
--- a/build/tools/toolchain-patches/python/Python-2.7.3/0008-Python-disable-dbm.patch
+++ /dev/null
@@ -1,89 +0,0 @@
---- a/setup.py 2012-06-25 09:30:17.882413273 +0100
-+++ b/setup.py 2012-06-25 09:30:23.282464119 +0100
-@@ -1277,86 +1277,6 @@
- else:
- missing.append('bsddb185')
-
-- dbm_order = ['gdbm']
-- # The standard Unix dbm module:
-- if host_platform not in ['cygwin']:
-- config_args = [arg.strip("'")
-- for arg in sysconfig.get_config_var("CONFIG_ARGS").split()]
-- dbm_args = [arg for arg in config_args
-- if arg.startswith('--with-dbmliborder=')]
-- if dbm_args:
-- dbm_order = [arg.split('=')[-1] for arg in dbm_args][-1].split(":")
-- else:
-- dbm_order = "ndbm:gdbm:bdb".split(":")
-- dbmext = None
-- for cand in dbm_order:
-- if cand == "ndbm":
-- if find_file("ndbm.h", inc_dirs, []) is not None:
-- # Some systems have -lndbm, others don't
-- if self.compiler.find_library_file(lib_dirs,
-- 'ndbm'):
-- ndbm_libs = ['ndbm']
-- else:
-- ndbm_libs = []
-- print "building dbm using ndbm"
-- dbmext = Extension('dbm', ['dbmmodule.c'],
-- define_macros=[
-- ('HAVE_NDBM_H',None),
-- ],
-- libraries=ndbm_libs)
-- break
--
-- elif cand == "gdbm":
-- if self.compiler.find_library_file(lib_dirs, 'gdbm'):
-- gdbm_libs = ['gdbm']
-- if self.compiler.find_library_file(lib_dirs,
-- 'gdbm_compat'):
-- gdbm_libs.append('gdbm_compat')
-- if find_file("gdbm/ndbm.h", inc_dirs, []) is not None:
-- print "building dbm using gdbm"
-- dbmext = Extension(
-- 'dbm', ['dbmmodule.c'],
-- define_macros=[
-- ('HAVE_GDBM_NDBM_H', None),
-- ],
-- libraries = gdbm_libs)
-- break
-- if find_file("gdbm-ndbm.h", inc_dirs, []) is not None:
-- print "building dbm using gdbm"
-- dbmext = Extension(
-- 'dbm', ['dbmmodule.c'],
-- define_macros=[
-- ('HAVE_GDBM_DASH_NDBM_H', None),
-- ],
-- libraries = gdbm_libs)
-- break
-- elif cand == "bdb":
-- if db_incs is not None:
-- print "building dbm using bdb"
-- dbmext = Extension('dbm', ['dbmmodule.c'],
-- library_dirs=dblib_dir,
-- runtime_library_dirs=dblib_dir,
-- include_dirs=db_incs,
-- define_macros=[
-- ('HAVE_BERKDB_H', None),
-- ('DB_DBM_HSEARCH', None),
-- ],
-- libraries=dblibs)
-- break
-- if dbmext is not None:
-- exts.append(dbmext)
-- else:
-- missing.append('dbm')
--
-- # Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm:
-- if (host_platform not in ['mingw', 'win32'] and
-- 'gdbm' in dbm_order and
-- self.compiler.find_library_file(lib_dirs, 'gdbm')):
-- exts.append( Extension('gdbm', ['gdbmmodule.c'],
-- libraries = ['gdbm'] ) )
-- else:
-- missing.append('gdbm')
--
- # Unix-only modules
- if host_platform not in ['mingw', 'win32']:
- # Steen Lumholt's termios module
diff --git a/build/tools/toolchain-patches/python/Python-2.7.3/0009-Disable-Grammar-dependency-on-pgen-executable.patch b/build/tools/toolchain-patches/python/Python-2.7.3/0009-Disable-Grammar-dependency-on-pgen-executable.patch
deleted file mode 100644
index 917925c..0000000
--- a/build/tools/toolchain-patches/python/Python-2.7.3/0009-Disable-Grammar-dependency-on-pgen-executable.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN a/Makefile.pre.in b/Makefile.pre.in
---- a/Makefile.pre.in 2012-06-25 22:56:29.837375577 +0100
-+++ b/Makefile.pre.in 2012-06-25 22:57:01.293606243 +0100
-@@ -557,7 +557,7 @@
- # FIXME: next may fail in cross-compilation environment
- # Use a stamp file to prevent make -j invoking pgen twice
- $(GRAMMAR_H) $(GRAMMAR_C): Parser/pgen.stamp
--Parser/pgen.stamp: $(PGEN) $(GRAMMAR_INPUT)
-+Parser/pgen.stamp: $(GRAMMAR_INPUT)
- -@$(INSTALL) -d Include
- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
- -touch Parser/pgen.stamp
diff --git a/build/tools/toolchain-patches/python/Python-2.7.3/0010-add-python-config-sh.patch b/build/tools/toolchain-patches/python/Python-2.7.3/0010-add-python-config-sh.patch
deleted file mode 100644
index c497156..0000000
--- a/build/tools/toolchain-patches/python/Python-2.7.3/0010-add-python-config-sh.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-diff -urN a/configure.in b/configure.in
---- a/configure.in 2012-06-30 01:06:22.326507693 +0100
-+++ b/configure.in 2012-06-30 01:06:22.717510412 +0100
-@@ -4807,6 +4807,6 @@
-
- mv config.c Modules])
- AC_CONFIG_FILES([setup_info])
--AC_CONFIG_FILES([Makefile.pre Modules/Setup.config Misc/python.pc])
-+AC_CONFIG_FILES([Makefile.pre Modules/Setup.config Misc/python.pc Misc/python-config.sh])
- AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix])
- AC_OUTPUT
-diff -urN a/Makefile.pre.in b/Makefile.pre.in
---- a/Makefile.pre.in 2012-06-30 01:06:22.339507783 +0100
-+++ b/Makefile.pre.in 2012-06-30 01:06:22.718510418 +0100
-@@ -987,10 +987,12 @@
- export EXE; EXE="$(BUILDEXE)"; \
- cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen $(CC)
-
--python-config: $(srcdir)/Misc/python-config.in
-+python-config: $(srcdir)/Misc/python-config.in $(srcdir)/Misc/python-config.sh.in
- # Substitution happens here, as the completely-expanded BINDIR
- # is not available in configure
- sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config
-+ # Replace makefile compat. variable references with shell script compat. ones
-+ sed -e "s,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g" < Misc/python-config.sh >python-config.sh
-
- # Install the include files
- INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
-@@ -1049,6 +1051,8 @@
- $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
- $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
- $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config
-+ $(INSTALL_SCRIPT) python-config.sh $(DESTDIR)$(BINDIR)/python-config.sh
-+
- rm python-config
- @if [ -s Modules/python.exp -a \
- "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
-diff -urN a/Misc/python-config.sh.in b/Misc/python-config.sh.in
---- a/Misc/python-config.sh.in 1970-01-01 01:00:00.000000000 +0100
-+++ b/Misc/python-config.sh.in 2012-06-30 01:09:08.311648080 +0100
-@@ -0,0 +1,69 @@
-+#!/bin/sh
-+
-+exit_with_usage ()
-+{
-+ echo "Usage: $0 --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--help"
-+ exit 1
-+}
-+
-+prefix="@prefix@"
-+exec_prefix="@exec_prefix@"
-+includedir="@includedir@"
-+VERSION="@VERSION@"
-+#libdir="@libdir@"
-+libdir=$prefix/lib/python$VERSION/config
-+LIBM="@LIBM@"
-+LIBC="@LIBC@"
-+SYSLIBS="$LIBM $LIBC"
-+LIBS="@LIBS@ $SYSLIBS -lpython$VERSION"
-+ABIFLAGS="@ABIFLAGS@"
-+BASECFLAGS="@BASECFLAGS@"
-+CFLAGS="@CFLAGS@"
-+LDLIBRARY="@LDLIBRARY@"
-+LINKFORSHARED="@LINKFORSHARED@"
-+OPT="@OPT@"
-+
-+for ARG in $*
-+do
-+ case $ARG in
-+ --prefix)
-+ echo $prefix
-+ exit 0
-+ ;;
-+ --exec-prefix)
-+ echo $exec_prefix
-+ exit 0
-+ ;;
-+ --includes)
-+ echo -I$includedir/python$VERSION
-+ exit 0
-+ ;;
-+ --libs)
-+ echo $LIBS
-+ exit 0
-+ ;;
-+ --cflags)
-+ echo -I$includedir/python$VERSION $BASECFLAGS $CFLAGS $OPT
-+ exit 0
-+ ;;
-+ --ldflags)
-+ # I'm not handling the case of not Py_ENABLE_SHARED here.
-+ # As there's no AC_SUBST for Py_ENABLE_SHARED (though I should just
-+ # add that to be honest with you!)
-+ # From python-config there's:
-+ # if not getvar('Py_ENABLE_SHARED'):
-+ # libs.insert(0, '-L' + getvar('LIBPL'))
-+ # libs.extend(getvar('LINKFORSHARED').split())
-+ echo -L$libdir $LIBS $LINKFORSHARED
-+ exit 0
-+ ;;
-+ *.py)
-+ # configuring GDB uses:
-+ # ${python_prog} ${srcdir}/python/python-config.py --includes
-+ # so skip any .py files passed as arguments.
-+ ;;
-+ *)
-+ exit_with_usage
-+ ;;
-+esac
-+done
diff --git a/build/tools/toolchain-patches/python/Python-2.7.3/0011-re-configure-d.patch b/build/tools/toolchain-patches/python/Python-2.7.3/0011-re-configure-d.patch
deleted file mode 100644
index 064f854..0000000
--- a/build/tools/toolchain-patches/python/Python-2.7.3/0011-re-configure-d.patch
+++ /dev/null
@@ -1,1617 +0,0 @@
-diff -urN a/configure b/configure
---- a/configure 2012-04-10 00:07:36.000000000 +0100
-+++ b/configure 2012-07-04 23:52:44.000000000 +0100
-@@ -597,7 +597,12 @@
-
- ac_subst_vars='LTLIBOBJS
- SRCDIRS
-+MODULE_GETPATH
-+PYTHON_OBJS_FROZENMAIN
-+PYMOD_BUILDOPT
- THREADHEADERS
-+READLINE_LIBS
-+REPARSE_DATA_BUFFER_IN_WINNT
- UNICODE_OBJS
- LIBC
- LIBM
-@@ -611,6 +616,7 @@
- MACHDEP_OBJS
- DYNLOADFILE
- DLINCLDIR
-+BUILDIN_WIN32_MODULE
- THREADOBJ
- LDLAST
- USE_THREAD_MODULE
-@@ -641,6 +647,7 @@
- HGVERSION
- SVNVERSION
- ARFLAGS
-+ac_ct_AR
- AR
- RANLIB
- GNULD
-@@ -669,8 +676,13 @@
- CONFIGURE_MACOSX_DEPLOYMENT_TARGET
- EXTRAMACHDEPPATH
- EXTRAPLATDIR
-+INITSYS
-+MSYSVPATH
-+DELIM
- SGI_ABI
- MACHDEP
-+HOST_OS
-+HOST_CPU
- FRAMEWORKINSTALLAPPSPREFIX
- FRAMEWORKUNIXTOOLSPREFIX
- FRAMEWORKALTINSTALLLAST
-@@ -688,6 +700,18 @@
- CONFIG_ARGS
- SOVERSION
- VERSION
-+SYSPYTHON
-+LN_S
-+CROSS_OFF
-+CROSS_ON
-+host_os
-+host_vendor
-+host_cpu
-+host
-+build_os
-+build_vendor
-+build_cpu
-+build
- target_alias
- host_alias
- build_alias
-@@ -764,6 +788,7 @@
- ac_precious_vars='build_alias
- host_alias
- target_alias
-+MSYSVPATH
- CC
- CFLAGS
- LDFLAGS
-@@ -1368,6 +1393,10 @@
- _ACEOF
-
- cat <<\_ACEOF
-+
-+System types:
-+ --build=BUILD configure for building on BUILD [guessed]
-+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
- _ACEOF
- fi
-
-@@ -1435,6 +1464,7 @@
- --with-libc=STRING C library
-
- Some influential environment variables:
-+ MSYSVPATH For MSYS
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
-@@ -2692,6 +2722,106 @@
-
- ac_config_headers="$ac_config_headers pyconfig.h"
-
-+ac_aux_dir=
-+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-+ if test -f "$ac_dir/install-sh"; then
-+ ac_aux_dir=$ac_dir
-+ ac_install_sh="$ac_aux_dir/install-sh -c"
-+ break
-+ elif test -f "$ac_dir/install.sh"; then
-+ ac_aux_dir=$ac_dir
-+ ac_install_sh="$ac_aux_dir/install.sh -c"
-+ break
-+ elif test -f "$ac_dir/shtool"; then
-+ ac_aux_dir=$ac_dir
-+ ac_install_sh="$ac_aux_dir/shtool install -c"
-+ break
-+ fi
-+done
-+if test -z "$ac_aux_dir"; then
-+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-+fi
-+
-+# These three variables are undocumented and unsupported,
-+# and are intended to be withdrawn in a future Autoconf release.
-+# They can cause serious problems if a builder's source tree is in a directory
-+# whose full name contains unusual characters.
-+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-+
-+
-+# Make sure we can run config.sub.
-+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-+$as_echo_n "checking build system type... " >&6; }
-+if test "${ac_cv_build+set}" = set; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ ac_build_alias=$build_alias
-+test "x$ac_build_alias" = x &&
-+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-+test "x$ac_build_alias" = x &&
-+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-+$as_echo "$ac_cv_build" >&6; }
-+case $ac_cv_build in
-+*-*-*) ;;
-+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-+esac
-+build=$ac_cv_build
-+ac_save_IFS=$IFS; IFS='-'
-+set x $ac_cv_build
-+shift
-+build_cpu=$1
-+build_vendor=$2
-+shift; shift
-+# Remember, the first character of IFS is used to create $*,
-+# except with old shells:
-+build_os=$*
-+IFS=$ac_save_IFS
-+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-+$as_echo_n "checking host system type... " >&6; }
-+if test "${ac_cv_host+set}" = set; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test "x$host_alias" = x; then
-+ ac_cv_host=$ac_cv_build
-+else
-+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-+fi
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-+$as_echo "$ac_cv_host" >&6; }
-+case $ac_cv_host in
-+*-*-*) ;;
-+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-+esac
-+host=$ac_cv_host
-+ac_save_IFS=$IFS; IFS='-'
-+set x $ac_cv_host
-+shift
-+host_cpu=$1
-+host_vendor=$2
-+shift; shift
-+# Remember, the first character of IFS is used to create $*,
-+# except with old shells:
-+host_os=$*
-+IFS=$ac_save_IFS
-+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-+
-+
-
-
- if test "$prefix" != "/"; then
-@@ -2707,8 +2837,95 @@
- rm confdefs.h
- mv confdefs.h.new confdefs.h
-
-+if test "x$cross_compiling" = xyes; then
-+ CROSS_ON=''
-+ CROSS_OFF='#'
-+else
-+ CROSS_ON='#'
-+ CROSS_OFF=''
-+fi
-+
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-+$as_echo_n "checking whether ln -s works... " >&6; }
-+LN_S=$as_ln_s
-+if test "$LN_S" = "ln -s"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-+$as_echo "yes" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-+$as_echo "no, using $LN_S" >&6; }
-+fi
-+
-+if test "x$cross_compiling" = xyes; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross-compilation is incomplete" >&5
-+$as_echo "$as_me: WARNING: cross-compilation is incomplete" >&2;}
-+
-+ # Extract the first word of "python", so it can be a program name with args.
-+set dummy python; ac_word=$2
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
-+if test "${ac_cv_path_SYSPYTHON+set}" = set; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ case $SYSPYTHON in
-+ [\\/]* | ?:[\\/]*)
-+ ac_cv_path_SYSPYTHON="$SYSPYTHON" # Let the user override the test with a path.
-+ ;;
-+ *)
-+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+as_dummy="$PATH:/usr/local/bin
-+ "
-+for as_dir in $as_dummy
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_path_SYSPYTHON="$as_dir/$ac_word$ac_exec_ext"
-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+ done
-+IFS=$as_save_IFS
-+
-+ test -z "$ac_cv_path_SYSPYTHON" && ac_cv_path_SYSPYTHON="none"
-+ ;;
-+esac
-+fi
-+SYSPYTHON=$ac_cv_path_SYSPYTHON
-+if test -n "$SYSPYTHON"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYSPYTHON" >&5
-+$as_echo "$SYSPYTHON" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+ if test "x$SYSPYTHON" = xnone; then
-+ as_fn_error $? "python program is required in cross-compilation environment" "$LINENO" 5
-+ fi
-+ SYSPYOSNAME=`${SYSPYTHON} -c "import os; print os.name"`
-+ case $SYSPYOSNAME in
-+ posix)
-+ rm -f syspython
-+ ${LN_S} ${SYSPYTHON} syspython
-+ SYSPYTHON=./syspython
-+ esac
-+fi
-
-+
-+case $host in
-+ *-*-mingw*)
-+ VERSION=2.7
-+ ;;
-+ *)
- VERSION=2.7
-+ ;;
-+esac
-
-
- SOVERSION=1.0
-@@ -2873,6 +3090,9 @@
- fi
- enable_framework=
- ;;
-+ *-*-darwin*)
-+ ac_sys_system=Darwin
-+ ;;
- *)
- PYTHONFRAMEWORKPREFIX="${enableval}"
- PYTHONFRAMEWORKINSTALLDIR=$PYTHONFRAMEWORKPREFIX/$PYTHONFRAMEWORKDIR
-@@ -2977,10 +3197,38 @@
- ##
- # Set name for machine-dependent library files
-
-+HOST_CPU=$host_cpu
-+
-+HOST_OS=$host_os
-+
-+
-+
-+if test "x$cross_compiling" = xyes; then
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
-+ May be value of MACHDEP isn't correct if cross-compiling.
-+ You may tweak configure script for you host system: $host" >&5
-+$as_echo "$as_me: WARNING:
-+ May be value of MACHDEP isn't correct if cross-compiling.
-+ You may tweak configure script for you host system: $host" >&2;}
-+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking MACHDEP" >&5
- $as_echo_n "checking MACHDEP... " >&6; }
- if test -z "$MACHDEP"
- then
-+ case $host in
-+ *-*-mingw*)
-+ ac_sys_system=ignore
-+ MACHDEP=win
-+ ;;
-+ *-*-darwin*)
-+ ac_sys_system=Darwin
-+ ac_sys_version=11
-+ MACHDEP=darwin
-+ ;;
-+ esac
-+fi
-+if test -z "$MACHDEP"
-+then
- ac_sys_system=`uname -s`
- if test "$ac_sys_system" = "AIX" \
- -o "$ac_sys_system" = "UnixWare" -o "$ac_sys_system" = "OpenUNIX"; then
-@@ -2994,12 +3242,18 @@
- tr -d '/ ' | sed 's/^[A-Z]\.//' | sed 's/\..*//'`
- MACHDEP="$ac_md_system$ac_md_release"
-
-+ case $host in
-+ *-*-cygwin*) MACHDEP="cygwin";;
-+ *-*-darwin*) MACHDEP="darwin";;
-+ *-*-atheos*) MACHDEP="atheos";;
-+ esac
-+
- case $MACHDEP in
- linux*) MACHDEP="linux2";;
- cygwin*) MACHDEP="cygwin";;
- darwin*) MACHDEP="darwin";;
- atheos*) MACHDEP="atheos";;
-- irix646) MACHDEP="irix6";;
-+ irix646) MACHDEP="irix6";;
- '') MACHDEP="unknown";;
- esac
- fi
-@@ -3129,6 +3383,40 @@
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MACHDEP" >&5
- $as_echo "$MACHDEP" >&6; }
-
-+# Windows uses ; to separate paths, everything else uses :
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking DELIM" >&5
-+$as_echo_n "checking DELIM... " >&6; }
-+DELIM=:
-+if test "$MACHDEP" = "win"
-+then
-+ DELIM=\;
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DELIM" >&5
-+$as_echo "$DELIM" >&6; }
-+
-+
-+# MSYS make uses a 'virtual' VPATH, but getpath.c uses
-+# GetModuleFileNameW (replacing \ with /). This allows the user to
-+# define the 'actual 'real' value. Note, it should contain / not \,
-+# which is what is returned by "pwd -W".
-+
-+if test -z "$MSYSVPATH"; then
-+ MSYSVPATH=$srcdir
-+fi
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for init system calls" >&5
-+$as_echo_n "checking for init system calls... " >&6; }
-+
-+case $host in
-+ # FIXME: May configure lack detection for os2 host system ?
-+ #?#*-*-os2*) INITSYS=os2;;
-+ *-*-mingw*) INITSYS=nt;;
-+ *) INITSYS=posix;;
-+esac
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INITSYS" >&5
-+$as_echo "$INITSYS" >&6; }
-+
- # And add extra plat-mac for darwin
-
-
-@@ -3158,12 +3446,6 @@
- CONFIGURE_MACOSX_DEPLOYMENT_TARGET=
- EXPORT_MACOSX_DEPLOYMENT_TARGET='#'
-
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking machine type as reported by uname -m" >&5
--$as_echo_n "checking machine type as reported by uname -m... " >&6; }
--ac_sys_machine=`uname -m`
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_sys_machine" >&5
--$as_echo "$ac_sys_machine" >&6; }
--
- # checks for alternative programs
-
- # compiler flags are generated in two sets, BASECFLAGS and OPT. OPT is just
-@@ -4676,6 +4958,17 @@
-
-
- # Check for unsupported systems
-+case $host in
-+ *-*-beos*)
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
-+ Support for BeOS is deprecated as of Python 2.6.
-+ See PEP 11 for the gory details.
-+ " >&5
-+$as_echo "$as_me: WARNING:
-+ Support for BeOS is deprecated as of Python 2.6.
-+ See PEP 11 for the gory details.
-+ " >&2;};;
-+esac
- case $ac_sys_system/$ac_sys_release in
- atheos*|Linux*/1*)
- echo This system \($ac_sys_system/$ac_sys_release\) is no longer supported.
-@@ -4844,6 +5137,10 @@
- *)
- enable_shared="no";;
- esac
-+ case $host in
-+ *-*-mingw*)
-+ enable_shared="yes";;
-+ esac
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
- $as_echo "$enable_shared" >&6; }
-@@ -4852,37 +5149,34 @@
- $as_echo_n "checking for --enable-profiling... " >&6; }
- # Check whether --enable-profiling was given.
- if test "${enable_profiling+set}" = set; then :
-- enableval=$enable_profiling; ac_save_cc="$CC"
-- CC="$CC -pg"
-- if test "$cross_compiling" = yes; then :
-- ac_enable_profiling="no"
--else
-+ enableval=$enable_profiling;
-+fi
-+
-+if test "x$enable_profiling" = xyes; then
-+ py_save_CFLAGS="$CFLAGS"
-+ CFLAGS="$CFLAGS -pg"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
--int main() { return 0; }
-+
- _ACEOF
--if ac_fn_c_try_run "$LINENO"; then :
-- ac_enable_profiling="yes"
-+if ac_fn_c_try_compile "$LINENO"; then :
-+
- else
-- ac_enable_profiling="no"
-+ enable_profiling=no
- fi
--rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-- conftest.$ac_objext conftest.beam conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+ CFLAGS="$py_save_CFLAGS"
-+else
-+ enable_profiling=no
- fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_profiling" >&5
-+$as_echo "$enable_profiling" >&6; }
-
-- CC="$ac_save_cc"
-+if test "x$enable_profiling" = xyes; then
-+ BASECFLAGS="-pg $BASECFLAGS"
-+ LDFLAGS="-pg $LDFLAGS"
- fi
-
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_enable_profiling" >&5
--$as_echo "$ac_enable_profiling" >&6; }
--
--case "$ac_enable_profiling" in
-- "yes")
-- BASECFLAGS="-pg $BASECFLAGS"
-- LDFLAGS="-pg $LDFLAGS"
-- ;;
--esac
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking LDLIBRARY" >&5
- $as_echo_n "checking LDLIBRARY... " >&6; }
-
-@@ -4964,6 +5258,12 @@
- ;;
-
- esac
-+ case $host in
-+ *-*-mingw*)
-+ LDLIBRARY='libpython$(VERSION).dll.a'
-+ DLLLIBRARY='libpython$(VERSION).dll'
-+ ;;
-+ esac
- else # shared is disabled
- case $ac_sys_system in
- CYGWIN*)
-@@ -4971,6 +5271,10 @@
- LDLIBRARY='libpython$(VERSION).dll.a'
- ;;
- esac
-+ case $host in
-+ *-*-mingw*)
-+ LDLIBRARY='libpython$(VERSION).a';;
-+ esac
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDLIBRARY" >&5
-@@ -5068,11 +5372,11 @@
- RANLIB="$ac_cv_prog_RANLIB"
- fi
-
--
--for ac_prog in ar aal
--do
-- # Extract the first word of "$ac_prog", so it can be a program name with args.
--set dummy $ac_prog; ac_word=$2
-+if test -n "$ac_tool_prefix"; then
-+ for ac_prog in ar aal
-+ do
-+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- $as_echo_n "checking for $ac_word... " >&6; }
- if test "${ac_cv_prog_AR+set}" = set; then :
-@@ -5088,7 +5392,7 @@
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-- ac_cv_prog_AR="$ac_prog"
-+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-@@ -5108,9 +5412,65 @@
- fi
-
-
-- test -n "$AR" && break
-+ test -n "$AR" && break
-+ done
-+fi
-+if test -z "$AR"; then
-+ ac_ct_AR=$AR
-+ for ac_prog in ar aal
-+do
-+ # Extract the first word of "$ac_prog", so it can be a program name with args.
-+set dummy $ac_prog; ac_word=$2
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
-+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$ac_ct_AR"; then
-+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+ ac_cv_prog_ac_ct_AR="$ac_prog"
-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+ done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+ac_ct_AR=$ac_cv_prog_ac_ct_AR
-+if test -n "$ac_ct_AR"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-+$as_echo "$ac_ct_AR" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+ test -n "$ac_ct_AR" && break
- done
--test -n "$AR" || AR="ar"
-+
-+ if test "x$ac_ct_AR" = x; then
-+ AR="ar"
-+ else
-+ case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+ AR=$ac_ct_AR
-+ fi
-+fi
-
-
- # tweak ARFLAGS only if the user didn't set it on the command line
-@@ -5226,35 +5586,6 @@
- INSTALL="${srcdir}/install-sh -c"
- fi
- esac
--ac_aux_dir=
--for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-- if test -f "$ac_dir/install-sh"; then
-- ac_aux_dir=$ac_dir
-- ac_install_sh="$ac_aux_dir/install-sh -c"
-- break
-- elif test -f "$ac_dir/install.sh"; then
-- ac_aux_dir=$ac_dir
-- ac_install_sh="$ac_aux_dir/install.sh -c"
-- break
-- elif test -f "$ac_dir/shtool"; then
-- ac_aux_dir=$ac_dir
-- ac_install_sh="$ac_aux_dir/shtool install -c"
-- break
-- fi
--done
--if test -z "$ac_aux_dir"; then
-- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
--fi
--
--# These three variables are undocumented and unsupported,
--# and are intended to be withdrawn in a future Autoconf release.
--# They can cause serious problems if a builder's source tree is in a directory
--# whose full name contains unusual characters.
--ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
--ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
--ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
--
--
- # Find a good install program. We prefer a C program (faster),
- # so one script is as good as another. But avoid the broken or
- # incompatible versions:
-@@ -5383,6 +5714,27 @@
- $as_echo "no" >&6; }
- fi
-
-+# FIXME: We define BUILDEXEEXT and LDLIBRARY above but:
-+# For debug versions MSVC build prepend suffix by '_d'.
-+# If we support this convention we may modify distutils(TODO).
-+# To support different build directories is good "--with-pydebug"
-+# to be earlier in the script(why i wrote this?).
-+if test "x$Py_DEBUG" = xtrue; then
-+ case $host in
-+ # Since Makefile.pre.in may isn't suitable for now we will not
-+ # change LDLIBRARY.
-+ *-*-mingw*)
-+ BUILDEXEEXT=_d$BUILDEXEEXT
-+ if test x$enable_shared = xyes; then
-+ #LDLIBRARY='libpython$(VERSION)_d.dll.a'
-+ DLLLIBRARY='libpython$(VERSION)_d.dll'
-+ else # shared is disabled
-+ #LDLIBRARY='libpython$(VERSION)_d.dll.a';;
-+ :
-+ fi
-+ ;;
-+ esac
-+fi
-
- # XXX Shouldn't the code above that fiddles with BASECFLAGS and OPT be
- # merged with this chunk of code?
-@@ -5399,6 +5751,8 @@
-
- # tweak OPT based on compiler and platform, only if the user didn't set
- # it on the command line
-+# NOTE: If user set OPT at this point script ignore all previously set
-+# options (not important - BeOS is depricated for python 2.6+).
-
- if test "${OPT-unset}" = "unset"
- then
-@@ -5493,10 +5847,14 @@
- # if using gcc on alpha, use -mieee to get (near) full IEEE 754
- # support. Without this, treatment of subnormals doesn't follow
- # the standard.
-- case $ac_sys_machine in
-+ case $host in
- alpha*)
- BASECFLAGS="$BASECFLAGS -mieee"
- ;;
-+ *-*-mingw*)
-+ #MSVC in-compatable storage layout for bitfields in structures (Roumen has -mms-bitfields)
-+ BASECFLAGS="$BASECFLAGS"
-+ ;;
- esac
-
- case $ac_sys_system in
-@@ -5527,7 +5885,7 @@
- # Calculate the right deployment target for this build.
- #
- cur_target=`sw_vers -productVersion | sed 's/\(10\.[0-9]*\).*/\1/'`
-- if test ${cur_target} '>' 10.2; then
-+ if test ${cur_target} > 10.2; then
- cur_target=10.3
- if test ${enable_universalsdk}; then
- if test "${UNIVERSAL_ARCHS}" = "all"; then
-@@ -5547,7 +5905,7 @@
- cur_target='10.5'
- fi
- else
-- if test `/usr/bin/arch` = "i386"; then
-+ if test "$($OSX_ARCH_PROG)" = "i386"; then
- # On Intel macs default to a deployment
- # target of 10.4, that's the first OSX
- # release with Intel support.
-@@ -5632,7 +5990,9 @@
- esac
-
- if test "$Py_DEBUG" = 'true'; then
-- :
-+ case $host in
-+ *-*-mingw*) OPT="-D_DEBUG $OPT";;
-+ esac
- else
- OPT="-DNDEBUG $OPT"
- fi
-@@ -5961,6 +6321,41 @@
- $as_echo "$ac_cv_pthread" >&6; }
- fi
-
-+if test "x$ac_cv_kpthread" = xno && \
-+ test "x$ac_cv_kthread" = xno && \
-+ test "x$ac_cv_pthread" = xno && \
-+ test "x$ac_cv_pthread_is_default" = xno
-+then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for NT threads" >&5
-+$as_echo_n "checking for NT threads... " >&6; }
-+ if test "${ac_cv_ntthread+set}" = set; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+
-+int
-+main ()
-+{
-+_beginthread(0, 0, 0);
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+ ac_cv_ntthread=yes
-+else
-+ ac_cv_ntthread=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+fi
-+
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_ntthread" >&5
-+$as_echo "$ac_cv_ntthread" >&6; }
-+fi
-+
- # If we have set a CC compiler flag for thread support then
- # check if it works for CXX, too.
- ac_cv_cxx_thread=no
-@@ -5982,6 +6377,9 @@
- then
- CXX="$CXX -pthread"
- ac_cv_cxx_thread=yes
-+elif test "x$ac_cv_ntthread" = xyes
-+then
-+ ac_cv_cxx_thread=always
- fi
-
- if test $ac_cv_cxx_thread = yes
-@@ -6127,7 +6525,7 @@
- sys/termio.h sys/time.h \
- sys/times.h sys/types.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \
- sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \
--bluetooth/bluetooth.h linux/tipc.h spawn.h util.h
-+bluetooth/bluetooth.h linux/tipc.h spawn.h util.h winsock2.h
- do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
- ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-@@ -7321,29 +7719,6 @@
- elif test "$ac_cv_pthread" = "yes"
- then CC="$CC -pthread"
- fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_t" >&5
--$as_echo_n "checking for pthread_t... " >&6; }
--have_pthread_t=no
--cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h. */
--
-- #include <pthread.h>
--int
--main ()
--{
--pthread_t x; x = *(pthread_t*)0;
-- ;
-- return 0;
--}
--
--_ACEOF
--if ac_fn_c_try_compile "$LINENO"; then :
-- have_pthread_t=yes
--fi
--rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_pthread_t" >&5
--$as_echo "$have_pthread_t" >&6; }
--if test "$have_pthread_t" = yes ; then
- # The cast to long int works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-@@ -7382,7 +7757,6 @@
- _ACEOF
-
-
--fi
- CC="$ac_save_cc"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-toolbox-glue" >&5
-@@ -7429,6 +7803,15 @@
- ;;
- esac
-
-+if test "x$cross_compiling" = xyes; then
-+ function arch
-+ {
-+ echo i386
-+ }
-+ OSX_ARCH_PROG=arch
-+else
-+ OSX_ARCH_PROG=/usr/bin/arch
-+fi
-
- ARCH_RUN_32BIT=""
-
-@@ -7438,7 +7821,7 @@
- if test "${enable_universalsdk}"; then
- :
- else
-- LIBTOOL_CRUFT="${LIBTOOL_CRUFT} -arch_only `/usr/bin/arch`"
-+ LIBTOOL_CRUFT="${LIBTOOL_CRUFT} -arch_only $($OSX_ARCH_PROG)"
- fi
- LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
- LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
-@@ -7478,7 +7861,7 @@
-
-
- if test "${ac_osx_32bit}" = "yes"; then
-- case `/usr/bin/arch` in
-+ case $($OSX_ARCH_PROG) in
- i386)
- MACOSX_DEFAULT_ARCH="i386"
- ;;
-@@ -7490,7 +7873,7 @@
- ;;
- esac
- else
-- case `/usr/bin/arch` in
-+ case $($OSX_ARCH_PROG) in
- i386)
- MACOSX_DEFAULT_ARCH="x86_64"
- ;;
-@@ -7533,8 +7916,8 @@
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dyld" >&5
- $as_echo_n "checking for dyld... " >&6; }
--case $ac_sys_system/$ac_sys_release in
-- Darwin/*)
-+case $host in
-+ *darwin*)
-
- $as_echo "#define WITH_DYLD 1" >>confdefs.h
-
-@@ -7570,6 +7953,16 @@
- CYGWIN*) SO=.dll;;
- *) SO=.so;;
- esac
-+ case $host in
-+ *-*-mingw*)
-+ #NOTE: see _PyImport_DynLoadFiletab in dynload_win.c
-+ if test "x$Py_DEBUG" = xtrue; then
-+ SO=_d.pyd
-+ else
-+ SO=.pyd
-+ fi
-+ ;;
-+ esac
- else
- # this might also be a termcap variable, see #610332
- echo
-@@ -7656,7 +8049,7 @@
- # Use -undefined dynamic_lookup whenever possible (10.3 and later).
- # This allows an extension to be used in any Python
-
-- if test ${MACOSX_DEPLOYMENT_TARGET} '>' 10.2
-+ if test ${MACOSX_DEPLOYMENT_TARGET} > 10.2
- then
- if test "${enable_universalsdk}"; then
- LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}"
-@@ -7732,6 +8125,12 @@
- LDCXXSHARED="g++ -shared";;
- *) LDSHARED="ld";;
- esac
-+ case $host in
-+ *-*-mingw*)
-+ LDSHARED='$(CC) -shared -Wl,--enable-auto-image-base'
-+ LDCXXSHARED='$(CXX) -shared -Wl,--enable-auto-image-base'
-+ ;;
-+ esac
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDSHARED" >&5
- $as_echo "$LDSHARED" >&6; }
-@@ -7833,6 +8232,12 @@
- # when running test_compile.py.
- LINKFORSHARED='-Wl,-E -N 2048K';;
- esac
-+ case $host in
-+ *-*-mingw*)
-+ if test x$enable_shared = xyes; then
-+ LINKFORSHARED='-Wl,--out-implib=$(LDLIBRARY)'
-+ fi;;
-+ esac
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINKFORSHARED" >&5
- $as_echo "$LINKFORSHARED" >&6; }
-@@ -7851,6 +8256,12 @@
- *)
- CFLAGSFORSHARED='$(CCSHARED)'
- esac
-+ case $host in
-+ *-*-mingw*)
-+ # TODO mingw may needs CCSHARED when building extension DLLs
-+ # but not when building the interpreter DLL.
-+ CFLAGSFORSHARED='';;
-+ esac
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CFLAGSFORSHARED" >&5
- $as_echo "$CFLAGSFORSHARED" >&6; }
-@@ -8029,6 +8440,10 @@
- fi
-
- # check if we need libintl for locale functions
-+case $host in
-+ *-*-mingw*)
-+ ;;
-+ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for textdomain in -lintl" >&5
- $as_echo_n "checking for textdomain in -lintl... " >&6; }
- if test "${ac_cv_lib_intl_textdomain+set}" = set; then :
-@@ -8071,6 +8486,8 @@
-
- fi
-
-+ ;;
-+esac
-
- # checks for system dependent C++ extensions support
- case "$ac_sys_system" in
-@@ -8532,6 +8949,15 @@
-
- posix_threads=yes
- THREADOBJ="Python/thread.o"
-+elif test "x$ac_cv_ntthread" = xyes
-+then
-+ $as_echo "#define WITH_THREAD 1" >>confdefs.h
-+
-+ posix_threads=no
-+ THREADOBJ="Python/thread.o"
-+
-+$as_echo "#define NT_THREADS 1" >>confdefs.h
-+
- else
- if test ! -z "$with_threads" -a -d "$with_threads"
- then LDFLAGS="$LDFLAGS -L$with_threads"
-@@ -9063,6 +9489,18 @@
- fi
-
-
-+
-+BUILDIN_WIN32_MODULE='#'
-+case $host in
-+ *-*-mingw*)
-+ # On win32 host(mingw build MSYS environment) site.py fail to load
-+ # if _functools is not build-in by reason of dependency:
-+ # setup->site->locale->functools&operator
-+ BUILDIN_WIN32_MODULE=
-+ ;;
-+esac
-+
-+
- # Check for enable-ipv6
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if --enable-ipv6 is specified" >&5
-@@ -9517,6 +9955,14 @@
- fi
- ;;
- esac
-+ case $host in
-+ *-*-mingw*)
-+ # FIXME: it is good to use portable "$OBJEXT" instead "o" but
-+ # python build isn't yet ready to use it (see Makefile.pre.in)
-+ #DYNLOADFILE="dynload_win.$OBJEXT"
-+ DYNLOADFILE="dynload_win.o"
-+ ;;
-+ esac
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DYNLOADFILE" >&5
- $as_echo "$DYNLOADFILE" >&6; }
-@@ -9532,14 +9978,24 @@
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking MACHDEP_OBJS" >&5
- $as_echo_n "checking MACHDEP_OBJS... " >&6; }
-+case $host in
-+ *-*-mingw*)
-+ extra_machdep_objs="PC/dl_nt.o Modules/getpath.o PC/import_nt.o"
-+ ;;
-+esac
- if test -z "$MACHDEP_OBJS"
- then
- MACHDEP_OBJS=$extra_machdep_objs
- else
- MACHDEP_OBJS="$MACHDEP_OBJS $extra_machdep_objs"
- fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: MACHDEP_OBJS" >&5
--$as_echo "MACHDEP_OBJS" >&6; }
-+if test -z "$MACHDEP_OBJS"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-+$as_echo "none" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MACHDEP_OBJS" >&5
-+$as_echo "$MACHDEP_OBJS" >&6; }
-+fi
-
- # checks for library functions
- for ac_func in alarm setitimer getitimer bind_textdomain_codeset chown \
-@@ -9569,6 +10025,7 @@
- done
-
-
-+
- # For some functions, having a definition is not sufficient, since
- # we want to take their address.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for chroot" >&5
-@@ -10901,11 +11358,20 @@
- fi
-
- fi
-+case $host in
-+ *-*-mingw*)
-+ #FIXME: mingw "w32api" define getaddinfo if WINVER >= 0x501, i.e. XP or greater.
-+ #TODO: mingw require additional check.
-+ #NOTE: above check is not correct for windows platforms.
-+ # ac_cv_buggy_getaddrinfo=no
-+ :
-+ ;;
-+esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_buggy_getaddrinfo" >&5
- $as_echo "$ac_cv_buggy_getaddrinfo" >&6; }
-
--if test $have_getaddrinfo = no -o "$ac_cv_buggy_getaddrinfo" = yes
-+if test $have_getaddrinfo = no || test "$ac_cv_buggy_getaddrinfo" = yes
- then
- if test $ipv6 = yes
- then
-@@ -11211,7 +11677,12 @@
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
--#include <netdb.h>
-+
-+#ifdef HAVE_WINSOCK2_H
-+# include <ws2tcpip.h>
-+#else
-+# include <netdb.h>
-+#endif
- int
- main ()
- {
-@@ -11244,8 +11715,15 @@
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-
--# include <sys/types.h>
--# include <sys/socket.h>
-+#ifdef HAVE_SYS_TYPES_H
-+#include <sys/types.h>
-+#endif
-+#ifdef HAVE_SYS_SOCKET_H
-+#include <sys/socket.h>
-+#endif
-+#ifdef HAVE_WINSOCK2_H
-+#include <winsock2.h>
-+#endif
- int
- main ()
- {
-@@ -11829,6 +12307,9 @@
- BeOS) ;;
- *) LIBM=-lm
- esac
-+case $host in
-+ *-*-mingw*) LIBM=;;
-+esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --with-libm=STRING" >&5
- $as_echo_n "checking for --with-libm=STRING... " >&6; }
-
-@@ -11878,6 +12359,13 @@
- # **************************************************
- # * Check for various properties of floating point *
- # **************************************************
-+case $host in
-+ *-*-mingw*)
-+ ac_cv_little_endian_double=yes
-+ ac_cv_big_endian_double=no
-+ ac_cv_mixed_endian_double=no
-+ ;;
-+esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C doubles are little-endian IEEE 754 binary64" >&5
- $as_echo_n "checking whether C doubles are little-endian IEEE 754 binary64... " >&6; }
-@@ -12018,6 +12506,8 @@
-
- # This inline assembler syntax may also work for suncc and icc,
- # so we try it on all platforms.
-+# Note MSVC build use Python/dtoa.c, but I could not find any reason
-+# to use this file for GCC(mingw*) builds, so mingw* will use gcc asm :)
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can use gcc inline assembler to get and set x87 control word" >&5
- $as_echo_n "checking whether we can use gcc inline assembler to get and set x87 control word... " >&6; }
-@@ -12097,6 +12587,11 @@
- fi
-
- CC="$ac_save_cc"
-+if test "x$cross_compiling" = xyes; then
-+ case $host in
-+ *-*-mingw*) ac_cv_x87_double_rounding=yes;;
-+ esac
-+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_x87_double_rounding" >&5
- $as_echo "$ac_cv_x87_double_rounding" >&6; }
- if test "$ac_cv_x87_double_rounding" = yes
-@@ -12117,6 +12612,12 @@
- # -0. on some architectures.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether tanh preserves the sign of zero" >&5
- $as_echo_n "checking whether tanh preserves the sign of zero... " >&6; }
-+case $host in
-+ *-*-mingw*)
-+ # Some MSVC runtimes don't preserve zero sign.
-+ # On mingw host we will use always replacement function.
-+ ac_cv_tanh_preserves_zero_sign=no;;
-+esac
- if test "${ac_cv_tanh_preserves_zero_sign+set}" = set; then :
- $as_echo_n "(cached) " >&6
- else
-@@ -12225,6 +12726,13 @@
- # the kernel module that provides POSIX semaphores
- # isn't loaded by default, so an attempt to call
- # sem_open results in a 'Signal 12' error.
-+if test $ac_cv_func_sem_open = yes; then
-+case $host in
-+ *-*-mingw*)
-+ # GCC 4.4+ (mingw) support posix threads(!)
-+ # bug we won't use them on windows platform.
-+ ac_cv_posix_semaphores_enabled=no;;
-+esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether POSIX semaphores are enabled" >&5
- $as_echo_n "checking whether POSIX semaphores are enabled... " >&6; }
- if test "${ac_cv_posix_semaphores_enabled+set}" = set; then :
-@@ -12268,6 +12776,9 @@
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_posix_semaphores_enabled" >&5
- $as_echo "$ac_cv_posix_semaphores_enabled" >&6; }
-+else
-+ ac_cv_posix_semaphores_enabled=no
-+fi
- if test $ac_cv_posix_semaphores_enabled = no
- then
-
-@@ -12276,8 +12787,19 @@
- fi
-
- # Multiprocessing check for broken sem_getvalue
-+if test $ac_cv_func_sem_getvalue = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken sem_getvalue" >&5
- $as_echo_n "checking for broken sem_getvalue... " >&6; }
-+case $host in
-+ *-*-mingw*)
-+ # GCC(mingw) 4.4+ require and use posix threads(pthreads-w32)
-+ # Also system may contain installed pthreads-w32.
-+ # NOTE the test case below don't work for pthreads-w32:
-+ # - SEM_FAILED is not defined;
-+ # - sem_open is stub;
-+ # - sem_getvalue work(!).
-+ ac_cv_broken_sem_getvalue=no;;
-+esac
- if test "${ac_cv_broken_sem_getvalue+set}" = set; then :
- $as_echo_n "(cached) " >&6
- else
-@@ -12329,6 +12851,7 @@
- $as_echo "#define HAVE_BROKEN_SEM_GETVALUE 1" >>confdefs.h
-
- fi
-+fi
-
- # determine what size digit to use for Python's longs
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking digit size for Python's longs" >&5
-@@ -12450,6 +12973,9 @@
- # check whether wchar_t is signed or not
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wchar_t is signed" >&5
- $as_echo_n "checking whether wchar_t is signed... " >&6; }
-+ case $host in
-+ *-*-mingw*) ac_cv_wchar_t_signed=no;;
-+ esac
- if test "${ac_cv_wchar_t_signed+set}" = set; then :
- $as_echo_n "(cached) " >&6
- else
-@@ -12784,6 +13310,46 @@
- esac
-
-
-+# REPARSE_DATA_BUFFER is in winnt.h on mingw32 and (unusably) ddk/ntifs.h on mingw64.
-+case $host in
-+ *-*-mingw*)
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct REPARSE_DATA_BUFFER is in winnt.h" >&5
-+$as_echo_n "checking if struct REPARSE_DATA_BUFFER is in winnt.h... " >&6; }
-+if test "${ac_cv_struct_reparse_data_buffer_in_winnt_h+set}" = set; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include <windows.h>
-+ #include <winnt.h>
-+int
-+main ()
-+{
-+REPARSE_DATA_BUFFER rdb
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ ac_cv_struct_reparse_data_buffer_in_winnt_h=yes
-+else
-+ ac_cv_struct_reparse_data_buffer_in_winnt_h=no
-+
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_reparse_data_buffer_in_winnt_h" >&5
-+$as_echo "$ac_cv_struct_reparse_data_buffer_in_winnt_h" >&6; }
-+if test "x${ac_cv_struct_reparse_data_buffer_in_winnt_h}" = xyes; then
-+
-+$as_echo "#define REPARSE_DATA_BUFFER_IN_WINNT /**/" >>confdefs.h
-+
-+
-+fi
-+ ;;
-+esac
-+
- # Check whether right shifting a negative integer extends the sign bit
- # or fills with zeros (like the Cray J90, according to Tim Peters).
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether right shift extends the sign bit" >&5
-@@ -12875,7 +13441,7 @@
- py_cv_lib_readline=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link readline libs" >&5
- $as_echo_n "checking how to link readline libs... " >&6; }
--for py_libtermcap in "" ncursesw ncurses curses termcap; do
-+for py_libtermcap in "" tinfo ncursesw ncurses curses termcap; do
- if test -z "$py_libtermcap"; then
- READLINE_LIBS="-lreadline"
- else
-@@ -12908,9 +13474,9 @@
- if test $py_cv_lib_readline = yes; then
- break
- fi
-+ READLINE_LIBS=
- done
--# Uncomment this line if you want to use READINE_LIBS in Makefile or scripts
--#AC_SUBST([READLINE_LIBS])
-+
- if test $py_cv_lib_readline = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
- $as_echo "none" >&6; }
-@@ -13659,38 +14225,89 @@
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for device files" >&5
-+$as_echo "$as_me: checking for device files" >&6;}
-+case $host in
-+ *-*-mingw*)
-+ ac_cv_file__dev_ptmx=ignore #NOTE: under MSYS environment device exist
-+ ac_cv_file__dev_ptc=no
-+ ;;
-+esac
-+
-+if test "x$cross_compiling" = xyes; then
-+ if test "${ac_cv_file__dev_ptmx+set}" != set; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /dev/ptmx" >&5
-+$as_echo_n "checking for /dev/ptmx... " >&6; }
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not set" >&5
-+$as_echo "not set" >&6; }
-+ as_fn_error $? "set ac_cv_file__dev_ptmx to yes/no in your CONFIG_SITE file when cross compiling" "$LINENO" 5
-+ fi
-+ if test "${ac_cv_file__dev_ptc+set}" != set; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /dev/ptc" >&5
-+$as_echo_n "checking for /dev/ptc... " >&6; }
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not set" >&5
-+$as_echo "not set" >&6; }
-+ as_fn_error $? "set ac_cv_file__dev_ptc to yes/no in your CONFIG_SITE file when cross compiling" "$LINENO" 5
-+ fi
-+fi
-+
-+# FIXME: autoconf macro AC_CHECK_FILES is better but require additional
-+# changes in posixmodule.c : 's/HAVE_DEV_/HAVE__DEV_/g'
-+# To keep patch minimal I left defines as before.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /dev/ptmx" >&5
- $as_echo_n "checking for /dev/ptmx... " >&6; }
-+if test "${ac_cv_file__dev_ptmx+set}" = set; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ test "$cross_compiling" = yes &&
-+ as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
-+if test -r "/dev/ptmx"; then
-+ ac_cv_file__dev_ptmx=yes
-+else
-+ ac_cv_file__dev_ptmx=no
-+fi
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__dev_ptmx" >&5
-+$as_echo "$ac_cv_file__dev_ptmx" >&6; }
-+if test "x$ac_cv_file__dev_ptmx" = x""yes; then :
-
--if test -r /dev/ptmx
--then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
--$as_echo "yes" >&6; }
-+fi
-+
-+if test "x$ac_cv_file__dev_ptmx" = xyes; then
-
- $as_echo "#define HAVE_DEV_PTMX 1" >>confdefs.h
-
--else
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
- fi
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /dev/ptc" >&5
- $as_echo_n "checking for /dev/ptc... " >&6; }
-+if test "${ac_cv_file__dev_ptc+set}" = set; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ test "$cross_compiling" = yes &&
-+ as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
-+if test -r "/dev/ptc"; then
-+ ac_cv_file__dev_ptc=yes
-+else
-+ ac_cv_file__dev_ptc=no
-+fi
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__dev_ptc" >&5
-+$as_echo "$ac_cv_file__dev_ptc" >&6; }
-+if test "x$ac_cv_file__dev_ptc" = x""yes; then :
-
--if test -r /dev/ptc
--then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
--$as_echo "yes" >&6; }
-+fi
-+
-+if test "x$ac_cv_file__dev_ptc" = xyes; then
-
- $as_echo "#define HAVE_DEV_PTC 1" >>confdefs.h
-
--else
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
- fi
-
- if test "$have_long_long" = yes
- then
-+ case $host in
-+ *-*-mingw*) ac_cv_have_long_long_format=yes;;
-+ esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for %lld and %llu printf() format support" >&5
- $as_echo_n "checking for %lld and %llu printf() format support... " >&6; }
- if test "${ac_cv_have_long_long_format+set}" = set; then :
-@@ -13762,6 +14379,9 @@
- fi
-
-
-+case $host in
-+ *-*-mingw*) ac_cv_have_size_t_format=no;;
-+esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for %zd printf() format support" >&5
- $as_echo_n "checking for %zd printf() format support... " >&6; }
- if test "${ac_cv_have_size_t_format+set}" = set; then :
-@@ -13861,8 +14481,38 @@
- THREADHEADERS="$THREADHEADERS \$(srcdir)/$h"
- done
-
-+# FIXME: in cross-compilation env. (mingw on linux) how to select correct compiler ?
-+# The current py-code will created modules with .so suffix and environment
-+# variable setting SO=$(SO) don't help
-+# see output of: python setup.py build --help-compiler
-+
-+case $host in
-+ *-*-mingw*) PYMOD_BUILDOPT="--compiler mingw32";;
-+esac
-+
-+# Python interpreter main program for frozen scripts
-+
-+PYTHON_OBJS_FROZENMAIN="Python/frozenmain.o"
-+# MODULE_GETPATH - default sys.path calculations
-+
-+MODULE_GETPATH=Modules/getpath.o
-+case $host in
-+ *-*-mingw*)
-+ CPPFLAGS="-I\$(srcdir)/Python -I\$(srcdir)/PC $CPPFLAGS"
-+
-+ # FIXME: why windows builds don't use PC/frozen_dllmain.o ?
-+ PYTHON_OBJS_FROZENMAIN=""
-+ # default sys.path calculations for windows platforms
-+ # MODULE_GETPATH=PC/getpathp.o
-+ MODULE_GETPATH=Modules/getpath.o
-+ ;;
-+esac
-+
-
- SRCDIRS="Parser Grammar Objects Python Modules Mac"
-+case $host in
-+ *-*-mingw*) SRCDIRS="$SRCDIRS PC";;
-+esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for build directories" >&5
- $as_echo_n "checking for build directories... " >&6; }
- for dir in $SRCDIRS; do
-@@ -13874,7 +14524,13 @@
- $as_echo "done" >&6; }
-
- # generate output files
--ac_config_files="$ac_config_files Makefile.pre Modules/Setup.config Misc/python.pc"
-+
-+
-+ac_config_commands="$ac_config_commands Makefile"
-+
-+ac_config_files="$ac_config_files setup_info"
-+
-+ac_config_files="$ac_config_files Makefile.pre Modules/Setup.config Misc/python.pc Misc/python-config.sh"
-
- ac_config_files="$ac_config_files Modules/ld_so_aix"
-
-@@ -13978,6 +14634,21 @@
-
-
-
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating Modules/Setup" >&5
-+$as_echo "$as_me: creating Modules/Setup" >&6;}
-+
-+if test ! -f Modules/Setup
-+then
-+ cp $srcdir/Modules/Setup.dist Modules/Setup
-+fi
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating Modules/Setup.local" >&5
-+$as_echo "$as_me: creating Modules/Setup.local" >&6;}
-+if test ! -f Modules/Setup.local
-+then
-+ echo "# Edit this file for local setup changes" >Modules/Setup.local
-+fi
-+
- : ${CONFIG_STATUS=./config.status}
- ac_write_fail=0
- ac_clean_files_save=$ac_clean_files
-@@ -14412,6 +15083,7 @@
- # Files that config.status was made for.
- config_files="$ac_config_files"
- config_headers="$ac_config_headers"
-+config_commands="$ac_config_commands"
-
- _ACEOF
-
-@@ -14441,6 +15113,9 @@
- Configuration headers:
- $config_headers
-
-+Configuration commands:
-+$config_commands
-+
- Report bugs to <http://bugs.python.org/>."
-
- _ACEOF
-@@ -14575,9 +15250,12 @@
- "Mac/IDLE/Makefile") CONFIG_FILES="$CONFIG_FILES Mac/IDLE/Makefile" ;;
- "Mac/Resources/framework/Info.plist") CONFIG_FILES="$CONFIG_FILES Mac/Resources/framework/Info.plist" ;;
- "Mac/Resources/app/Info.plist") CONFIG_FILES="$CONFIG_FILES Mac/Resources/app/Info.plist" ;;
-+ "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
-+ "setup_info") CONFIG_FILES="$CONFIG_FILES setup_info" ;;
- "Makefile.pre") CONFIG_FILES="$CONFIG_FILES Makefile.pre" ;;
- "Modules/Setup.config") CONFIG_FILES="$CONFIG_FILES Modules/Setup.config" ;;
- "Misc/python.pc") CONFIG_FILES="$CONFIG_FILES Misc/python.pc" ;;
-+ "Misc/python-config.sh") CONFIG_FILES="$CONFIG_FILES Misc/python-config.sh" ;;
- "Modules/ld_so_aix") CONFIG_FILES="$CONFIG_FILES Modules/ld_so_aix" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
-@@ -14592,6 +15270,7 @@
- if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
- fi
-
- # Have a temporary directory for convenience. Make it in the build tree
-@@ -14886,7 +15565,7 @@
- fi # test -n "$CONFIG_HEADERS"
-
-
--eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS "
-+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
- shift
- for ac_tag
- do
-@@ -15123,11 +15802,19 @@
- fi
- ;;
-
--
-+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-+$as_echo "$as_me: executing $ac_file commands" >&6;}
-+ ;;
- esac
-
-
- case $ac_file$ac_mode in
-+ "Makefile":C) $SHELL $srcdir/Modules/makesetup -c $srcdir/Modules/config.c.in \
-+ -s Modules Modules/Setup.config \
-+ Modules/Setup.local Modules/Setup
-+
-+
-+mv config.c Modules ;;
- "Modules/ld_so_aix":F) chmod +x Modules/ld_so_aix ;;
-
- esac
-@@ -15167,38 +15854,3 @@
- $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
- fi
-
--
--echo "creating Modules/Setup"
--if test ! -f Modules/Setup
--then
-- cp $srcdir/Modules/Setup.dist Modules/Setup
--fi
--
--echo "creating Modules/Setup.local"
--if test ! -f Modules/Setup.local
--then
-- echo "# Edit this file for local setup changes" >Modules/Setup.local
--fi
--
--echo "creating Makefile"
--$SHELL $srcdir/Modules/makesetup -c $srcdir/Modules/config.c.in \
-- -s Modules Modules/Setup.config \
-- Modules/Setup.local Modules/Setup
--
--case $ac_sys_system in
--BeOS)
-- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
--
-- Support for BeOS is deprecated as of Python 2.6.
-- See PEP 11 for the gory details.
-- " >&5
--$as_echo "$as_me: WARNING:
--
-- Support for BeOS is deprecated as of Python 2.6.
-- See PEP 11 for the gory details.
-- " >&2;}
-- ;;
--*) ;;
--esac
--
--mv config.c Modules
-diff -urN a/pyconfig.h.in b/pyconfig.h.in
---- a/pyconfig.h.in 2012-07-04 23:46:02.751554822 +0100
-+++ b/pyconfig.h.in 2012-07-04 23:46:13.306624284 +0100
-@@ -969,6 +969,9 @@
- /* Define if you want to have a Unicode type. */
- #undef Py_USING_UNICODE
-
-+/* REPARSE_DATA_BUFFER in winnt.h */
-+#undef REPARSE_DATA_BUFFER_IN_WINNT
-+
- /* assume C89 semantics that RETSIGTYPE is always void */
- #undef RETSIGTYPE
-