Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Matteo Fortini <matteo.fortini@mta.it>
To: Khem Raj <raj.khem@gmail.com>
Cc: "openembedded-devel@openembedded.org"
	<openembedded-devel@openembedded.org>
Subject: Re: nof/libgcc_s.so installed instead of libgcc_s.so on powerpc
Date: Thu, 18 Jun 2009 17:17:24 +0200	[thread overview]
Message-ID: <4A3A5A84.6090602@mta.it> (raw)
In-Reply-To: <200906172309.40571.raj.khem@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 99025 bytes --]

Here it is

Thx,
Matteo



Khem Raj ha scritto:
> On Monday 15 June 2009 08:21:09 am Matteo Fortini wrote:
>   
>> I'm building on i686 a cross compiler for the mpc5121.
>>
>> The machine description I'm using is:
>>
>> TARGET_ARCH = "powerpc"
>> TARGET_FPU = "hard"
>>     
>
> Seems like we are missing right multilib option. Can you post
> your complete gcc build log and configure options.
>
> Thx
>
> -Khem
> .
>
>   

-- 
 
 
#!/bin/sh -e
export localstatedir="/opt/OE/build/tmp.1/cross/ppce300c3/var"

export prefix="/opt/OE/build/tmp.1/cross/ppce300c3"

export CPP="gcc -E"

export mandir="/opt/OE/build/tmp.1/cross/ppce300c3/share/man"

export STRIP="strip"

export STAGING_SIPDIR="/opt/OE/build/tmp.1/staging/i686-linux/usr/share/sip"

export CONFIG_SITE="/opt/OE/org.cnh_fred.dev/site/endian-little /opt/OE/org.cnh_fred.dev/site/common-linux /opt/OE/org.cnh_fred.dev/site/common-glibc /opt/OE/org.cnh_fred.dev/site/ix86-common /opt/OE/org.cnh_fred.dev/site/common /opt/OE/org.cnh_fred.dev/site/common"

export BUILD_CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2 -fpermissive"

export OBJCOPY="objcopy"

export AR="ar"

export AS="as"

export PSTAGING_ACTIVE="1"

export libexecdir="/opt/OE/build/tmp.1/cross/ppce300c3/libexec"

export RANLIB="ranlib"

export QTDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux/qt2"

export datadir="/opt/OE/build/tmp.1/cross/ppce300c3/share"

export BUILD_CXX="ccache g++"

export SDK_LDFLAGS="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"

export LD="ld"

export LDFLAGS="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"

export TARGET_CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 -fpermissive"

export MAKE="make"

export includedir="/opt/OE/build/tmp.1/cross/ppce300c3/include"

export TARGET_CPPFLAGS="-isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include"

export BUILD_CC="ccache gcc"

export BUILD_LDFLAGS="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"

unset TARGET_ARCH

export CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"

export STAGING_IDLDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/idl"

export BUILD_F77="ccache g77"

export bindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"

export OBJDUMP="objdump"

export BUILD_LD="ld"

export exec_prefix="/opt/OE/build/tmp.1/cross/ppce300c3"

export oldincludedir="/opt/OE/build/tmp.1/cross/ppce300c3/include"

export CCLD="ccache gcc"

export SHELLCMDS="bash --rcfile $TERMRCFILE"

export QPEDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux"

export BUILD_CCLD="gcc"

export base_libdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib"

export PATH="/opt/OE/build/tmp.1/staging/i686-linux/usr/bin/ppce300c3-linux:/opt/OE/build/tmp.1/staging/i686-linux/usr/bin/ppce300c3-linux:/opt/OE/build/tmp.1/staging/i686-linux/usr/sbin:/opt/OE/build/tmp.1/staging/i686-linux/usr/bin:/opt/OE/build/tmp.1/cross/ppce300c3/bin:/opt/OE/build/tmp.1/staging/i686-linux/sbin:/opt/OE/build/tmp.1/staging/i686-linux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

export TARGET_CFLAGS="-isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2"

export base_bindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"

export servicedir="/opt/OE/build/tmp.1/cross/ppce300c3/srv"

export BUILD_CPP="cpp"

export SDK_CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 -fpermissive"

export sbindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"

export SDK_CFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2"

export BUILD_AR="ar"

export sharedstatedir="/opt/OE/build/tmp.1/cross/ppce300c3/com"

export F77="ccache g77"

export XDG_DATA_DIRS="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share"

export BUILD_CFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"

export QMAKE_MKSPEC_PATH="/opt/OE/build/tmp.1/staging/i686-linux/usr/share/qmake"

export PKG_CONFIG_DIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig"

export infodir="/opt/OE/build/tmp.1/cross/ppce300c3/share/info"

export libdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib"

export OPIEDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux"

export base_prefix="/opt/OE/build/tmp.1/cross/ppce300c3"

export CC="ccache gcc"

export TARGET_LDFLAGS="-L/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib -Wl,-O1 -Wl,--hash-style=gnu"

export docdir="/opt/OE/build/tmp.1/cross/ppce300c3/share/doc"

export palmqtdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib/opie"

unset DISTRO

export base_sbindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"

export CXX="ccache g++"

export PKG_CONFIG_DISABLE_UNINSTALLED="yes"

export PKG_CONFIG_SYSROOT_DIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux"

export PKG_CONFIG_PATH="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig:/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/pkgconfig"

unset MACHINE

export palmtopdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib/opie"

export PATCH_GET="0"

export MANIFEST="/opt/OE/org.cnh_fred.dev/recipes/gcc/gcc-4.2.4/manifest"

export SDK_CPPFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include"

export BUILD_STRIP="strip"

export CFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"

export BUILD_RANLIB="ranlib"

export sysconfdir="/opt/OE/build/tmp.1/cross/ppce300c3/etc"

export BUILD_CPPFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include"

do_fetchall() {
	base_do_fetchall

}

base_do_checkuriall() {
	:

}

populate_staging_preamble() {
	if [ "$PSTAGING_ACTIVE" = "1" ]; then
		stage-manager -p /opt/OE/build/tmp.1/staging -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-staging -u || true
		stage-manager -p /opt/OE/build/tmp.1/cross/ppce300c3 -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-cross -u || true
	fi

}

base_do_install() {
	:

}

do_stage() {
	oe_runmake install
	for d in info man share/doc share/locale ; do
		rm -rf /opt/OE/build/tmp.1/cross/ppce300c3/$d
	done

	# Fix a few include links so cross builds are happier
	if [ ! -e /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include/c++ ]; then
		mkdir -p /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include
		mkdir -p /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/include/c++
		ln -sf /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/include/c++ \
			/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include/
	fi

	# We use libiberty from binutils
	rm -f /opt/OE/build/tmp.1/cross/ppce300c3/lib/libiberty.a

	# We probably don't need these
	rmdir /opt/OE/build/tmp.1/cross/ppce300c3/include || :

	# We don't really need to keep this around
	# rm -rf /opt/OE/build/tmp.1/cross/ppce300c3/share but leave java there
	for d in share/man share/info;
	do
		rm -rf /opt/OE/build/tmp.1/cross/ppce300c3/$d
	done

	#fix up libsupc++ and libstdc++ la files
	for d in lib lib/nof; do
		sed -i "s|dependency_libs\s*=\s*.*|dependency_libs='-L/opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d -lgcc_s -lc -lm '|" /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d/libsupc++.la || true
		sed -i "s|dependency_libs\s*=\s*.*|dependency_libs='-L/opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d -lgcc_s -lc -lm '|" /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d/libstdc++.la || true
	done

}

base_do_package() {
	:

}

autotools_do_install() {
	oe_runmake 'DESTDIR=/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image' install

}

oe_machinstall() {
	# Purpose: Install machine dependent files, if available
	#          If not available, check if there is a default
	#          If no default, just touch the destination
	# Example:
	#                $1  $2   $3         $4
	# oe_machinstall -m 0644 fstab /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/etc/fstab
	#
	# TODO: Check argument number?
	#
	filename=`basename $3`
	dirname=`dirname $3`

	for o in `echo task-compile:local:mpc5121:fred:linux:powerpc:build-linux:fail-fast:pn-gcc-cross | tr ':' ' '`; do
		if [ -e $dirname/$o/$filename ]; then
			oenote $dirname/$o/$filename present, installing to $4
			install $1 $2 $dirname/$o/$filename $4
			return
		fi
	done
#	oenote overrides specific file NOT present, trying default=$3...
	if [ -e $3 ]; then
		oenote $3 present, installing to $4
		install $1 $2 $3 $4
	else
		oenote $3 NOT present, touching empty $4
		touch $4
	fi

}

package_stagefile_shell() {
	if [ "$PSTAGING_ACTIVE" = "1" ]; then
		srcfile=$1
		destfile=`echo $srcfile | sed s#/opt/OE/build/tmp.1#/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg#`
		destdir=`dirname $destfile`
		mkdir -p $destdir
		cp -dp $srcfile $destfile
	fi

}

die() {
	oefatal "$*"

}

base_do_buildall() {
	:

}

do_configure() {
	# Setup these vars for cross building only
	# ... because foo_FOR_TARGET apparently gets misinterpreted inside the
	# gcc build stuff when the build is producing a cross compiler - i.e.
	# when the 'current' target is the 'host' system, and the host is not
	# the target (because the build is actually making a cross compiler!)
	if [ "i686-linux" != "i686-linux" ]; then
		export CC_FOR_TARGET="ccache gcc "
		export GCC_FOR_TARGET="ccache gcc "
		export CXX_FOR_TARGET="ccache g++ "
		export AS_FOR_TARGET="as"
		export LD_FOR_TARGET="ld"
		export NM_FOR_TARGET="nm"
		export AR_FOR_TARGET="ar"
		export GFORTRAN_FOR_TARGET="gfortran"
		export RANLIB_FOR_TARGET="ranlib"
	fi
	export CC_FOR_BUILD="ccache gcc "
	export CXX_FOR_BUILD="ccache g++ "
	export CFLAGS_FOR_BUILD="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"
	export CPPFLAGS_FOR_BUILD="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include"
	export CXXFLAGS_FOR_BUILD="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2 -fpermissive"
	export LDFLAGS_FOR_BUILD="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"
	export ARCH_FLAGS_FOR_TARGET="-mcpu=e300c3 -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include"
	(cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4 && gnu-configize) || die "failure running gnu-configize"

	# splice our idea of where the headers live into gcc's world
	echo "NATIVE_SYSTEM_HEADER_DIR = /usr/include" > /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp/t-oe
	sed 's%^tmake_file=.*$%& /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp/t-oe%' < /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in >/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in.new
	mv /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in.new /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in

	echo "#define STANDARD_INCLUDE_DIR \"/usr/include\"" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/defaults.h

	oe_runconf

}

