anchor.diff:  
   	# add missing link to libgcc_s.so.1
   	# libgcc-dev should be responsible for that, but it's not getting built
  -	# RP: it gets smashed up depending on the order that gcc, gcc-cross and
  +	# RP: it gets smashed up depending on the order that gcc, gcc-cross and 
   	# gcc-cross-sdk get built :( (30/11/07)
   	ln -sf libgcc_s.so.1 ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libgcc_s.so
   
  
positive.code: 	for sitefile in ${CONFIG_SITE} ; do
  		cat $sitefile >> $siteconfig
  	done
  }
  
  do_package_sdk() {
  	# package it up
  	mkdir -p ${SDK_DEPLOY}
  	cd ${SDK_OUTPUT}
  	fakeroot tar cfj ${SDK_DEPLOY}/${SDK_SYS}-sdk-${DISTRO}-${DISTRO_VERSION}-${FEED_ARCH}-${TARGET_OS}.tar.bz2 .${prefix}
  	rm -f ${SDK_DEPLOY}/${SDK_SYS}-sdk-${DISTRO}-${DISTRO_VERSION}-${FEED_ARCH}-${TARGET_OS}.zip
  	zip -r -D ${SDK_DEPLOY}/${SDK_SYS}-sdk-${DISTRO}-${DISTRO_VERSION}-${FEED_ARCH}-${TARGET_OS}.zip .${prefix}
  }
  
  do_populate_sdk[nostamp] = "1"
  do_populate_sdk[recrdeptask] = "do_package_write"
  addtask populate_sdk before do_build after do_install
  
  do_package_sdk[nostamp] = "1"
  do_package_sdk[recrdeptask] = "do_populate_sdk"
  addtask package_sdk before do_build after do_populate_sdk
  
negative.code: DESCRIPTION = "Meta package for building a installable toolchain"
  LICENSE = "MIT"
  DEPENDS = "opkg-native ipkg-utils-native fakeroot-native sed-native zip-native"
  PR = "r4"
  
  # NOTE: We need to save and restore PACKAGE_ARCHS, because sdk.bbclass
  # will change HOST_ARCH, which can result in SITEINFO_ENDIANESS (which
  # is computed in siteinfo.bbclass) in changing if the original HOST_ARCH
  # endianess differs from the new HOST_ARCH endianess.  SITEINFO_ENDIANNESS
  # is used in a number of places, including the construction of the
  # PACKAGE_EXTRA_ARCHS list for machines that are capable of running in
  # either endianess.  There may be better ways to fix this.
  
  # Save value of PACKAGE_ARCHS (note the ":=" syntax to force immediate eval)
  REAL_PACKAGE_ARCHS := "${PACKAGE_ARCHS}"
  
  inherit canadian-sdk meta
  
  # Restore PACKAGE_ARCHS (sdk.bbclass may have caused it to change)
  PACKAGE_ARCHS := "${REAL_PACKAGE_ARCHS}"
  
  SDK_DIR = "${WORKDIR}/sdk"
  SDK_OUTPUT = "${SDK_DIR}/image"
  SDK_DEPLOY = "${DEPLOY_DIR}/sdk"
  
  IPKG_HOST = "opkg-cl -f ${IPKGCONF_CANSDK} -o ${SDK_OUTPUT}"
  IPKG_TARGET = "opkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}/${SDK_PATH}/${TARGET_SYS}"
  
  TOOLCHAIN_CANADIAN_HOST_TASK ?= "task-sdk-canadian-host"
  TOOLCHAIN_TARGET_TASK ?= "task-sdk-bare"
  FEED_ARCH ?= "${TARGET_ARCH}"
  SDK_SUFFIX = "toolchain"
  TOOLCHAIN_OUTPUTNAME ?= "${SDK_SYS}-${DISTRO}-${DISTRO_VERSION}-${FEED_ARCH}-${TARGET_OS}-${SDK_SUFFIX}"
  
  RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_CANADIAN_HOST_TASK}"
  
  TOOLCHAIN_FEED_URI ?= "${DISTRO_FEED_URI}"
  
  modify_opkg_conf () {
          OUTPUT_OPKGCONF_TARGET="${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/${layout_sysconfdir}/opkg.conf"
          OUTPUT_OPKGCONF_HOST="${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/${layout_sysconfdir}/opkg-canadian-sdk.conf"
          OUTPUT_OPKGCONF_SDK="${SDK_OUTPUT}/${sysconfdir}/opkg-canadian-sdk.conf"
          rm ${OUTPUT_OPKGCONF_TARGET}
          rm ${OUTPUT_OPKGCONF_HOST}
          rm ${OUTPUT_OPKGCONF_SDK}
          opkgarchs="${PACKAGE_ARCHS}"
          priority=1
          for arch in ${opkgarchs}; do
                  echo "arch ${arch} ${priority}" >> ${OUTPUT_OPKGCONF_TARGET};
                  echo "src/gz ${arch} ${TOOLCHAIN_FEED_URI}/${arch}" >> ${OUTPUT_OPKGCONF_TARGET};
                  priority=$(expr ${priority} + 5);
          done
  }
  
  do_populate_sdk() {
  	rm -rf ${SDK_OUTPUT}
  