On Fri, Mar 28, 2008 at 11:50:02PM +0100, Hector Oron wrote: >Hello Bernhard, > > I hope you do not mind if I CC to debian-embedded :-) np > > Let me explain a bit what buildcross is about. As i did not know >much about toolchains, i started to do my own experiments, so i coded >buildcross. Now, buildcross is meant to build cross toolchains for >emdebian.org, all official arches. > > Buildcross method > --------------------------- > > Buildcross builds libraries (libc6, libc6-dev, libgcc1, >gcc-4.x-base) using apt-cross (dpkg-cross). Then it builds binutils >from source and finally gcc from source. The tricky part is to update >Debian build system with tested patches so all cross toolchains build >without errors. Right now, all 32/64bit arches (including triarch >mips(el)) are borked.
Right now, are they just borked for 4.3, i.e. does 4.2 work? > > If you plan to update buildcross, please use branch/ code instead >trunk/, there are still some ugly parts that can be reworked and >finished. Ok, please consider attached cleanup then.. > > Some other interesting scripts are emchain that is meant to build a >user toolchain following buildcross method but for the arch that the >user wants. Ok, I'll get to this later.
Index: buildcross/branch/buildcross =================================================================== --- buildcross/branch/buildcross (revision 3261) +++ buildcross/branch/buildcross (working copy) @@ -1,7 +1,7 @@ -#!/bin/bash +#!/bin/sh # $Header: /var/emdebian/svn/tools/buildcross/branch/buildcross,v 0.3 2007/07/18 01:10:03 zumbi Exp $ # -# Copyright (C) 2000, 2007 Emdebian <[email protected]> +# Copyright (C) 2000, 2007, 2008 Emdebian <[email protected]> # # This program should call buildcross to build a certain outdated # package. It runs buildcross in a modular way. This program should @@ -36,26 +36,52 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # -# Distributed under the terms of the GNU General Public License v2 +# Distributed under the terms of the GNU General Public License v2 or, at your opinion, any later version. source conf_vars.sh -if [ ! -d $LOGPATH ]; then - mkdir -p $LOGPATH -fi +print_help=0 +print_version=0 +do_quiet=0 +do_background=0 +ME=`echo $0 | sed -e 's/.*\///'` -usage(){ - echo "Usage: ${0##*/} [OPTION]" +while [ -n "$1" ]; do + case $1 in + -v) + print_version=1 + shift + ;; + -b) + do_background=1 + shift + ;; + -c) + do_quiet=1 + shift + ;; + -d) + # normal mode + shift + ;; + *) + print_help=1 + shift + ;; + esac +done +if [ $print_help -eq 1 ]; then + echo "Usage: $ME [OPTION]" echo "Build Debian cross toolchain system." - echo - cat << EOF - -h displays this help - -v displays version number - -b no output, runs completely on background + cat <<-EOF + + -h display this help + -v display version number + -b no output, runs completely in the background WARNING: You can not stop it, just using kill. - If you are in a chroot beware proc is mounted. - -c no output mode - -d Show output. Recommended for first time. + If you are in a chroot make sure proc is mounted. + -c Be quiet, no output + -d Show output. Recommended for first time. This is the default. Check log.html file (bug: libs always is marked as failed) All log info is under logs/ @@ -66,39 +92,25 @@ 3: package built EOF -} + exit 0 +elif [ $print_version -eq 1 ]; then + echo "@VERSION@" + exit 0 +fi +if [ ! -d $LOGPATH ]; then + mkdir -p $LOGPATH +fi -if [ $# != 0 ]; then - while true; do - case $1 in - -h) - usage - exit 0 - ;; - -v) - echo "Version: 0.2-v" - shift - ;; - -b) - echo "Buildcross has no output with -b option, so it runs on background." - echo "Check file.html when time is displayed" - # time ./em_wrap.sh &> $LOGPATH/build.log & - shift - ;; - -c) - # time ./em_wrap.sh &> $LOGPATH/build.log - echo "Version: 0.2-c" - shift - ;; - -d) - # time ./em_wrap.sh | tee $LOGPATH/build.log - echo "Version: 0.2-d" - shift - ;; - *) - break - ;; - esac - done +if [ $do_background -ne 0 ]; then + echo "Running in the background." + echo "Check file.html when time is displayed" + time ./em_wrap.sh &> $LOGPATH/build.log & +elif [ $do_quiet -ne 0 ]; then + time ./em_wrap.sh 2>&1 >& $LOGPATH/build.log + exit $? +else + time ./em_wrap.sh 2>&1 >&1 | tee $LOGPATH/build.log + exit $? fi + Index: buildcross/branch/Makefile =================================================================== --- buildcross/branch/Makefile (revision 3261) +++ buildcross/branch/Makefile (working copy) @@ -14,6 +14,6 @@ sed 's/@VERSION@/$(VERSION)/g' buildcross >$(DESTDIR)/usr/sbin/buildcross - chown root:root $(DESTDIR)/usr/sbin/buildcross + chown 0:0 $(DESTDIR)/usr/sbin/buildcross chmod 0755 $(DESTDIR)/usr/sbin/buildcross