oe_runconf() {
	if [ -x /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure ] ; then
		cfgcmd="/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure \
		    --build=i686-linux \
		    --host=i686-linux \
		    --target=powerpc-linux \
		    --prefix=/opt/OE/build/tmp.1/cross/ppce300c3 \
		    --exec_prefix=/opt/OE/build/tmp.1/cross/ppce300c3 \
		    --bindir=/opt/OE/build/tmp.1/cross/ppce300c3/bin \
		    --sbindir=/opt/OE/build/tmp.1/cross/ppce300c3/bin \
		    --libexecdir=/opt/OE/build/tmp.1/cross/ppce300c3/libexec \
		    --datadir=/opt/OE/build/tmp.1/cross/ppce300c3/share \
		    --sysconfdir=/opt/OE/build/tmp.1/cross/ppce300c3/etc \
		    --sharedstatedir=/opt/OE/build/tmp.1/cross/ppce300c3/com \
		    --localstatedir=/opt/OE/build/tmp.1/cross/ppce300c3/var \
		    --libdir=/opt/OE/build/tmp.1/cross/ppce300c3/lib \
		    --includedir=/opt/OE/build/tmp.1/cross/ppce300c3/include \
		    --oldincludedir=/opt/OE/build/tmp.1/cross/ppce300c3/include \
		    --infodir=/opt/OE/build/tmp.1/cross/ppce300c3/share/info \
		    --mandir=/opt/OE/build/tmp.1/cross/ppce300c3/share/man \
			                 --with-gnu-ld                 --enable-shared                 --enable-target-optspace                 --enable-languages=c,c++,objc                 --enable-threads=posix                 --enable-multilib                 --enable-c99                 --enable-long-long                 --enable-symvers=gnu                 --enable-libstdcxx-pch                 --program-prefix=powerpc-linux-                 --enable-libssp --disable-bootstrap --enable-libgomp --disable-libmudflap                                  --with-local-prefix=/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr 		      --with-gxx-include-dir=/opt/OE/build/tmp.1/staging/ppce300c3-linux//usr/include/c++                       --with-sysroot=/opt/OE/build/tmp.1/staging/ppce300c3-linux                       --with-build-sysroot=/opt/OE/build/tmp.1/staging/ppce300c3-linux --disable-libunwind-exceptions --with-mpfr=/opt/OE/build/tmp.1/staging/i686-linux/usr --enable-__cxa_atexit \
		    $@"
		oenote "Running $cfgcmd..."
		$cfgcmd || oefatal "oe_runconf failed"
	else
		oefatal "no configure script found"
	fi

}

base_do_compile() {
	if [ -e Makefile -o -e makefile ]; then
		oe_runmake || die "make failed"
	else
		oenote "nothing to compile"
	fi

}

oewarn() {
	echo "WARNING:" "$*"

}

autotools_stage_includes() {
	if [ "${INHIBIT_AUTO_STAGE_INCLUDES}" != "1" ]
	then
		rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
		mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
		make DESTDIR="/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging" install
		cp -pPR /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/include/* /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include
		rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
	fi

}

oe_libinstall() {
	# Purpose: Install a library, in all its forms
	# Example
	#
	# oe_libinstall libltdl /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/
	# oe_libinstall -C src/libblah libblah /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image//opt/OE/build/tmp.1/cross/ppce300c3/lib/
	dir=""
	libtool=""
	silent=""
	require_static=""
	require_shared=""
	staging_install=""
	while [ "$#" -gt 0 ]; do
		case "$1" in
		-C)
			shift
			dir="$1"
			;;
		-s)
			silent=1
			;;
		-a)
			require_static=1
			;;
		-so)
			require_shared=1
			;;
		-*)
			oefatal "oe_libinstall: unknown option: $1"
			;;
		*)
			break;
			;;
		esac
		shift
	done

	libname="$1"
	shift
	destpath="$1"
	if [ -z "$destpath" ]; then
		oefatal "oe_libinstall: no destination path specified"
	fi
	if echo "$destpath/" | egrep '^/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/' >/dev/null
	then
		staging_install=1
	fi

	__runcmd () {
		if [ -z "$silent" ]; then
			echo >&2 "oe_libinstall: $*"
		fi
		$*
	}

	if [ -z "$dir" ]; then
		dir=`pwd`
	fi

	dotlai=$libname.lai

	# Sanity check that the libname.lai is unique
	number_of_files=`(cd $dir; find . -name "$dotlai") | wc -l`
	if [ $number_of_files -gt 1 ]; then
		oefatal "oe_libinstall: $dotlai is not unique in $dir"
	fi


	dir=$dir`(cd $dir;find . -name "$dotlai") | sed "s/^\.//;s/\/$dotlai\$//;q"`
	olddir=`pwd`
	__runcmd cd $dir

	lafile=$libname.la

	# If such file doesn't exist, try to cut version suffix
	if [ ! -f "$lafile" ]; then
		libname1=`echo "$libname" | sed 's/-[0-9.]*$//'`
		lafile1=$libname.la
		if [ -f "$lafile1" ]; then
			libname=$libname1
			lafile=$lafile1
		fi
	fi

	if [ -f "$lafile" ]; then
		# libtool archive
		eval `cat $lafile|grep "^library_names="`
		libtool=1
	else
		library_names="$libname.so* $libname.dll.a"
	fi

	__runcmd install -d $destpath/
	dota=$libname.a
	if [ -f "$dota" -o -n "$require_static" ]; then
		__runcmd install -m 0644 $dota $destpath/
	fi
	if [ -f "$dotlai" -a -n "$libtool" ]; then
		if test -n "$staging_install"
		then
			# stop libtool using the final directory name for libraries
			# in staging:
			__runcmd rm -f $destpath/$libname.la
			__runcmd sed -e 's/^installed=yes$/installed=no/' \
				     -e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/\1,g' \
				     -e "/^dependency_libs=/s,\([[:space:]']\)/opt/OE/build/tmp.1/cross/ppce300c3/lib,\1/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib,g" \
				     $dotlai >$destpath/$libname.la
		else
			__runcmd install -m 0644 $dotlai $destpath/$libname.la
		fi
	fi

	for name in $library_names; do
		files=`eval echo $name`
		for f in $files; do
			if [ ! -e "$f" ]; then
				if [ -n "$libtool" ]; then
					oefatal "oe_libinstall: $dir/$f not found."
				fi
			elif [ -L "$f" ]; then
				__runcmd cp -P "$f" $destpath/
			elif [ ! -L "$f" ]; then
				libfile="$f"
				__runcmd install -m 0755 $libfile $destpath/
			fi
		done
	done

	if [ -z "$libfile" ]; then
		if  [ -n "$require_shared" ]; then
			oefatal "oe_libinstall: unable to locate shared library"
		fi
	elif [ -z "$libtool" ]; then
		# special case hack for non-libtool .so.#.#.# links
		baselibfile=`basename "$libfile"`
		if (echo $baselibfile | grep -qE '^lib.*\.so\.[0-9.]*$'); then
			sonamelink=`readelf -d $libfile |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
			solink=`echo $baselibfile | sed -e 's/\.so\..*/.so/'`
			if [ -n "$sonamelink" -a x"$baselibfile" != x"$sonamelink" ]; then
				__runcmd ln -sf $baselibfile $destpath/$sonamelink
			fi
			__runcmd ln -sf $baselibfile $destpath/$solink
		fi
	fi

	__runcmd cd "$olddir"

}

base_do_configure() {
	:

}

