#! /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
x86_64-redhat5-linux,32@linux-glibc2.5-ix86
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