#!/bin/bash -ex
# latest version of this file can be found at
# https://android.googlesource.com/platform/external/lldb-utils
#
# Download & build python on the local machine
# works on Linux, OSX, and Windows (Cygwin)
# leaves output in /tmp/prebuilts/python/$OS-x86

PROJ=python
VER=2.7.10
MSVS=2015

source "$(dirname "${BASH_SOURCE[0]}")/build-common.sh" "$@"

BASE=Python-$VER
TGZ=$BASE.tgz
wget --no-check-certificate https://www.python.org/ftp/python/$VER/$TGZ -O $TGZ
tar xzf $TGZ || cat $TGZ # if this fails, we're probably getting an http error
cd $BASE
patch -p3 <"$SCRIPT_DIR/python.patches"

case "$OS" in
windows)
	cp PC/pyconfig.h Include/
	devenv PCbuild/pcbuild.sln /Upgrade
        # Not all projects will build (due to missing dependencies), so we build only a selected
        # set. The rest are not needed for our purposes anyway.
	for project in _ctypes _ctypes_test _elementtree _multiprocessing _socket _testcapi \
		bdist_wininst kill_python make_buildinfo make_versioninfo pyexpat python \
		pythoncore pythonw select unicodedata w9xpopen winsound; do

		devenv PCbuild/pcbuild.sln /Build Debug /Project $project
		devenv PCbuild/pcbuild.sln /Build Release /Project $project
		devenv PCbuild/pcbuild.sln /Build "Debug^|x64" /Project $project
		devenv PCbuild/pcbuild.sln /Build "Release^|x64" /Project $project
	done
	curl -L http://llvm.org/svn/llvm-project/lldb/trunk/scripts/install_custom_python.py -o install_custom_python.py
	python install_custom_python.py --source "$(cygpath -w "$RD/$BASE")" --dest "$(cygpath -w "$INSTALL")" --overwrite --silent
	;;
linux|darwin)
	unset CFLAGS CXXFLAGS
	mkdir $RD/build
	cd $RD/build
	$RD/$BASE/configure --prefix=$INSTALL --enable-unicode=ucs4 --enable-shared
	make -j$CORES
	make install
	;;
esac

find $INSTALL '(' -name '*.pyc' -or -name '*.pyo' ')' -delete

finalize_build