oe_soinstall() {
	# Purpose: Install shared library file and
	#          create the necessary links
	# Example:
	#
	# oe_
	#
	#oenote installing shared library $1 to $2
	#
	libname=`basename $1`
	install -m 755 $1 $2/$libname
	sonamelink=`readelf -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
	solink=`echo $libname | sed -e 's/\.so\..*/.so/'`
	ln -sf $libname $2/$sonamelink
	ln -sf $libname $2/$solink

}

do_install() {
	oe_runmake 'DESTDIR=/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image' install

	# Move libgcc_s into /lib
        mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib
        if [ -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib/libgcc_s.so.? ]; then
                # Already in the right location
                :
        elif [ -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/lib/libgcc_s.so.? ]; then
                mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/lib/libgcc_s.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib || true

        elif [  -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libgcc_s.so.? ]; then
                mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libgcc_s.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib
        else
                mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libgcc_s.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib || true
        fi



	# Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
        mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib

        if [ -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libstdc++.so ]; then

           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libstdc++.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libg2c.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libgfortran*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libssp*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true

        else
           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libstdc++.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libg2c.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libgfortran*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libssp*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
        fi



       # Manually run the target stripper since we won't get it run by
       # the packaging.
       if [ "x" != "x1" ]; then
               powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib/libstdc++.so.*
               powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib/libg2c.so.* || true
               powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib/libgcc_s.so.* || true
               powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib/libgfortran*.so* || true
	fi

       # Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77
       # gfortran is fully backwards compatible. This is a safe and practical solution.
       if [ -f /opt/OE/build/tmp.1/cross/ppce300c3/bin/powerpc-linux-gfortran ]; then
              currdir="$PWD"
              cd /opt/OE/build/tmp.1/cross/ppce300c3/bin/
              ln -sf powerpc-linux-gfortran powerpc-linux-g77 || true
              cd /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/bin/
              ln -sf gfortran g77 || true
              cd $currdir
       fi
        for i in `find /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image -name "*.la"` ; do \
                sed -i -e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),/opt/OE/build/tmp.1/cross/ppce300c3/lib/\1,g' $i
                sed -i -e s:/opt/OE/build/tmp.1/cross/ppce300c3/i686-linux::g $i
                sed -i -e s:/opt/OE/build/tmp.1/cross/ppce300c3::g $i
                sed -i -e s:/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib:/opt/OE/build/tmp.1/cross/ppce300c3/lib:g $i
                sed -i -e s:/opt/OE/build/tmp.1/staging/ppce300c3-linux::g $i
                sed -i -e s:/opt/OE/build/tmp.1/staging::g $i
                sed -i -e s:/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4::g $i
                sed -i -e s:/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp::g $i
                sed -i -e s:/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image::g $i
        done

}

oenote() {
	echo "NOTE:" "$*"

}

package_update_index_ipk() {
	set -x

	ipkgarchs="all any noarch powerpc  ppce300c3 mpc5121"

	if [ ! -z "${DEPLOY_KEEP_PACKAGES}" ]; then
		return
	fi

	touch /opt/OE/build/tmp.1/deploy/ipk/Packages
	ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/Packages -p /opt/OE/build/tmp.1/deploy/ipk/Packages -l /opt/OE/build/tmp.1/deploy/ipk/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk

	for arch in $ipkgarchs; do
		if [ -e /opt/OE/build/tmp.1/deploy/ipk/$arch/ ] ; then
			touch /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages
			ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages -p /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages -l /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk/$arch/
		fi
		if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/ ] ; then
			touch /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages
			ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages -p /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages -l /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/
		fi
		if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/ ] ; then
			touch /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages
			ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages -p /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages -l /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/
		fi
	done

}

do_package_write() {
	:

}

package_generate_ipkg_conf() {
	mkdir -p /opt/OE/build/tmp.1/staging/i686-linux/etc/
	echo "src oe file:/opt/OE/build/tmp.1/deploy/ipk" > /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg.conf
	echo "src oe file:/opt/OE/build/tmp.1/deploy/ipk" > /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-sdk.conf
	echo "src oe file:/opt/OE/build/tmp.1/deploy/ipk" > /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-canadian-sdk.conf
	ipkgarchs="all any noarch powerpc  ppce300c3 mpc5121"
	priority=1
	for arch in $ipkgarchs; do
		echo "arch $arch $priority" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg.conf
		echo "arch i686-$arch-sdk $priority" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-sdk.conf
		echo "arch i686-linux-sdk-$arch $priority" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-canadian-sdk.conf
		priority=$(expr $priority + 5)
		if [ -e /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages ] ; then
		        echo "src oe-$arch file:/opt/OE/build/tmp.1/deploy/ipk/$arch" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg.conf
		fi
		if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages ] ; then
		        echo "src oe-i686-$arch-sdk file:/opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-sdk.conf
		fi
		if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages ] ; then
		        echo "src oe-i686-linux-sdk-$arch file:/opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-canadian-sdk.conf
		fi
	done

}

base_do_fetchall() {
	:

}

staging_packager() {

	mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL
	mkdir -p /opt/OE/build/tmp.1/deploy/pstage/fred/2/.1/-opt-OE-build-tmp.1

	echo "Package: staging-gcc-cross-ppce300c3-linux"         >  /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	echo "Version: 4.2.4-r5"    >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	echo "Description: The GNU cc and gcc C compilers."      >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	echo "Section: devel"              >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	echo "Priority: Optional"               >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	echo "Maintainer: OpenEmbedded Team <openembedded-devel@lists.openembedded.org>"        >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	echo "Architecture: i686-linux"  >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control

	# Protect against empty SRC_URI
	if [ "ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.4/gcc-4.2.4.tar.bz2 	file://100-uclibc-conf.patch;patch=1 	file://103-uclibc-conf-noupstream.patch;patch=1 	file://200-uclibc-locale.patch;patch=1 	file://203-uclibc-locale-no__x.patch;patch=1 	file://204-uclibc-locale-wchar_fix.patch;patch=1 	file://205-uclibc-locale-update.patch;patch=1 	file://300-libstdc++-pic.patch;patch=1 	file://301-missing-execinfo_h.patch;patch=1 	file://302-c99-snprintf.patch;patch=1 	file://303-c99-complex-ugly-hack.patch;patch=1 	file://304-index_macro.patch;patch=1 	file://305-libmudflap-susv3-legacy.patch;patch=1 	file://306-libstdc++-namespace.patch;patch=1 	file://307-locale_facets.patch;patch=1 	file://402-libbackend_dep_gcov-iov.h.patch;patch=1 	file://602-sdk-libstdc++-includes.patch;patch=1 	file://740-sh-pr24836.patch;patch=1 	file://800-arm-bigendian.patch;patch=1 	file://801-arm-bigendian-eabi.patch;patch=1 	file://904-flatten-switch-stmt-00.patch;patch=1 	file://arm-nolibfloat.patch;patch=1 	file://arm-softfloat.patch;patch=1 	file://gcc41-configure.in.patch;patch=1 	file://arm-thumb.patch;patch=1 	file://arm-thumb-cache.patch;patch=1 	file://ldflags.patch;patch=1 	file://zecke-xgcc-cpp.patch;patch=1 	file://unbreak-armv4t.patch;patch=1 	file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 	file://cache-amnesia.patch;patch=1 	file://gfortran.patch;patch=1 	file://gcc-4.0.2-e300c2c3.patch;patch=1 	file://fortran-static-linking.patch;patch=1 	file://intermask-bigendian.patch;patch=1  file://zecke-no-host-includes.patch;patch=1 " != "" ] ; then
		echo "Source: ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.4/gcc-4.2.4.tar.bz2 	file://100-uclibc-conf.patch;patch=1 	file://103-uclibc-conf-noupstream.patch;patch=1 	file://200-uclibc-locale.patch;patch=1 	file://203-uclibc-locale-no__x.patch;patch=1 	file://204-uclibc-locale-wchar_fix.patch;patch=1 	file://205-uclibc-locale-update.patch;patch=1 	file://300-libstdc++-pic.patch;patch=1 	file://301-missing-execinfo_h.patch;patch=1 	file://302-c99-snprintf.patch;patch=1 	file://303-c99-complex-ugly-hack.patch;patch=1 	file://304-index_macro.patch;patch=1 	file://305-libmudflap-susv3-legacy.patch;patch=1 	file://306-libstdc++-namespace.patch;patch=1 	file://307-locale_facets.patch;patch=1 	file://402-libbackend_dep_gcov-iov.h.patch;patch=1 	file://602-sdk-libstdc++-includes.patch;patch=1 	file://740-sh-pr24836.patch;patch=1 	file://800-arm-bigendian.patch;patch=1 	file://801-arm-bigendian-eabi.patch;patch=1 	file://904-flatten-switch-stmt-00.patch;patch=1 	file://arm-nolibfloat.patch;patch=1 	file://arm-softfloat.patch;patch=1 	file://gcc41-configure.in.patch;patch=1 	file://arm-thumb.patch;patch=1 	file://arm-thumb-cache.patch;patch=1 	file://ldflags.patch;patch=1 	file://zecke-xgcc-cpp.patch;patch=1 	file://unbreak-armv4t.patch;patch=1 	file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 	file://cache-amnesia.patch;patch=1 	file://gfortran.patch;patch=1 	file://gcc-4.0.2-e300c2c3.patch;patch=1 	file://fortran-static-linking.patch;patch=1 	file://intermask-bigendian.patch;patch=1  file://zecke-no-host-includes.patch;patch=1 "               >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	else
		echo "Source: OpenEmbedded"               >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	fi

	stage-manager-ipkg-build -o 0 -g 0 /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg /opt/OE/build/tmp.1/deploy/pstage/fred/2/.1/-opt-OE-build-tmp.1

}

autotools_do_configure() {
	case gcc-cross in
	autoconf*)
	;;
	automake*)
	;;
	*)
		# WARNING: gross hack follows:
		# An autotools built package generally needs these scripts, however only
		# automake or libtoolize actually install the current versions of them.
		# This is a problem in builds that do not use libtool or automake, in the case
		# where we -need- the latest version of these scripts.  e.g. running a build
		# for a package whose autotools are old, on an x86_64 machine, which the old
		# config.sub does not support.  Work around this by installing them manually
		# regardless.
		( for ac in `find /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4 -name configure.in -o -name configure.ac`; do
			rm -f `dirname $ac`/configure
			done )
		if [ -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure.in -o -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure.ac ]; then
			olddir=`pwd`
			cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4
			if [ x"default" = xdefault ]; then
				acpaths=
				for i in `find /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4 -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
					grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
					acpaths="$acpaths -I $i"
				done
			else
				acpaths="default"
			fi
			AUTOV=`automake --version |head -n 1 |sed "s/.* //;s/\.[0-9]\+$//"`
			automake --version
			echo "AUTOV is $AUTOV"
			install -d /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal
			install -d /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal-$AUTOV
			acpaths="$acpaths -I/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal-$AUTOV -I /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal"
			# autoreconf is too shy to overwrite aclocal.m4 if it doesn't look
			# like it was auto-generated.  Work around this by blowing it away
			# by hand, unless the package specifically asked not to run aclocal.
			if ! echo --exclude=autopoint | grep -q "aclocal"; then
				rm -f aclocal.m4
			fi
			if [ -e configure.in ]; then
			  CONFIGURE_AC=configure.in
			else
			  CONFIGURE_AC=configure.ac
			fi
			if grep "^AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
			  if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then
			    : do nothing -- we still have an old unmodified configure.ac
			  else
			    oenote Executing glib-gettextize --force --copy
			    echo "no" | glib-gettextize --force --copy
			  fi
			fi
			if grep "^[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC >/dev/null; then
			  oenote Executing intltoolize --copy --force --automake
			  intltoolize --copy --force --automake
			fi
			oenote Executing autoreconf --verbose --install --force --exclude=autopoint $acpaths
			mkdir -p m4
			autoreconf -Wcross --verbose --install --force --exclude=autopoint $acpaths || oefatal "autoreconf execution failed."
			cd $olddir
		fi
	;;
	esac
	if [ -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure ]; then
		oe_runconf $@
	else
		oenote "nothing to configure"
	fi

}

