#! /usr/bin/env bash # Modified by cbxbiker61 on 2011.01.17 to add gcc 4.5.2. # 2011.08.21 adds the missing 4.5.2 to 4.5.3 patch missing in 2011.05.30 # This file contains the complete sequence of commands # to build a PlugComputer Cross-compiling ToolChain # based on CodeSourcery's Sourcery G++. set -e nativePath="/bin:/usr/bin:/opt/texlive/texmf/bin" orgDir=$PWD arch=$(uname -m) hostCc='gcc' hostCxx='g++' hostAr='ar' hostRanlib='ranlib' csVer='2011.03-42' ver='20110821' ane='arm-none-eabi' scratch="/var/tmp/PlugToolChain-$ane-$ver" respin="$scratch/respin" bigArc="arm-$csVer-$ane.src.tar.bz2" codeSourcery="http://www.codesourcery.com/public/gnu_toolchain/$ane" hostString="$arch-pc-linux-gnu" hostPrefix="$respin/out/host-libs/usr" makejobs=$(grep -Ec "^cpu[0-9]+" /proc/stat || :) if ! grep -qs QEMU /proc/cpuinfo; then (( makejobs *= 2 )) else (( makejobs++ )) # use fewer jobs on QEMU fi makej="make -j$makejobs" inform_fd=2 umask 022 exec < /dev/null error_handler () { exit 1 } check_status() { local status="$?" if [ "$status" -ne 0 ]; then error_handler fi } check_pipe() { local -a status=("${PIPESTATUS[@]}") local limit=$1 local ix if [ -z "$limit" ] ; then limit="${#status[@]}" fi for ((ix=0; ix != $limit ; ix++)); do if [ "${status[$ix]}" != "0" ] ; then error_handler fi done } error () { echo "$script: error: $@" >& $inform_fd exit 1 } warning () { echo "$script: warning: $@" >& $inform_fd } verbose () { if $gnu_verbose; then echo "$script: $@" >& $inform_fd fi } copy_dir() { mkdir -p "$2" (cd "$1" && tar cf - .) | (cd "$2" && tar xf -) check_pipe } copy_dir_clean() { mkdir -p "$2" (cd "$1" && tar cf - \ --exclude=CVS --exclude=.svn --exclude=.git --exclude=.pc \ --exclude="*~" --exclude=".#*" \ --exclude="*.orig" --exclude="*.rej" \ .) | (cd "$2" && tar xf -) check_pipe } update_dir_clean() { mkdir -p "$2" (cd "$1" && tar cf - \ --exclude=CVS --exclude=.svn --exclude=.git --exclude=.pc \ --exclude="*~" --exclude=".#*" \ --exclude="*.orig" --exclude="*.rej" \ --after-date="$3" \ . 2> /dev/null) | (cd "$2" && tar xf -) check_pipe } copy_dir_exclude() { local source="$1" local dest="$2" local excl="$3" shift 3 mkdir -p "$dest" (cd "$source" && tar cfX - "$excl" "$@") | (cd "$dest" && tar xf -) check_pipe } copy_dir_only() { local source="$1" local dest="$2" shift 2 mkdir -p "$dest" (cd "$source" && tar cf - "$@") | (cd "$dest" && tar xf -) check_pipe } clean_environment() { local env_var_list local var unset BASH_ENV CDPATH POSIXLY_CORRECT TMOUT env_var_list=$(export | \ grep '^declare -x ' | \ sed -e 's/^declare -x //' -e 's/=.*//') for var in $env_var_list; do case $var in HOME|HOSTNAME|LOGNAME|PWD|SHELL|SHLVL|SSH_*|TERM|USER) ;; LD_LIBRARY_PATH|PATH| \ FLEXLM_NO_CKOUT_INSTALL_LIC|LM_APP_DISABLE_CACHE_READ) ;; MAKEINFO) ;; *_LICENSE_FILE) if [ "" ]; then local license_file_envvar license_file_envvar= if [ "$var" != "$license_file_envvar" ]; then export -n "$var" || true fi else export -n "$var" || true fi ;; *) export -n "$var" || true ;; esac done export LANG=C export LC_ALL=C export CVS_RSH=ssh user_shell=$SHELL export SHELL=$BASH export CONFIG_SHELL=$BASH } pushenv() { pushenv_level=$(($pushenv_level + 1)) eval pushenv_vars_${pushenv_level}= } pushenv_level=0 pushenv_vars_0= pushenvvar() { local pushenv_var="$1" local pushenv_newval="$2" eval local pushenv_oldval=\"\$$pushenv_var\" eval local pushenv_oldset=\"\${$pushenv_var+set}\" local pushenv_save_var=saved_${pushenv_level}_${pushenv_var} local pushenv_savep_var=savedp_${pushenv_level}_${pushenv_var} eval local pushenv_save_set=\"\${$pushenv_savep_var+set}\" if [ "$pushenv_save_set" = "set" ]; then error "Pushing $pushenv_var more than once at level $pushenv_level" fi if [ "$pushenv_oldset" = "set" ]; then eval $pushenv_save_var=\"\$pushenv_oldval\" else unset $pushenv_save_var fi eval $pushenv_savep_var=1 eval export $pushenv_var=\"\$pushenv_newval\" local pushenv_list_var=pushenv_vars_${pushenv_level} eval $pushenv_list_var=\"\$$pushenv_list_var \$pushenv_var\" } prependenvvar() { local pushenv_var="$1" local pushenv_newval="$2" eval local pushenv_oldval=\"\$$pushenv_var\" pushenvvar "$pushenv_var" "$pushenv_newval$pushenv_oldval" } popenv() { local pushenv_var= eval local pushenv_vars=\"\$pushenv_vars_${pushenv_level}\" for pushenv_var in $pushenv_vars; do local pushenv_save_var=saved_${pushenv_level}_${pushenv_var} local pushenv_savep_var=savedp_${pushenv_level}_${pushenv_var} eval local pushenv_save_val=\"\$$pushenv_save_var\" eval local pushenv_save_set=\"\${$pushenv_save_var+set}\" unset $pushenv_save_var unset $pushenv_savep_var if [ "$pushenv_save_set" = "set" ]; then eval export $pushenv_var=\"\$pushenv_save_val\" else unset $pushenv_var fi done unset pushenv_vars_${pushenv_level} if [ "$pushenv_level" = "0" ]; then error "Popping environment level 0" else pushenv_level=$(($pushenv_level - 1)) fi } prepend_path() { if $(eval "test -n \"\$$1\""); then prependenvvar "$1" "$2:" else prependenvvar "$1" "$2" fi } pushenvvar PATH $nativePath pushenvvar MAKEINFO 'makeinfo --css-ref=../cs.css' clean_environment echo task [001/059] /init/dirs pushenv pushenvvar CC_FOR_BUILD $hostCc # start from scratch mkdir -p $scratch if [[ ! -f $bigArc ]]; then wget -c $codeSourcery/$bigArc fi if [[ ! -f $bigArc ]]; then wget -c $codeSourcery/$bigArc fi if [[ $(md5sum $bigArc | cut -d' ' -f1) != "7c302162ec813d039b8388bd7d2b4176" ]]; then echo "md5sum of $bigArc doesn't match" exit 1 fi if false; then if [[ ! -f gcc-4.5.2.tar.bz2 ]]; then wget -c ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.5.2/gcc-4.5.2.tar.bz2 fi if [[ $(md5sum gcc-4.5.2.tar.bz2 | cut -d' ' -f1) != "d6559145853fbaaa0fd7556ed93bce9a" ]]; then echo "md5sum of gcc-4.5.2.tar.bz2 doesn't match" exit 1 fi fi # false for f in Gcc-4.5.2-4.5.3.patch.xz; do if [[ ! -f $f ]]; then _sites="http://dev.plugapps.com/mirror/with-linux http://sheeva.with-linux.com/sheeva" _s='' for _s in $_sites; do if wget -c $_s/tools/$f; then break fi done fi done if [[ ! -f $scratch/arc/zlib-$csVer.tar.bz2 ]]; then pushd $scratch tar x --strip-components=1 -f $orgDir/$bigArc mkdir arc mv *.tar.bz2 *.sh *.txt arc popd fi # clean out prior run rm -rf $respin/{install,logs,obj,out,pkg} # make necessary directories mkdir -p $respin/src mkdir -p $respin/install/share/doc/arm-$ane/{html,pdf} mkdir -p $respin/logs/data mkdir -p $respin/obj mkdir -p $respin/pkg pushd $respin/src [[ -d zlib ]] || (tar xjf $scratch/arc/zlib-$csVer.tar.bz2 && mv zlib-* zlib) [[ -d gmp ]] || (tar xjf $scratch/arc/gmp-$csVer.tar.bz2 && mv gmp-* gmp) [[ -d mpfr ]] || (tar xjf $scratch/arc/mpfr-$csVer.tar.bz2 && mv mpfr-* mpfr) [[ -d mpc ]] || (tar xjf $scratch/arc/mpc-$csVer.tar.bz2 && mv mpc-* mpc) [[ -d ppl ]] || (tar xjf $scratch/arc/ppl-$csVer.tar.bz2 && mv ppl-* ppl) [[ -d cloog ]] || (tar xjf $scratch/arc/cloog-$csVer.tar.bz2 && mv cloog-* cloog) [[ -d libelf ]] || (tar xjf $scratch/arc/libelf-$csVer.tar.bz2 && mv libelf-* libelf) [[ -d binutils ]] || (tar xjf $scratch/arc/binutils-$csVer.tar.bz2 && mv binutils-* binutils) [[ -d newlib ]] || (tar xjf $scratch/arc/newlib-$csVer.tar.bz2 && mv newlib-* newlib) [[ -d expat ]] || (tar xjf $scratch/arc/expat-$csVer.tar.bz2 && mv expat-* expat) [[ -d gdb ]] || (tar xjf $scratch/arc/gdb-$csVer.tar.bz2 && mv gdb-* gdb) if ! [[ -d gcc ]]; then tar xjf $scratch/arc/gcc-$csVer.tar.bz2 && mv gcc-* gcc pushd gcc xzcat $orgDir/Gcc-4.5.2-4.5.3.patch.xz | patch -p1 popd fi popd popenv echo task [002/059] /init/cleanup pushenv pushenvvar CC_FOR_BUILD $hostCc popenv echo task [003/059] /$hostString/host_cleanup pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin popenv echo task [004/059] /$hostString/zlib_first/copy pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin rm -rf $respin/obj/zlibFirst copy_dir_clean $respin/src/zlib $respin/obj/zlibFirst chmod -R u+w $respin/obj/zlibFirst popenv echo task [005/059] /$hostString/zlib_first/configure pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushd $respin/obj/zlibFirst pushenv pushenvvar CC "$hostCc " pushenvvar AR "ar rc" pushenvvar RANLIB $hostRanlib ./configure --prefix=$hostPrefix popenv popd popenv echo task [006/059] /$hostString/zlib_first/build pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushd $respin/obj/zlibFirst $makej popd popenv echo task [007/059] /$hostString/zlib_first/install pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushd $respin/obj/zlibFirst make install popd popenv echo task [008/059] /$hostString/gmp/configure pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CFLAGS '-g -O2' rm -rf $respin/obj/gmp mkdir -p $respin/obj/gmp pushd $respin/obj/gmp $respin/src/gmp/configure --build="$hostString" \ --target="$hostString" \ --prefix=$hostPrefix --disable-shared \ --host="$hostString" \ --enable-cxx --disable-nls popd popenv popenv popenv echo task [009/059] /$hostString/gmp/build pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CFLAGS '-g -O2' pushd $respin/obj/gmp $makej popd popenv popenv popenv echo task [010/059] /$hostString/gmp/install pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CFLAGS '-g -O2' pushd $respin/obj/gmp make install popd popenv popenv popenv echo task [011/059] /$hostString/gmp/postinstall pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CFLAGS '-g -O2' pushd $respin/obj/gmp make check popd popenv popenv popenv echo task [012/059] /$hostString/mpfr/configure pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv rm -rf $respin/obj/mpfr mkdir -p $respin/obj/mpfr pushd $respin/obj/mpfr $respin/src/mpfr/configure --build=$hostString --target=$ane \ --prefix=$hostPrefix --disable-shared --host=$hostString \ --disable-nls --with-gmp=$hostPrefix popd popenv popenv popenv echo task [013/059] /$hostString/mpfr/build pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd $respin/obj/mpfr $makej popd popenv popenv popenv echo task [014/059] /$hostString/mpfr/install pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd $respin/obj/mpfr make install popd popenv popenv popenv echo task [015/059] /$hostString/mpfr/postinstall pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd $respin/obj/mpfr make check popd popenv popenv popenv echo task [016/059] /$hostString/mpc/configure pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv rm -rf $respin/obj/mpc mkdir -p $respin/obj/mpc pushd $respin/obj/mpc $respin/src/mpc/configure --build=$hostString --target=$ane \ --prefix=$hostPrefix --disable-shared --host=$hostString \ --disable-nls --with-gmp=$hostPrefix --with-mpfr=$hostPrefix popd popenv popenv popenv echo task [017/059] /$hostString/mpc/build pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd $respin/obj/mpc $makej popd popenv popenv popenv echo task [018/059] /$hostString/mpc/install pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd $respin/obj/mpc make install popd popenv popenv popenv echo task [019/059] /$hostString/mpc/postinstall pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd $respin/obj/mpc make check popd popenv popenv popenv echo task [020/059] /$hostString/ppl/configure pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv rm -rf $respin/obj/ppl mkdir -p $respin/obj/ppl pushd $respin/obj/ppl $respin/src/ppl/configure --build=$hostString --target=$ane \ --prefix=$hostPrefix --disable-shared --host=$hostString \ --disable-nls --with-libgmp-prefix=$hostPrefix popd popenv popenv popenv echo task [021/059] /$hostString/ppl/build pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd $respin/obj/ppl $makej popd popenv popenv popenv echo task [022/059] /$hostString/ppl/install pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd $respin/obj/ppl make install popd popenv popenv popenv echo task [023/059] /$hostString/cloog/configure pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv rm -rf $respin/obj/cloog mkdir -p $respin/obj/cloog pushd $respin/obj/cloog $respin/src/cloog/configure --build=$hostString --target=$ane \ --prefix=$hostPrefix --disable-shared --host=$hostString \ --disable-nls --with-ppl=$hostPrefix --with-gmp=$hostPrefix popd popenv popenv popenv echo task [024/059] /$hostString/cloog/build pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd $respin/obj/cloog $makej popd popenv popenv popenv echo task [025/059] /$hostString/cloog/install pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd $respin/obj/cloog make install popd popenv popenv popenv echo task [026/059] /$hostString/cloog/postinstall pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd $respin/obj/cloog make check popd popenv popenv popenv echo task [027/059] /$hostString/libelf/configure pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv rm -rf "$respin/obj/libelf" mkdir -p "$respin/obj/libelf" pushd "$respin/obj/libelf" $respin/src/libelf/configure --build="$hostString" --target=$ane \ --prefix=$hostPrefix --disable-shared --host="$hostString" \ --disable-nls popd popenv popenv popenv echo task [028/059] /$hostString/libelf/build pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd "$respin/obj/libelf" $makej popd popenv popenv popenv echo task [029/059] /$hostString/libelf/install pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd "$respin/obj/libelf" make install popd popenv popenv popenv echo task [030/059] /$hostString/toolchain/binutils/copy pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CPPFLAGS -I$hostPrefix/include pushenvvar LDFLAGS -L$hostPrefix/lib rm -rf $respin/obj/binutils-src copy_dir_clean $respin/src/binutils $respin/obj/binutils-src chmod -R u+w $respin/obj/binutils-src touch $respin/obj/binutils-src/.gnu-stamp popenv popenv popenv echo task [031/059] /$hostString/toolchain/binutils/configure pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CPPFLAGS -I$hostPrefix/include pushenvvar LDFLAGS -L$hostPrefix/lib rm -rf $respin/obj/binutils mkdir -p $respin/obj/binutils pushd $respin/obj/binutils $respin/obj/binutils-src/configure --build=$hostString \ --target=$ane --prefix=/opt/codesourcery --host=$hostString \ --with-pkgversion="PlugComputer G++ Lite $ver" --disable-nls \ --with-sysroot=/opt/codesourcery/$ane \ --disable-werror \ --enable-poison-system-directories popd popenv popenv popenv echo task [032/059] /$hostString/toolchain/binutils/build pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CPPFLAGS -I$hostPrefix/include pushenvvar LDFLAGS -L$hostPrefix/lib pushd $respin/obj/binutils $makej popd popenv popenv popenv echo task [033/059] /$hostString/toolchain/binutils/install pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CPPFLAGS -I$hostPrefix/include pushenvvar LDFLAGS -L$hostPrefix/lib pushd $respin/obj/binutils make install prefix=$respin/install exec_prefix=$respin/install \ libdir=$respin/install/lib \ htmldir=$respin/install/share/doc/arm-$ane/html \ pdfdir=$respin/install/share/doc/arm-$ane/pdf \ infodir=$respin/install/share/doc/arm-$ane/info \ mandir=$respin/install/share/doc/arm-$ane/man \ datadir=$respin/install/share popd popenv popenv popenv echo task [034/059] /$hostString/toolchain/binutils/postinstall pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CPPFLAGS -I$hostPrefix/include pushenvvar LDFLAGS -L$hostPrefix/lib pushd $respin/install [[ ! -f ./lib64/libiberty.a ]] || rm ./lib64/libiberty.a [[ ! -f ./lib/libiberty.a ]] || rm ./lib/libiberty.a [[ ! -d ./lib64 ]] || rmdir ./lib64 [[ ! -d ./lib ]] || rmdir ./lib popd copy_dir_clean $respin/src/binutils/include $respin/out/host-binutils/usr/include chmod -R u+w $respin/out/host-binutils/usr/include mkdir -p $respin/out/host-binutils/usr/lib cp $respin/obj/binutils/libiberty/libiberty.a $respin/out/host-binutils/usr/lib cp $respin/obj/binutils/bfd/.libs/libbfd.a $respin/out/host-binutils/usr/lib cp $respin/obj/binutils/bfd/bfd.h $respin/out/host-binutils/usr/include cp $respin/src/binutils/bfd/elf-bfd.h $respin/out/host-binutils/usr/include cp $respin/obj/binutils/opcodes/.libs/libopcodes.a $respin/out/host-binutils/usr/lib popenv popenv popenv #fi # EndBlock echo task [035/059] /$hostString/toolchain/gcc_first/configure pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenvvar AR_FOR_TARGET $ane-ar pushenvvar NM_FOR_TARGET $ane-nm pushenvvar OBJDUMP_FOR_TARET $ane-objdump pushenvvar STRIP_FOR_TARGET $ane-strip rm -rf $respin/obj/gccFirst mkdir -p $respin/obj/gccFirst pushd $respin/obj/gccFirst $respin/src/gcc/configure --build=$hostString --host=$hostString \ --target=$ane --enable-threads --disable-libmudflap --disable-libssp \ --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs --with-gnu-as \ --with-gnu-ld \ --with-specs='%{save-temps: -fverbose-asm} -D__CS_SOURCERYGXX_MAJ__=2010 -D__CS_SOURCERYGXX_MIN__=9 -D__CS_SOURCERYGXX_REV__=51 %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}' \ --enable-languages=c,c++ --disable-shared --enable-lto --with-newlib \ --with-pkgversion="PlugComputer G++ Lite $ver" --disable-nls \ --prefix=/opt/codesourcery --disable-shared --disable-threads \ --disable-libssp --disable-libgomp --without-headers --with-newlib \ --disable-decimal-float --disable-libffi --enable-languages=c \ --with-sysroot=/opt/codesourcery/$ane \ --with-build-sysroot="$respin/install/$ane" \ --with-gmp=$hostPrefix --with-mpfr=$hostPrefix \ --with-mpc=$hostPrefix --with-ppl=$hostPrefix \ --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' \ --with-cloog=$hostPrefix --with-libelf=$hostPrefix --disable-libgomp \ --enable-poison-system-directories \ --with-build-time-tools="$respin/install/$ane/bin" \ --with-build-time-tools="$respin/install/$ane/bin" popd popenv popenv echo task [036/059] /$hostString/toolchain/gcc_first/build pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenvvar AR_FOR_TARGET $ane-ar pushenvvar NM_FOR_TARGET $ane-nm pushenvvar OBJDUMP_FOR_TARET $ane-objdump pushenvvar STRIP_FOR_TARGET $ane-strip pushd $respin/obj/gccFirst $makej LDFLAGS_FOR_TARGET=--sysroot=$respin/install/$ane \ CPPFLAGS_FOR_TARGET=--sysroot=$respin/install/$ane \ build_tooldir=$respin/install/$ane popd popenv popenv echo task [037/059] /$hostString/toolchain/gcc_first/install pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenvvar AR_FOR_TARGET $ane-ar pushenvvar NM_FOR_TARGET $ane-nm pushenvvar OBJDUMP_FOR_TARET $ane-objdump pushenvvar STRIP_FOR_TARGET $ane-strip pushd $respin/obj/gccFirst make prefix=$respin/install exec_prefix=$respin/install libdir=$respin/install/lib \ htmldir=$respin/install/share/doc/arm-$ane/html \ pdfdir=$respin/install/share/doc/arm-$ane/pdf \ infodir=$respin/install/share/doc/arm-$ane/info \ mandir=$respin/install/share/doc/arm-$ane/man install popd popenv popenv echo task [038/059] /$hostString/toolchain/gcc_first/postinstall pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenvvar AR_FOR_TARGET $ane-ar pushenvvar NM_FOR_TARGET $ane-nm pushenvvar OBJDUMP_FOR_TARET $ane-objdump pushenvvar STRIP_FOR_TARGET $ane-strip pushd $respin/install rm bin/$ane-gccbug [[ ! -f ./lib64/libiberty.a ]] || rm ./lib64/libiberty.a [[ ! -f ./lib/libiberty.a ]] || rm ./lib/libiberty.a rmdir include popd popenv popenv echo task [039/059] /$hostString/toolchain/newlib/configure pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CFLAGS_FOR_TARGET '-g -O2 -fno-unroll-loops' rm -rf $respin/obj/newlib mkdir -p $respin/obj/newlib pushd $respin/obj/newlib $respin/src/newlib/configure --build="$hostString" --target=$ane \ --prefix=/opt/codesourcery --host="$hostString" \ --enable-newlib-io-long-long --disable-newlib-supplied-syscalls \ --disable-libgloss --disable-newlib-supplied-syscalls --disable-nls popd popenv popenv popenv echo task [040/059] /$hostString/toolchain/newlib/build pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CFLAGS_FOR_TARGET '-g -O2 -fno-unroll-loops' pushd $respin/obj/newlib $makej popd popenv popenv popenv echo task [041/059] /$hostString/toolchain/newlib/install pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CFLAGS_FOR_TARGET '-g -O2 -fno-unroll-loops' pushd $respin/obj/newlib make install prefix=$respin/install exec_prefix=$respin/install libdir=$respin/install/lib \ htmldir=$respin/install/share/doc/arm-$ane/html \ pdfdir=$respin/install/share/doc/arm-$ane/pdf \ infodir=$respin/install/share/doc/arm-$ane/info \ mandir=$respin/install/share/doc/arm-$ane/man \ datadir=$respin/install/share popd popenv popenv popenv echo task [042/059] /$hostString/toolchain/newlib/postinstall pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CFLAGS_FOR_TARGET '-g -O2 -fno-unroll-loops' pushd $respin/obj/newlib make pdf mkdir -p $respin/install/share/doc/arm-$ane/pdf cp $respin/obj/newlib/$ane/newlib/libc/libc.pdf \ $respin/install/share/doc/arm-$ane/pdf/libc.pdf mkdir -p $respin/install/share/doc/arm-$ane/pdf cp $respin/obj/newlib/$ane/newlib/libm/libm.pdf \ $respin/install/share/doc/arm-$ane/pdf/libm.pdf make html mkdir -p $respin/install/share/doc/arm-$ane/html copy_dir $respin/obj/newlib/$ane/newlib/libc/libc.html \ $respin/install/share/doc/arm-$ane/html/libc mkdir -p $respin/install/share/doc/arm-$ane/html copy_dir $respin/obj/newlib/$ane/newlib/libm/libm.html \ $respin/install/share/doc/arm-$ane/html/libm popd popenv popenv popenv echo task [043/059] /$hostString/toolchain/gcc_final/configure pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenvvar AR_FOR_TARGET $ane-ar pushenvvar NM_FOR_TARGET $ane-nm pushenvvar OBJDUMP_FOR_TARET $ane-objdump pushenvvar STRIP_FOR_TARGET $ane-strip rm -f $respin/install/$ane/usr ln -s . $respin/install/$ane/usr rm -rf $respin/obj/gcc mkdir -p $respin/obj/gcc pushd $respin/obj/gcc $respin/src/gcc/configure --build=$hostString --host=$hostString \ --target=$ane --enable-threads --disable-libmudflap --disable-libssp \ --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs --with-gnu-as \ --with-gnu-ld \ --with-specs='%{save-temps: -fverbose-asm} -D__CS_SOURCERYGXX_MAJ__=2010 -D__CS_SOURCERYGXX_MIN__=9 -D__CS_SOURCERYGXX_REV__=51 %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}' \ --enable-languages=c,c++ --disable-shared --enable-lto --with-newlib \ --with-pkgversion="PlugComputer G++ $ver" \ --disable-nls --prefix=/opt/codesourcery --with-headers=yes \ --with-sysroot=/opt/codesourcery/$ane \ --with-build-sysroot="$respin/install/$ane" \ --with-gmp=$hostPrefix --with-mpfr=$hostPrefix \ --with-mpc=$hostPrefix --with-ppl=$hostPrefix \ --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' \ --with-cloog=$hostPrefix --with-libelf=$hostPrefix \ --disable-libgomp --enable-poison-system-directories \ --with-build-time-tools="$respin/install/$ane/bin" \ --with-build-time-tools="$respin/install/$ane/bin" popd popenv popenv echo task [044/059] /$hostString/toolchain/gcc_final/build pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenvvar AR_FOR_TARGET $ane-ar pushenvvar NM_FOR_TARGET $ane-nm pushenvvar OBJDUMP_FOR_TARET $ane-objdump pushenvvar STRIP_FOR_TARGET $ane-strip rm -f $respin/install/$ane/usr ln -s . $respin/install/$ane/usr pushd $respin/obj/gcc $makej LDFLAGS_FOR_TARGET=--sysroot=$respin/install/$ane \ CPPFLAGS_FOR_TARGET=--sysroot=$respin/install/$ane \ build_tooldir=$respin/install/$ane popd popenv popenv echo task [045/059] /$hostString/toolchain/gcc_final/install pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenvvar AR_FOR_TARGET $ane-ar pushenvvar NM_FOR_TARGET $ane-nm pushenvvar OBJDUMP_FOR_TARET $ane-objdump pushenvvar STRIP_FOR_TARGET $ane-strip rm -f $respin/install/$ane/usr ln -s . $respin/install/$ane/usr pushd $respin/obj/gcc make prefix=$respin/install exec_prefix=$respin/install \ libdir=$respin/install/lib \ htmldir=$respin/install/share/doc/arm-$ane/html \ pdfdir=$respin/install/share/doc/arm-$ane/pdf \ infodir=$respin/install/share/doc/arm-$ane/info \ mandir=$respin/install/share/doc/arm-$ane/man install popd popenv popenv echo task [046/059] /$hostString/toolchain/gcc_final/postinstall pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenvvar AR_FOR_TARGET $ane-ar pushenvvar NM_FOR_TARGET $ane-nm pushenvvar OBJDUMP_FOR_TARET $ane-objdump pushenvvar STRIP_FOR_TARGET $ane-strip pushd $respin/install rm bin/$ane-gccbug [[ ! -f ./lib64/libiberty.a ]] || rm ./lib64/libiberty.a [[ ! -f ./lib/libiberty.a ]] || rm ./lib/libiberty.a rm ./$ane/lib/libiberty.a rm ./$ane/lib/thumb2/libiberty.a rm ./$ane/lib/thumb/libiberty.a rm ./$ane/lib/armv6-m/libiberty.a rmdir include popd rm -f $respin/install/$ane/usr popenv popenv echo task [047/059] /$hostString/toolchain/zlib/0/copy pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin rm -rf $respin/obj/zlib copy_dir_clean $respin/src/zlib $respin/obj/zlib chmod -R u+w $respin/obj/zlib popenv echo task [048/059] /$hostString/toolchain/zlib/0/configure pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushd $respin/obj/zlib pushenv pushenvvar CC "$hostCc " pushenvvar AR "ar rc" pushenvvar RANLIB $hostRanlib ./configure --prefix=$hostPrefix popenv popd popenv echo task [049/059] /$hostString/toolchain/zlib/0/build pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushd $respin/obj/zlib $makej popd popenv echo task [050/059] /$hostString/toolchain/zlib/0/install pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushd $respin/obj/zlib make install popd popenv echo task [051/059] /$hostString/toolchain/expat/0/configure pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv rm -rf $respin/obj/expat mkdir -p $respin/obj/expat pushd $respin/obj/expat $respin/src/expat/configure --build=$hostString --target=$ane \ --prefix=$hostPrefix --disable-shared --host=$hostString \ --disable-nls popd popenv popenv popenv echo task [052/059] /$hostString/toolchain/expat/0/build pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd $respin/obj/expat $makej popd popenv popenv popenv echo task [053/059] /$hostString/toolchain/expat/0/install pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushd $respin/obj/expat make install popd popenv popenv popenv echo task [054/059] /$hostString/toolchain/gdb/0/copy pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CPPFLAGS -I$hostPrefix/include pushenvvar LDFLAGS -L$hostPrefix/lib rm -rf $respin/obj/gdb-src copy_dir_clean $respin/src/gdb $respin/obj/gdb-src chmod -R u+w $respin/obj/gdb-src touch $respin/obj/gdb-src/.gnu-stamp popenv popenv popenv echo task [055/059] /$hostString/toolchain/gdb/0/configure pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CPPFLAGS -I$hostPrefix/include pushenvvar LDFLAGS -L$hostPrefix/lib rm -rf $respin/obj/gdb mkdir -p $respin/obj/gdb pushd $respin/obj/gdb $respin/obj/gdb-src/configure --build=$hostString \ --target=$ane --prefix=/opt/codesourcery --host=$hostString \ --with-pkgversion="PlugComputer G++ Lite $ver" --disable-nls \ --with-libexpat-prefix=$hostPrefix \ --with-system-gdbinit=/opt/codesourcery/$hostString/$ane/lib/gdbinit popd popenv popenv popenv echo task [056/059] /$hostString/toolchain/gdb/0/build pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CPPFLAGS -I$hostPrefix/include pushenvvar LDFLAGS -L$hostPrefix/lib pushd $respin/obj/gdb $makej popd popenv popenv popenv echo task [057/059] /$hostString/toolchain/gdb/0/install pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CPPFLAGS -I$hostPrefix/include pushenvvar LDFLAGS -L$hostPrefix/lib pushd $respin/obj/gdb make install prefix=$respin/install exec_prefix=$respin/install libdir=$respin/install/lib \ htmldir=$respin/install/share/doc/arm-$ane/html \ pdfdir=$respin/install/share/doc/arm-$ane/pdf \ infodir=$respin/install/share/doc/arm-$ane/info \ mandir=$respin/install/share/doc/arm-$ane/man \ datadir=$respin/install/share popd popenv popenv popenv echo task [058/059] /$hostString/toolchain/gdb/0/postinstall pushenv pushenvvar CC_FOR_BUILD $hostCc pushenvvar CC $hostCc pushenvvar CXX $hostCxx pushenvvar AR $hostAr pushenvvar RANLIB $hostRanlib prepend_path PATH $respin/install/bin pushenv pushenv pushenvvar CPPFLAGS -I$hostPrefix/include pushenvvar LDFLAGS -L$hostPrefix/lib popenv popenv popenv echo task [059/059] /$hostString/createarchive pushd $respin/install/bin rm $ane-gcc $ane-c++ ln -s $ane-gcc-4* $ane-gcc ln -s $ane-g++ $ane-c++ pushd .. mkdir -p $scratch/$hostString-$ane-$ver cp -a * $scratch/$hostString-$ane-$ver pushd $scratch tar cjf PlugToolChain-$hostString-$ane-$ver.tar.bz2 $hostString-$ane-$ver rm -rf $scratch/$hostString-$ane-$ver mv PlugToolChain-$hostString-$ane-$ver.tar.bz2 $orgDir popd popd popd echo echo "*************************************************************************" echo "Finished building PlugToolChain-$hostString-$ane-$ver.tar.bz2" echo "*************************************************************************"