build-all-platforms.sh at [9357d3709b]

File server/buildpkgs/build-all-platforms.sh artifact b260f64dbe part of check-in 9357d3709b


#! /bin/bash

CCROOT="${HOME}/root/cross-compilers"
SETUP_CC="${CCROOT}/setup-cc"

if [ -z "$1" ]; then
	platforms=(
		i386-pc-solaris2.10@solaris2.10-ix86
		i386-pc-solaris2.10,64@solaris2.10-x86_64
		mipsel-unknown-linux-uclibc@linux-glibc2.0-mipsel
		sparc-sun-solaris2.8@solaris2.8-sparc
		sparc-sun-solaris2.8,64@solaris2.8-sparc64
		sparc-sun-solaris2.10@solaris2.10-sparc
		sparc-sun-solaris2.10,64@solaris2.10-sparc64
		x86_64-unknown-freebsd8@freebsd8-x86_64
		x86_64-unknown-netbsd5@netbsd5-x86_64
		arm-android9-linux-androideabi@linux-unknown-arm
		i586-mingw32msvc@win32-ix86
		x86_64-w64-mingw32@win32-x86_64
		x86_64-redhat5-linux@linux-glibc2.5-x86_64
		powerpc-ibm-aix5.3.0.0@aix-powerpc
	)
else
	platforms=("$@")
fi

for platform in "${platforms[@]}"; do
	echo "  * Building for ${platform}"
	cc_platform="$(echo "${platform}" | cut -f 1 -d '@')"
	tcl_platform="$(echo "${platform}" | cut -f 2 -d '@')"
	opts=''
	setup_cc_opts=''
	configure_opts=''

	if echo "${cc_platform}" | grep ',' >/dev/null; then
		opts="$(echo "${cc_platform}" | cut -f 2- -d ',' | sed 's@,@ @g')"
		cc_platform="$(echo "${cc_platform}" | cut -f 1 -d ',')"
	fi

	case "${tcl_platform}" in
		*64)
			is64bit='1'
			;;
		*)
			is64bit='0'
			;;
	esac

	for opt in $opts; do
		case "${opt}" in
			64)
				setup_cc_opts="${setup_cc_opts} 64"
				is64bit='1'
				;;
			32)
				setup_cc_opts="${setup_cc_opts} 32"
				is64bit='0'
				;;
		esac
	done

	if [ "${is64bit}" = '1' ]; then
		configure_opts="${configure_opts} --enable-64bit"
	fi

	(
		eval "$("${SETUP_CC}" "${cc_platform}" ${setup_cc_opts} || echo exit 1)"

		FORCE_PLATFORM="${tcl_platform}"
		export FORCE_PLATFORM

		./build_all.sh clean

		./build_all.sh --host="${cc_platform}" ${configure_opts}
	)
done