base_do_stage() {
	:

}

autotools_stage_dir() {
	from="$1"
	to="$2"
	# This will remove empty directories so we can ignore them
	rmdir "$from" 2> /dev/null || true
	if [ -d "$from" ]; then
		mkdir -p "$to"
		cp -fpPR "$from"/* "$to"
	fi

}

autotools_stage_all() {
	if [ "${INHIBIT_AUTO_STAGE}" = "1" ]
	then
		return
	fi
	rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
	mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
	oe_runmake DESTDIR="/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging" install
	autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/include /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include
	if [ "i686-linux" = "i686-linux" ]; then
		autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/bin
		autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/sbin
		autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/bin
		autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/sbin
		autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/libexec /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/libexec
		if [ "/opt/OE/build/tmp.1/cross/ppce300c3/lib" != "/opt/OE/build/tmp.1/cross/ppce300c3/lib" ]; then
			# python puts its files in here, make sure they are staged as well
			autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib
		fi
	fi
	if [ -d /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib ]
	then
		olddir=`pwd`
		cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib
		las=$(find . -name \*.la -type f)
		cd $olddir
		echo "Found la files: $las"
		for i in $las
		do
			sed -e 's/^installed=yes$/installed=no/' \
			    -e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*.la\),/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/\1,g' \
			    -e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib,g' \
			    -e "/^dependency_libs=/s,\([[:space:]']\)/opt/OE/build/tmp.1/cross/ppce300c3/lib,\1/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib,g" \
			    -i /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/$i
		done
		autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib
	fi
	# Ok, this is nasty. pkgconfig.bbclass is usually used to install .pc files,
	# however some packages rely on the presence of .pc files to enable/disable
	# their configurataions in which case we better should not install everything
	# unconditionally, but rather depend on the actual results of make install.
	# The good news though: a) there are not many packages doing this and
	# b) packaged staging will fix that anyways. :M:
	if [ "${AUTOTOOLS_STAGE_PKGCONFIG}" = "1" ]
	then
		if [ -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/pkgconfig/ ] ; then
			echo "cp -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/pkgconfig/*.pc /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig/"
			cp -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/pkgconfig/*.pc /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig/
		fi
	fi
	rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/share/man || true
	rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/share/info || true
	autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/share /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share
	rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging

}

ldconfig_postinst_fragment() {
if [ x"$D" = "x" ]; then
	if [ -e /etc/ld.so.conf ] ; then
		[ -x /sbin/ldconfig ] && /sbin/ldconfig
	fi
fi

}

do_compile() {
	export CC="ccache gcc "
	export AR_FOR_TARGET="powerpc-linux-ar"
	export RANLIB_FOR_TARGET="powerpc-linux-ranlib"
	export LD_FOR_TARGET="powerpc-linux-ld"
	export NM_FOR_TARGET="powerpc-linux-nm"
	export CC_FOR_TARGET="ccache  powerpc-linux-gcc -mcpu=e300c3"
	base_do_compile

}

staging_helper() {
	# Assemble appropriate opkg.conf
	conffile=/opt/OE/build/tmp.1/deploy/pstage/opkg.conf
	mkdir -p /opt/OE/build/tmp.1/deploy/pstage/pstaging_lists
	if [ ! -e $conffile ]; then
		ipkgarchs="i686-linux"
		priority=1
		for arch in $ipkgarchs; do
			echo "arch $arch $priority" >> $conffile
			priority=$(expr $priority + 5)
		done
		echo "dest root /" >> $conffile
	fi
	if [ ! -e /opt/OE/build/tmp.1/usr/lib/opkg/info/ ]; then
		mkdir -p /opt/OE/build/tmp.1/usr/lib/opkg/info/
	fi
 	if [ ! -e /opt/OE/build/tmp.1/usr/lib/ipkg/ ]; then
		cd /opt/OE/build/tmp.1/usr/lib/
		ln -sf opkg/ ipkg
	fi

}

populate_staging_postamble() {
	if [ "$PSTAGING_ACTIVE" = "1" ]; then
		# list the packages currently installed in staging
		# stage-manager-ipkg -f /opt/OE/build/tmp.1/deploy/pstage/opkg.conf -o /opt/OE/build/tmp.1 list_installed | awk '{print $1}' > /opt/OE/build/tmp.1/deploy/pstage/installed-list

		# exitcode == 5 is ok, it means the files change
		set +e
		stage-manager -p /opt/OE/build/tmp.1/staging -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-staging -u -d /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/staging
		exitcode=$?
		if [ "$exitcode" != "5" -a "$exitcode" != "0" ]; then
			exit $exitcode
		fi
		stage-manager -p /opt/OE/build/tmp.1/cross/ppce300c3 -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-cross -u -d /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/cross
		if [ "$exitcode" != "5" -a "$exitcode" != "0" ]; then
			exit $exitcode
		fi
		set -e
	fi

}

oedebug() {
	test $# -ge 2 || {
		echo "Usage: oedebug level \"message\""
		exit 1
	}

	test ${OEDEBUG:-0} -ge $1 && {
		shift
		echo "DEBUG:" $*
	}

}

oe_runmake() {
	if [ x"$MAKE" = x ]; then MAKE=make; fi
	oenote make -j 6  ARCH_FLAGS_FOR_TARGET='-mcpu=e300c3 -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include' "$@"
	make -j 6  ARCH_FLAGS_FOR_TARGET='-mcpu=e300c3 -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include' "$@" || die "oe_runmake failed"

}

do_package_stage_all() {
	:

}

staging_package_installer() {
	#stage-manager-ipkg -f /opt/OE/build/tmp.1/deploy/pstage/opkg.conf -force-depends -o /opt/OE/build/tmp.1 install /opt/OE/build/tmp.1/deploy/pstage/fred/2/.1/-opt-OE-build-tmp.1/staging-gcc-cross-ppce300c3-linux_4.2.4-r5_i686-linux.ipk

	STATUSFILE=/opt/OE/build/tmp.1/usr/lib/opkg/status
	echo "Package: staging-gcc-cross-ppce300c3-linux"        >> $STATUSFILE
	echo "Version: 4.2.4-r5"   >> $STATUSFILE
	echo "Status: install user installed"  >> $STATUSFILE
	echo "Architecture: i686-linux" >> $STATUSFILE
	echo "" >> $STATUSFILE

	CTRLFILE=/opt/OE/build/tmp.1/usr/lib/opkg/info/staging-gcc-cross-ppce300c3-linux.control
	echo "Package: staging-gcc-cross-ppce300c3-linux"        > $CTRLFILE
	echo "Version: 4.2.4-r5"   >> $CTRLFILE
	echo "Architecture: i686-linux" >> $CTRLFILE

	cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg
	find -type f | grep -v ./CONTROL | sed -e 's/^\.//' > /opt/OE/build/tmp.1/usr/lib/opkg/info/staging-gcc-cross-ppce300c3-linux.list

}

oefatal() {
	echo "FATAL:" "$*"
	exit 1

}

MIRRORS() {
ftp://ftp.gnu.org/gnu/gcc/releases/    ftp://gcc.gnu.org/pub/gcc/releases/
ftp://ftp.gnu.org/gnu/gcc/	http://mirrors.rcn.net/pub/sourceware/gcc/releases/
ftp://ftp.gnu.org/gnu/gcc/releases/    http://gcc.get-software.com/releases/
ftp://ftp.gnu.org/gnu/gcc/	http://gcc.get-software.com/releases/
ftp://ftp.debian.org/debian/pool/main	http://snapshot.debian.net/archive/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.de.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.au.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.cl.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.hr.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.fi.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.hk.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.hu.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.ie.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.it.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.jp.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.no.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.pl.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.ro.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.si.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.es.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.se.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.tr.debian.org/debian/pool
ftp://ftp.gnu.org/gnu	ftp://mirrors.kernel.org/gnu
ftp://ftp.gnu.org/gnu	ftp://ftp.matrix.com.br/pub/gnu
ftp://ftp.gnu.org/gnu	ftp://ftp.cs.ubc.ca/mirror2/gnu
ftp://ftp.gnu.org/gnu	ftp://sunsite.ust.hk/pub/gnu
ftp://ftp.gnu.org/gnu	ftp://ftp.ayamura.org/pub/gnu
http://kernel.org	http://www.kernel.org/pub
http://kernel.org	ftp://ftp.us.kernel.org/pub
http://kernel.org	ftp://ftp.uk.kernel.org/pub
http://kernel.org	ftp://ftp.hk.kernel.org/pub
http://kernel.org	ftp://ftp.au.kernel.org/pub
http://kernel.org	ftp://ftp.jp.kernel.org/pub
ftp://ftp.gnupg.org/gcrypt/     ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/
ftp://ftp.gnupg.org/gcrypt/     ftp://ftp.surfnet.nl/pub/security/gnupg/
ftp://ftp.gnupg.org/gcrypt/     http://gulus.USherbrooke.ca/pub/appl/GnuPG/
ftp://dante.ctan.org/tex-archive ftp://ftp.fu-berlin.de/tex/CTAN
ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/
ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/
ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnutls.org/pub/gnutls/
ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnupg.org/gcrypt/gnutls/
ftp://ftp.gnutls.org/pub/gnutls http://www.mirrors.wiretapped.net/security/network-security/gnutls/
ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.mirrors.wiretapped.net/pub/security/network-security/gnutls/
ftp://ftp.gnutls.org/pub/gnutls http://josefsson.org/gnutls/releases/
http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/
http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.tau.ac.il/pub/unix/admin/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.cert.dfn.de/pub/tools/admin/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.kaizo.org/pub/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.tu-darmstadt.de/pub/sysadmin/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.tux.org/pub/sites/vic.cc.purdue.edu/tools/unix/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://sunsite.ualberta.ca/pub/Mirror/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://the.wiretapped.net/pub/security/host-security/lsof/
http://www.apache.org/dist  http://archive.apache.org/dist


}

cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/build.i686-linux.powerpc-linux
do_compile
#!/bin/sh -e
export localstatedir="/opt/OE/build/tmp.1/cross/ppce300c3/var"

export prefix="/opt/OE/build/tmp.1/cross/ppce300c3"

export CPP="gcc -E"

export mandir="/opt/OE/build/tmp.1/cross/ppce300c3/share/man"

export STRIP="strip"

export STAGING_SIPDIR="/opt/OE/build/tmp.1/staging/i686-linux/usr/share/sip"

export CONFIG_SITE="/opt/OE/org.cnh_fred.dev/site/endian-little /opt/OE/org.cnh_fred.dev/site/common-linux /opt/OE/org.cnh_fred.dev/site/common-glibc /opt/OE/org.cnh_fred.dev/site/ix86-common /opt/OE/org.cnh_fred.dev/site/common /opt/OE/org.cnh_fred.dev/site/common"

export BUILD_CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2 -fpermissive"

export OBJCOPY="objcopy"

export AR="ar"

export AS="as"

export PSTAGING_ACTIVE="1"

export libexecdir="/opt/OE/build/tmp.1/cross/ppce300c3/libexec"

export RANLIB="ranlib"

export QTDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux/qt2"

export datadir="/opt/OE/build/tmp.1/cross/ppce300c3/share"

export BUILD_CXX="ccache g++"

export SDK_LDFLAGS="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"

export LD="ld"

export LDFLAGS="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"

export TARGET_CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 -fpermissive"

export MAKE="make"

export includedir="/opt/OE/build/tmp.1/cross/ppce300c3/include"

export TARGET_CPPFLAGS="-isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include"

export BUILD_CC="ccache gcc"

export BUILD_LDFLAGS="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"

unset TARGET_ARCH

export CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"

export STAGING_IDLDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/idl"

export BUILD_F77="ccache g77"

export bindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"

export OBJDUMP="objdump"

export BUILD_LD="ld"

export exec_prefix="/opt/OE/build/tmp.1/cross/ppce300c3"

export oldincludedir="/opt/OE/build/tmp.1/cross/ppce300c3/include"

export CCLD="ccache gcc"

export SHELLCMDS="bash --rcfile $TERMRCFILE"

export QPEDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux"

export BUILD_CCLD="gcc"

export base_libdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib"

export PATH="/opt/OE/build/tmp.1/staging/i686-linux/usr/bin/ppce300c3-linux:/opt/OE/build/tmp.1/staging/i686-linux/usr/bin/ppce300c3-linux:/opt/OE/build/tmp.1/staging/i686-linux/usr/sbin:/opt/OE/build/tmp.1/staging/i686-linux/usr/bin:/opt/OE/build/tmp.1/cross/ppce300c3/bin:/opt/OE/build/tmp.1/staging/i686-linux/sbin:/opt/OE/build/tmp.1/staging/i686-linux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

export TARGET_CFLAGS="-isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2"

export base_bindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"

export servicedir="/opt/OE/build/tmp.1/cross/ppce300c3/srv"

export BUILD_CPP="cpp"

export SDK_CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 -fpermissive"

export sbindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"

export SDK_CFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2"

export BUILD_AR="ar"

export sharedstatedir="/opt/OE/build/tmp.1/cross/ppce300c3/com"

export F77="ccache g77"

export XDG_DATA_DIRS="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share"

export BUILD_CFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"

export QMAKE_MKSPEC_PATH="/opt/OE/build/tmp.1/staging/i686-linux/usr/share/qmake"

export PKG_CONFIG_DIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig"

export infodir="/opt/OE/build/tmp.1/cross/ppce300c3/share/info"

export libdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib"

export OPIEDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux"

export base_prefix="/opt/OE/build/tmp.1/cross/ppce300c3"

export CC="ccache gcc"

export TARGET_LDFLAGS="-L/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib -Wl,-O1 -Wl,--hash-style=gnu"

export docdir="/opt/OE/build/tmp.1/cross/ppce300c3/share/doc"

export palmqtdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib/opie"

unset DISTRO

export base_sbindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"

export CXX="ccache g++"

export PKG_CONFIG_DISABLE_UNINSTALLED="yes"

export PKG_CONFIG_SYSROOT_DIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux"

export PKG_CONFIG_PATH="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig:/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/pkgconfig"

unset MACHINE

export palmtopdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib/opie"

export PATCH_GET="0"

export MANIFEST="/opt/OE/org.cnh_fred.dev/recipes/gcc/gcc-4.2.4/manifest"

export SDK_CPPFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include"

export BUILD_STRIP="strip"

export CFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"

export BUILD_RANLIB="ranlib"

export sysconfdir="/opt/OE/build/tmp.1/cross/ppce300c3/etc"

export BUILD_CPPFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include"

do_fetchall() {
	base_do_fetchall

}

base_do_checkuriall() {
	:

}

populate_staging_preamble() {
	if [ "$PSTAGING_ACTIVE" = "1" ]; then
		stage-manager -p /opt/OE/build/tmp.1/staging -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-staging -u || true
		stage-manager -p /opt/OE/build/tmp.1/cross/ppce300c3 -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-cross -u || true
	fi

}

base_do_install() {
	:

}

do_stage() {
	oe_runmake install
	for d in info man share/doc share/locale ; do
		rm -rf /opt/OE/build/tmp.1/cross/ppce300c3/$d
	done

	# Fix a few include links so cross builds are happier
	if [ ! -e /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include/c++ ]; then
		mkdir -p /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include
		mkdir -p /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/include/c++
		ln -sf /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/include/c++ \
			/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include/
	fi

	# We use libiberty from binutils
	rm -f /opt/OE/build/tmp.1/cross/ppce300c3/lib/libiberty.a

	# We probably don't need these
	rmdir /opt/OE/build/tmp.1/cross/ppce300c3/include || :

	# We don't really need to keep this around
	# rm -rf /opt/OE/build/tmp.1/cross/ppce300c3/share but leave java there
	for d in share/man share/info;
	do
		rm -rf /opt/OE/build/tmp.1/cross/ppce300c3/$d
	done

	#fix up libsupc++ and libstdc++ la files
	for d in lib lib/nof; do
		sed -i "s|dependency_libs\s*=\s*.*|dependency_libs='-L/opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d -lgcc_s -lc -lm '|" /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d/libsupc++.la || true
		sed -i "s|dependency_libs\s*=\s*.*|dependency_libs='-L/opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d -lgcc_s -lc -lm '|" /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d/libstdc++.la || true
	done

}

base_do_package() {
	:

}

autotools_do_install() {
	oe_runmake 'DESTDIR=/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image' install

}

oe_machinstall() {
	# Purpose: Install machine dependent files, if available
	#          If not available, check if there is a default
	#          If no default, just touch the destination
	# Example:
	#                $1  $2   $3         $4
	# oe_machinstall -m 0644 fstab /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/etc/fstab
	#
	# TODO: Check argument number?
	#
	filename=`basename $3`
	dirname=`dirname $3`

	for o in `echo task-configure:local:mpc5121:fred:linux:powerpc:build-linux:fail-fast:pn-gcc-cross | tr ':' ' '`; do
		if [ -e $dirname/$o/$filename ]; then
			oenote $dirname/$o/$filename present, installing to $4
			install $1 $2 $dirname/$o/$filename $4
			return
		fi
	done
#	oenote overrides specific file NOT present, trying default=$3...
	if [ -e $3 ]; then
		oenote $3 present, installing to $4
		install $1 $2 $3 $4
	else
		oenote $3 NOT present, touching empty $4
		touch $4
	fi

}

package_stagefile_shell() {
	if [ "$PSTAGING_ACTIVE" = "1" ]; then
		srcfile=$1
		destfile=`echo $srcfile | sed s#/opt/OE/build/tmp.1#/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg#`
		destdir=`dirname $destfile`
		mkdir -p $destdir
		cp -dp $srcfile $destfile
	fi

}

die() {
	oefatal "$*"

}

base_do_buildall() {
	:

}

do_configure() {
	# Setup these vars for cross building only
	# ... because foo_FOR_TARGET apparently gets misinterpreted inside the
	# gcc build stuff when the build is producing a cross compiler - i.e.
	# when the 'current' target is the 'host' system, and the host is not
	# the target (because the build is actually making a cross compiler!)
	if [ "i686-linux" != "i686-linux" ]; then
		export CC_FOR_TARGET="ccache gcc "
		export GCC_FOR_TARGET="ccache gcc "
		export CXX_FOR_TARGET="ccache g++ "
		export AS_FOR_TARGET="as"
		export LD_FOR_TARGET="ld"
		export NM_FOR_TARGET="nm"
		export AR_FOR_TARGET="ar"
		export GFORTRAN_FOR_TARGET="gfortran"
		export RANLIB_FOR_TARGET="ranlib"
	fi
	export CC_FOR_BUILD="ccache gcc "
	export CXX_FOR_BUILD="ccache g++ "
	export CFLAGS_FOR_BUILD="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"
	export CPPFLAGS_FOR_BUILD="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include"
	export CXXFLAGS_FOR_BUILD="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2 -fpermissive"
	export LDFLAGS_FOR_BUILD="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"
	export ARCH_FLAGS_FOR_TARGET="-mcpu=e300c3 -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include"
	(cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4 && gnu-configize) || die "failure running gnu-configize"

	# splice our idea of where the headers live into gcc's world
	echo "NATIVE_SYSTEM_HEADER_DIR = /usr/include" > /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp/t-oe
	sed 's%^tmake_file=.*$%& /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp/t-oe%' < /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in >/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in.new
	mv /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in.new /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in

	echo "#define STANDARD_INCLUDE_DIR \"/usr/include\"" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/defaults.h

	oe_runconf

}

oe_runconf() {
	if [ -x /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure ] ; then
		cfgcmd="/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure \
		    --build=i686-linux \
		    --host=i686-linux \
		    --target=powerpc-linux \
		    --prefix=/opt/OE/build/tmp.1/cross/ppce300c3 \
		    --exec_prefix=/opt/OE/build/tmp.1/cross/ppce300c3 \
		    --bindir=/opt/OE/build/tmp.1/cross/ppce300c3/bin \
		    --sbindir=/opt/OE/build/tmp.1/cross/ppce300c3/bin \
		    --libexecdir=/opt/OE/build/tmp.1/cross/ppce300c3/libexec \
		    --datadir=/opt/OE/build/tmp.1/cross/ppce300c3/share \
		    --sysconfdir=/opt/OE/build/tmp.1/cross/ppce300c3/etc \
		    --sharedstatedir=/opt/OE/build/tmp.1/cross/ppce300c3/com \
		    --localstatedir=/opt/OE/build/tmp.1/cross/ppce300c3/var \
		    --libdir=/opt/OE/build/tmp.1/cross/ppce300c3/lib \
		    --includedir=/opt/OE/build/tmp.1/cross/ppce300c3/include \
		    --oldincludedir=/opt/OE/build/tmp.1/cross/ppce300c3/include \
		    --infodir=/opt/OE/build/tmp.1/cross/ppce300c3/share/info \
		    --mandir=/opt/OE/build/tmp.1/cross/ppce300c3/share/man \
			                 --with-gnu-ld                 --enable-shared                 --enable-target-optspace                 --enable-languages=c,c++,objc                 --enable-threads=posix                 --enable-multilib                 --enable-c99                 --enable-long-long                 --enable-symvers=gnu                 --enable-libstdcxx-pch                 --program-prefix=powerpc-linux-                 --enable-libssp --disable-bootstrap --enable-libgomp --disable-libmudflap                                  --with-local-prefix=/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr 		      --with-gxx-include-dir=/opt/OE/build/tmp.1/staging/ppce300c3-linux//usr/include/c++                       --with-sysroot=/opt/OE/build/tmp.1/staging/ppce300c3-linux                       --with-build-sysroot=/opt/OE/build/tmp.1/staging/ppce300c3-linux --disable-libunwind-exceptions --with-mpfr=/opt/OE/build/tmp.1/staging/i686-linux/usr --enable-__cxa_atexit \
		    $@"
		oenote "Running $cfgcmd..."
		$cfgcmd || oefatal "oe_runconf failed"
	else
		oefatal "no configure script found"
	fi

}

base_do_compile() {
	if [ -e Makefile -o -e makefile ]; then
		oe_runmake || die "make failed"
	else
		oenote "nothing to compile"
	fi

}

oewarn() {
	echo "WARNING:" "$*"

}

autotools_stage_includes() {
	if [ "${INHIBIT_AUTO_STAGE_INCLUDES}" != "1" ]
	then
		rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
		mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
		make DESTDIR="/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging" install
		cp -pPR /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/include/* /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include
		rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
	fi

}

oe_libinstall() {
	# Purpose: Install a library, in all its forms
	# Example
	#
	# oe_libinstall libltdl /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/
	# oe_libinstall -C src/libblah libblah /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image//opt/OE/build/tmp.1/cross/ppce300c3/lib/
	dir=""
	libtool=""
	silent=""
	require_static=""
	require_shared=""
	staging_install=""
	while [ "$#" -gt 0 ]; do
		case "$1" in
		-C)
			shift
			dir="$1"
			;;
		-s)
			silent=1
			;;
		-a)
			require_static=1
			;;
		-so)
			require_shared=1
			;;
		-*)
			oefatal "oe_libinstall: unknown option: $1"
			;;
		*)
			break;
			;;
		esac
		shift
	done

	libname="$1"
	shift
	destpath="$1"
	if [ -z "$destpath" ]; then
		oefatal "oe_libinstall: no destination path specified"
	fi
	if echo "$destpath/" | egrep '^/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/' >/dev/null
	then
		staging_install=1
	fi

	__runcmd () {
		if [ -z "$silent" ]; then
			echo >&2 "oe_libinstall: $*"
		fi
		$*
	}

	if [ -z "$dir" ]; then
		dir=`pwd`
	fi

	dotlai=$libname.lai

	# Sanity check that the libname.lai is unique
	number_of_files=`(cd $dir; find . -name "$dotlai") | wc -l`
	if [ $number_of_files -gt 1 ]; then
		oefatal "oe_libinstall: $dotlai is not unique in $dir"
	fi


	dir=$dir`(cd $dir;find . -name "$dotlai") | sed "s/^\.//;s/\/$dotlai\$//;q"`
	olddir=`pwd`
	__runcmd cd $dir

	lafile=$libname.la

	# If such file doesn't exist, try to cut version suffix
	if [ ! -f "$lafile" ]; then
		libname1=`echo "$libname" | sed 's/-[0-9.]*$//'`
		lafile1=$libname.la
		if [ -f "$lafile1" ]; then
			libname=$libname1
			lafile=$lafile1
		fi
	fi

	if [ -f "$lafile" ]; then
		# libtool archive
		eval `cat $lafile|grep "^library_names="`
		libtool=1
	else
		library_names="$libname.so* $libname.dll.a"
	fi

	__runcmd install -d $destpath/
	dota=$libname.a
	if [ -f "$dota" -o -n "$require_static" ]; then
		__runcmd install -m 0644 $dota $destpath/
	fi
	if [ -f "$dotlai" -a -n "$libtool" ]; then
		if test -n "$staging_install"
		then
			# stop libtool using the final directory name for libraries
			# in staging:
			__runcmd rm -f $destpath/$libname.la
			__runcmd sed -e 's/^installed=yes$/installed=no/' \
				     -e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/\1,g' \
				     -e "/^dependency_libs=/s,\([[:space:]']\)/opt/OE/build/tmp.1/cross/ppce300c3/lib,\1/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib,g" \
				     $dotlai >$destpath/$libname.la
		else
			__runcmd install -m 0644 $dotlai $destpath/$libname.la
		fi
	fi

	for name in $library_names; do
		files=`eval echo $name`
		for f in $files; do
			if [ ! -e "$f" ]; then
				if [ -n "$libtool" ]; then
					oefatal "oe_libinstall: $dir/$f not found."
				fi
			elif [ -L "$f" ]; then
				__runcmd cp -P "$f" $destpath/
			elif [ ! -L "$f" ]; then
				libfile="$f"
				__runcmd install -m 0755 $libfile $destpath/
			fi
		done
	done

	if [ -z "$libfile" ]; then
		if  [ -n "$require_shared" ]; then
			oefatal "oe_libinstall: unable to locate shared library"
		fi
	elif [ -z "$libtool" ]; then
		# special case hack for non-libtool .so.#.#.# links
		baselibfile=`basename "$libfile"`
		if (echo $baselibfile | grep -qE '^lib.*\.so\.[0-9.]*$'); then
			sonamelink=`readelf -d $libfile |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
			solink=`echo $baselibfile | sed -e 's/\.so\..*/.so/'`
			if [ -n "$sonamelink" -a x"$baselibfile" != x"$sonamelink" ]; then
				__runcmd ln -sf $baselibfile $destpath/$sonamelink
			fi
			__runcmd ln -sf $baselibfile $destpath/$solink
		fi
	fi

	__runcmd cd "$olddir"

}

base_do_configure() {
	:

}

oe_soinstall() {
	# Purpose: Install shared library file and
	#          create the necessary links
	# Example:
	#
	# oe_
	#
	#oenote installing shared library $1 to $2
	#
	libname=`basename $1`
	install -m 755 $1 $2/$libname
	sonamelink=`readelf -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
	solink=`echo $libname | sed -e 's/\.so\..*/.so/'`
	ln -sf $libname $2/$sonamelink
	ln -sf $libname $2/$solink

}

do_install() {
	oe_runmake 'DESTDIR=/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image' install

	# Move libgcc_s into /lib
        mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib
        if [ -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib/libgcc_s.so.? ]; then
                # Already in the right location
                :
        elif [ -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/lib/libgcc_s.so.? ]; then
                mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/lib/libgcc_s.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib || true

        elif [  -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libgcc_s.so.? ]; then
                mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libgcc_s.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib
        else
                mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libgcc_s.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib || true
        fi



	# Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
        mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib

        if [ -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libstdc++.so ]; then

           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libstdc++.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libg2c.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libgfortran*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libssp*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true

        else
           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libstdc++.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libg2c.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libgfortran*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
           mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libssp*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
        fi



       # Manually run the target stripper since we won't get it run by
       # the packaging.
       if [ "x" != "x1" ]; then
               powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib/libstdc++.so.*
               powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib/libg2c.so.* || true
               powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib/libgcc_s.so.* || true
               powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib/libgfortran*.so* || true
	fi

       # Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77
       # gfortran is fully backwards compatible. This is a safe and practical solution.
       if [ -f /opt/OE/build/tmp.1/cross/ppce300c3/bin/powerpc-linux-gfortran ]; then
              currdir="$PWD"
              cd /opt/OE/build/tmp.1/cross/ppce300c3/bin/
              ln -sf powerpc-linux-gfortran powerpc-linux-g77 || true
              cd /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/bin/
              ln -sf gfortran g77 || true
              cd $currdir
       fi
        for i in `find /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image -name "*.la"` ; do \
                sed -i -e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),/opt/OE/build/tmp.1/cross/ppce300c3/lib/\1,g' $i
                sed -i -e s:/opt/OE/build/tmp.1/cross/ppce300c3/i686-linux::g $i
                sed -i -e s:/opt/OE/build/tmp.1/cross/ppce300c3::g $i
                sed -i -e s:/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib:/opt/OE/build/tmp.1/cross/ppce300c3/lib:g $i
                sed -i -e s:/opt/OE/build/tmp.1/staging/ppce300c3-linux::g $i
                sed -i -e s:/opt/OE/build/tmp.1/staging::g $i
                sed -i -e s:/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4::g $i
                sed -i -e s:/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp::g $i
                sed -i -e s:/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image::g $i
        done

}

oenote() {
	echo "NOTE:" "$*"

}

package_update_index_ipk() {
	set -x

	ipkgarchs="all any noarch powerpc  ppce300c3 mpc5121"

	if [ ! -z "${DEPLOY_KEEP_PACKAGES}" ]; then
		return
	fi

	touch /opt/OE/build/tmp.1/deploy/ipk/Packages
	ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/Packages -p /opt/OE/build/tmp.1/deploy/ipk/Packages -l /opt/OE/build/tmp.1/deploy/ipk/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk

	for arch in $ipkgarchs; do
		if [ -e /opt/OE/build/tmp.1/deploy/ipk/$arch/ ] ; then
			touch /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages
			ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages -p /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages -l /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk/$arch/
		fi
		if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/ ] ; then
			touch /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages
			ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages -p /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages -l /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/
		fi
		if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/ ] ; then
			touch /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages
			ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages -p /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages -l /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/
		fi
	done

}

do_package_write() {
	:

}

package_generate_ipkg_conf() {
	mkdir -p /opt/OE/build/tmp.1/staging/i686-linux/etc/
	echo "src oe file:/opt/OE/build/tmp.1/deploy/ipk" > /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg.conf
	echo "src oe file:/opt/OE/build/tmp.1/deploy/ipk" > /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-sdk.conf
	echo "src oe file:/opt/OE/build/tmp.1/deploy/ipk" > /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-canadian-sdk.conf
	ipkgarchs="all any noarch powerpc  ppce300c3 mpc5121"
	priority=1
	for arch in $ipkgarchs; do
		echo "arch $arch $priority" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg.conf
		echo "arch i686-$arch-sdk $priority" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-sdk.conf
		echo "arch i686-linux-sdk-$arch $priority" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-canadian-sdk.conf
		priority=$(expr $priority + 5)
		if [ -e /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages ] ; then
		        echo "src oe-$arch file:/opt/OE/build/tmp.1/deploy/ipk/$arch" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg.conf
		fi
		if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages ] ; then
		        echo "src oe-i686-$arch-sdk file:/opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-sdk.conf
		fi
		if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages ] ; then
		        echo "src oe-i686-linux-sdk-$arch file:/opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-canadian-sdk.conf
		fi
	done

}

base_do_fetchall() {
	:

}

staging_packager() {

	mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL
	mkdir -p /opt/OE/build/tmp.1/deploy/pstage/fred/2/.1/-opt-OE-build-tmp.1

	echo "Package: staging-gcc-cross-ppce300c3-linux"         >  /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	echo "Version: 4.2.4-r5"    >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	echo "Description: The GNU cc and gcc C compilers."      >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	echo "Section: devel"              >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	echo "Priority: Optional"               >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	echo "Maintainer: OpenEmbedded Team <openembedded-devel@lists.openembedded.org>"        >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	echo "Architecture: i686-linux"  >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control

	# Protect against empty SRC_URI
	if [ "ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.4/gcc-4.2.4.tar.bz2 	file://100-uclibc-conf.patch;patch=1 	file://103-uclibc-conf-noupstream.patch;patch=1 	file://200-uclibc-locale.patch;patch=1 	file://203-uclibc-locale-no__x.patch;patch=1 	file://204-uclibc-locale-wchar_fix.patch;patch=1 	file://205-uclibc-locale-update.patch;patch=1 	file://300-libstdc++-pic.patch;patch=1 	file://301-missing-execinfo_h.patch;patch=1 	file://302-c99-snprintf.patch;patch=1 	file://303-c99-complex-ugly-hack.patch;patch=1 	file://304-index_macro.patch;patch=1 	file://305-libmudflap-susv3-legacy.patch;patch=1 	file://306-libstdc++-namespace.patch;patch=1 	file://307-locale_facets.patch;patch=1 	file://402-libbackend_dep_gcov-iov.h.patch;patch=1 	file://602-sdk-libstdc++-includes.patch;patch=1 	file://740-sh-pr24836.patch;patch=1 	file://800-arm-bigendian.patch;patch=1 	file://801-arm-bigendian-eabi.patch;patch=1 	file://904-flatten-switch-stmt-00.patch;patch=1 	file://arm-nolibfloat.patch;patch=1 	file://arm-softfloat.patch;patch=1 	file://gcc41-configure.in.patch;patch=1 	file://arm-thumb.patch;patch=1 	file://arm-thumb-cache.patch;patch=1 	file://ldflags.patch;patch=1 	file://zecke-xgcc-cpp.patch;patch=1 	file://unbreak-armv4t.patch;patch=1 	file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 	file://cache-amnesia.patch;patch=1 	file://gfortran.patch;patch=1 	file://gcc-4.0.2-e300c2c3.patch;patch=1 	file://fortran-static-linking.patch;patch=1 	file://intermask-bigendian.patch;patch=1  file://zecke-no-host-includes.patch;patch=1 " != "" ] ; then
		echo "Source: ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.4/gcc-4.2.4.tar.bz2 	file://100-uclibc-conf.patch;patch=1 	file://103-uclibc-conf-noupstream.patch;patch=1 	file://200-uclibc-locale.patch;patch=1 	file://203-uclibc-locale-no__x.patch;patch=1 	file://204-uclibc-locale-wchar_fix.patch;patch=1 	file://205-uclibc-locale-update.patch;patch=1 	file://300-libstdc++-pic.patch;patch=1 	file://301-missing-execinfo_h.patch;patch=1 	file://302-c99-snprintf.patch;patch=1 	file://303-c99-complex-ugly-hack.patch;patch=1 	file://304-index_macro.patch;patch=1 	file://305-libmudflap-susv3-legacy.patch;patch=1 	file://306-libstdc++-namespace.patch;patch=1 	file://307-locale_facets.patch;patch=1 	file://402-libbackend_dep_gcov-iov.h.patch;patch=1 	file://602-sdk-libstdc++-includes.patch;patch=1 	file://740-sh-pr24836.patch;patch=1 	file://800-arm-bigendian.patch;patch=1 	file://801-arm-bigendian-eabi.patch;patch=1 	file://904-flatten-switch-stmt-00.patch;patch=1 	file://arm-nolibfloat.patch;patch=1 	file://arm-softfloat.patch;patch=1 	file://gcc41-configure.in.patch;patch=1 	file://arm-thumb.patch;patch=1 	file://arm-thumb-cache.patch;patch=1 	file://ldflags.patch;patch=1 	file://zecke-xgcc-cpp.patch;patch=1 	file://unbreak-armv4t.patch;patch=1 	file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 	file://cache-amnesia.patch;patch=1 	file://gfortran.patch;patch=1 	file://gcc-4.0.2-e300c2c3.patch;patch=1 	file://fortran-static-linking.patch;patch=1 	file://intermask-bigendian.patch;patch=1  file://zecke-no-host-includes.patch;patch=1 "               >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	else
		echo "Source: OpenEmbedded"               >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
	fi

	stage-manager-ipkg-build -o 0 -g 0 /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg /opt/OE/build/tmp.1/deploy/pstage/fred/2/.1/-opt-OE-build-tmp.1

}

autotools_do_configure() {
	case gcc-cross in
	autoconf*)
	;;
	automake*)
	;;
	*)
		# WARNING: gross hack follows:
		# An autotools built package generally needs these scripts, however only
		# automake or libtoolize actually install the current versions of them.
		# This is a problem in builds that do not use libtool or automake, in the case
		# where we -need- the latest version of these scripts.  e.g. running a build
		# for a package whose autotools are old, on an x86_64 machine, which the old
		# config.sub does not support.  Work around this by installing them manually
		# regardless.
		( for ac in `find /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4 -name configure.in -o -name configure.ac`; do
			rm -f `dirname $ac`/configure
			done )
		if [ -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure.in -o -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure.ac ]; then
			olddir=`pwd`
			cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4
			if [ x"default" = xdefault ]; then
				acpaths=
				for i in `find /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4 -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
					grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
					acpaths="$acpaths -I $i"
				done
			else
				acpaths="default"
			fi
			AUTOV=`automake --version |head -n 1 |sed "s/.* //;s/\.[0-9]\+$//"`
			automake --version
			echo "AUTOV is $AUTOV"
			install -d /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal
			install -d /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal-$AUTOV
			acpaths="$acpaths -I/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal-$AUTOV -I /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal"
			# autoreconf is too shy to overwrite aclocal.m4 if it doesn't look
			# like it was auto-generated.  Work around this by blowing it away
			# by hand, unless the package specifically asked not to run aclocal.
			if ! echo --exclude=autopoint | grep -q "aclocal"; then
				rm -f aclocal.m4
			fi
			if [ -e configure.in ]; then
			  CONFIGURE_AC=configure.in
			else
			  CONFIGURE_AC=configure.ac
			fi
			if grep "^AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
			  if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then
			    : do nothing -- we still have an old unmodified configure.ac
			  else
			    oenote Executing glib-gettextize --force --copy
			    echo "no" | glib-gettextize --force --copy
			  fi
			fi
			if grep "^[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC >/dev/null; then
			  oenote Executing intltoolize --copy --force --automake
			  intltoolize --copy --force --automake
			fi
			oenote Executing autoreconf --verbose --install --force --exclude=autopoint $acpaths
			mkdir -p m4
			autoreconf -Wcross --verbose --install --force --exclude=autopoint $acpaths || oefatal "autoreconf execution failed."
			cd $olddir
		fi
	;;
	esac
	if [ -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure ]; then
		oe_runconf $@
	else
		oenote "nothing to configure"
	fi

}

base_do_stage() {
	:

}

autotools_stage_dir() {
	from="$1"
	to="$2"
	# This will remove empty directories so we can ignore them
	rmdir "$from" 2> /dev/null || true
	if [ -d "$from" ]; then
		mkdir -p "$to"
		cp -fpPR "$from"/* "$to"
	fi

}

autotools_stage_all() {
	if [ "${INHIBIT_AUTO_STAGE}" = "1" ]
	then
		return
	fi
	rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
	mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
	oe_runmake DESTDIR="/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging" install
	autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/include /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include
	if [ "i686-linux" = "i686-linux" ]; then
		autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/bin
		autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/sbin
		autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/bin
		autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/sbin
		autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/libexec /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/libexec
		if [ "/opt/OE/build/tmp.1/cross/ppce300c3/lib" != "/opt/OE/build/tmp.1/cross/ppce300c3/lib" ]; then
			# python puts its files in here, make sure they are staged as well
			autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib
		fi
	fi
	if [ -d /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib ]
	then
		olddir=`pwd`
		cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib
		las=$(find . -name \*.la -type f)
		cd $olddir
		echo "Found la files: $las"
		for i in $las
		do
			sed -e 's/^installed=yes$/installed=no/' \
			    -e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*.la\),/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/\1,g' \
			    -e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib,g' \
			    -e "/^dependency_libs=/s,\([[:space:]']\)/opt/OE/build/tmp.1/cross/ppce300c3/lib,\1/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib,g" \
			    -i /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/$i
		done
		autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib
	fi
	# Ok, this is nasty. pkgconfig.bbclass is usually used to install .pc files,
	# however some packages rely on the presence of .pc files to enable/disable
	# their configurataions in which case we better should not install everything
	# unconditionally, but rather depend on the actual results of make install.
	# The good news though: a) there are not many packages doing this and
	# b) packaged staging will fix that anyways. :M:
	if [ "${AUTOTOOLS_STAGE_PKGCONFIG}" = "1" ]
	then
		if [ -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/pkgconfig/ ] ; then
			echo "cp -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/pkgconfig/*.pc /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig/"
			cp -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/pkgconfig/*.pc /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig/
		fi
	fi
	rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/share/man || true
	rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/share/info || true
	autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/share /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share
	rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging

}

ldconfig_postinst_fragment() {
if [ x"$D" = "x" ]; then
	if [ -e /etc/ld.so.conf ] ; then
		[ -x /sbin/ldconfig ] && /sbin/ldconfig
	fi
fi

}

do_compile() {
	export CC="ccache gcc "
	export AR_FOR_TARGET="powerpc-linux-ar"
	export RANLIB_FOR_TARGET="powerpc-linux-ranlib"
	export LD_FOR_TARGET="powerpc-linux-ld"
	export NM_FOR_TARGET="powerpc-linux-nm"
	export CC_FOR_TARGET="ccache  powerpc-linux-gcc -mcpu=e300c3"
	base_do_compile

}

staging_helper() {
	# Assemble appropriate opkg.conf
	conffile=/opt/OE/build/tmp.1/deploy/pstage/opkg.conf
	mkdir -p /opt/OE/build/tmp.1/deploy/pstage/pstaging_lists
	if [ ! -e $conffile ]; then
		ipkgarchs="i686-linux"
		priority=1
		for arch in $ipkgarchs; do
			echo "arch $arch $priority" >> $conffile
			priority=$(expr $priority + 5)
		done
		echo "dest root /" >> $conffile
	fi
	if [ ! -e /opt/OE/build/tmp.1/usr/lib/opkg/info/ ]; then
		mkdir -p /opt/OE/build/tmp.1/usr/lib/opkg/info/
	fi
 	if [ ! -e /opt/OE/build/tmp.1/usr/lib/ipkg/ ]; then
		cd /opt/OE/build/tmp.1/usr/lib/
		ln -sf opkg/ ipkg
	fi

}

populate_staging_postamble() {
	if [ "$PSTAGING_ACTIVE" = "1" ]; then
		# list the packages currently installed in staging
		# stage-manager-ipkg -f /opt/OE/build/tmp.1/deploy/pstage/opkg.conf -o /opt/OE/build/tmp.1 list_installed | awk '{print $1}' > /opt/OE/build/tmp.1/deploy/pstage/installed-list

		# exitcode == 5 is ok, it means the files change
		set +e
		stage-manager -p /opt/OE/build/tmp.1/staging -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-staging -u -d /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/staging
		exitcode=$?
		if [ "$exitcode" != "5" -a "$exitcode" != "0" ]; then
			exit $exitcode
		fi
		stage-manager -p /opt/OE/build/tmp.1/cross/ppce300c3 -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-cross -u -d /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/cross
		if [ "$exitcode" != "5" -a "$exitcode" != "0" ]; then
			exit $exitcode
		fi
		set -e
	fi

}

oedebug() {
	test $# -ge 2 || {
		echo "Usage: oedebug level \"message\""
		exit 1
	}

	test ${OEDEBUG:-0} -ge $1 && {
		shift
		echo "DEBUG:" $*
	}

}

oe_runmake() {
	if [ x"$MAKE" = x ]; then MAKE=make; fi
	oenote make  ARCH_FLAGS_FOR_TARGET='-mcpu=e300c3 -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include' "$@"
	make  ARCH_FLAGS_FOR_TARGET='-mcpu=e300c3 -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include' "$@" || die "oe_runmake failed"

}

do_package_stage_all() {
	:

}

staging_package_installer() {
	#stage-manager-ipkg -f /opt/OE/build/tmp.1/deploy/pstage/opkg.conf -force-depends -o /opt/OE/build/tmp.1 install /opt/OE/build/tmp.1/deploy/pstage/fred/2/.1/-opt-OE-build-tmp.1/staging-gcc-cross-ppce300c3-linux_4.2.4-r5_i686-linux.ipk

	STATUSFILE=/opt/OE/build/tmp.1/usr/lib/opkg/status
	echo "Package: staging-gcc-cross-ppce300c3-linux"        >> $STATUSFILE
	echo "Version: 4.2.4-r5"   >> $STATUSFILE
	echo "Status: install user installed"  >> $STATUSFILE
	echo "Architecture: i686-linux" >> $STATUSFILE
	echo "" >> $STATUSFILE

	CTRLFILE=/opt/OE/build/tmp.1/usr/lib/opkg/info/staging-gcc-cross-ppce300c3-linux.control
	echo "Package: staging-gcc-cross-ppce300c3-linux"        > $CTRLFILE
	echo "Version: 4.2.4-r5"   >> $CTRLFILE
	echo "Architecture: i686-linux" >> $CTRLFILE

	cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg
	find -type f | grep -v ./CONTROL | sed -e 's/^\.//' > /opt/OE/build/tmp.1/usr/lib/opkg/info/staging-gcc-cross-ppce300c3-linux.list

}

oefatal() {
	echo "FATAL:" "$*"
	exit 1

}

MIRRORS() {
ftp://ftp.gnu.org/gnu/gcc/releases/    ftp://gcc.gnu.org/pub/gcc/releases/
ftp://ftp.gnu.org/gnu/gcc/	http://mirrors.rcn.net/pub/sourceware/gcc/releases/
ftp://ftp.gnu.org/gnu/gcc/releases/    http://gcc.get-software.com/releases/
ftp://ftp.gnu.org/gnu/gcc/	http://gcc.get-software.com/releases/
ftp://ftp.debian.org/debian/pool/main	http://snapshot.debian.net/archive/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.de.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.au.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.cl.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.hr.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.fi.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.hk.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.hu.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.ie.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.it.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.jp.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.no.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.pl.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.ro.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.si.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.es.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.se.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool	ftp://ftp.tr.debian.org/debian/pool
ftp://ftp.gnu.org/gnu	ftp://mirrors.kernel.org/gnu
ftp://ftp.gnu.org/gnu	ftp://ftp.matrix.com.br/pub/gnu
ftp://ftp.gnu.org/gnu	ftp://ftp.cs.ubc.ca/mirror2/gnu
ftp://ftp.gnu.org/gnu	ftp://sunsite.ust.hk/pub/gnu
ftp://ftp.gnu.org/gnu	ftp://ftp.ayamura.org/pub/gnu
http://kernel.org	http://www.kernel.org/pub
http://kernel.org	ftp://ftp.us.kernel.org/pub
http://kernel.org	ftp://ftp.uk.kernel.org/pub
http://kernel.org	ftp://ftp.hk.kernel.org/pub
http://kernel.org	ftp://ftp.au.kernel.org/pub
http://kernel.org	ftp://ftp.jp.kernel.org/pub
ftp://ftp.gnupg.org/gcrypt/     ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/
ftp://ftp.gnupg.org/gcrypt/     ftp://ftp.surfnet.nl/pub/security/gnupg/
ftp://ftp.gnupg.org/gcrypt/     http://gulus.USherbrooke.ca/pub/appl/GnuPG/
ftp://dante.ctan.org/tex-archive ftp://ftp.fu-berlin.de/tex/CTAN
ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/
ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/
ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnutls.org/pub/gnutls/
ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnupg.org/gcrypt/gnutls/
ftp://ftp.gnutls.org/pub/gnutls http://www.mirrors.wiretapped.net/security/network-security/gnutls/
ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.mirrors.wiretapped.net/pub/security/network-security/gnutls/
ftp://ftp.gnutls.org/pub/gnutls http://josefsson.org/gnutls/releases/
http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/
http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.tau.ac.il/pub/unix/admin/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.cert.dfn.de/pub/tools/admin/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.kaizo.org/pub/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.tu-darmstadt.de/pub/sysadmin/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.tux.org/pub/sites/vic.cc.purdue.edu/tools/unix/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://sunsite.ualberta.ca/pub/Mirror/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://the.wiretapped.net/pub/security/host-security/lsof/
http://www.apache.org/dist  http://archive.apache.org/dist


}

cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/build.i686-linux.powerpc-linux
do_configure

  reply	other threads:[~2009-06-18 15:29 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-15 14:34 nof/libgcc_s.so installed instead of libgcc_s.so on powerpc Matteo Fortini
2009-06-15 15:03 ` Leon Woestenberg
2009-06-15 15:21   ` Matteo Fortini
2009-06-18  6:09     ` Khem Raj
2009-06-18 15:17       ` Matteo Fortini [this message]
2009-06-27  0:59         ` Khem Raj
2009-11-30  1:15           ` Jeremy Williams
2009-11-30 18:45             ` Khem Raj
2009-12-02 18:04               ` Jeremy Williams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A3A5A84.6090602@mta.it \
    --to=matteo.fortini@mta.it \
    --cc=openembedded-devel@lists.openembedded.org \
    --cc=openembedded-devel@openembedded.org \
    --cc=raj.khem@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox