# Contributor: Vojtech Horky _pkgname=gcc _target="mips64el-unknown-linux-gnu" _sysroot="/usr/lib/cross-${_target}" export PATH=${_sysroot}/bin:/usr/bin/cross/${_target}:$PATH pkgname=cross-${_target}-gcc pkgver=4.6.2 pkgrel=1 pkgdesc="The GNU Compiler Collection for the MIPS/Loongson2f architecture" url="http://www.gnu.org/software/binutils/" arch=('i686' 'x86_64') license=('GPL') #depends=('libmpc' 'sh' "cross-mips64el-linux-gnu-gcc-base" "cross-${_target}-binutils" "cross-${_target}-glibc" 'cloog' 'ppl') depends=('libmpc' 'sh' "cross-${_target}-binutils" 'cloog' 'ppl') options=('!ccache' '!distcc' '!emptydirs' '!libtool' '!strip') source=("ftp://ftp.gnu.org/gnu/gcc/gcc-${pkgver}/${_pkgname}-core-${pkgver}.tar.bz2") md5sums=('780f614ab18c7a9066dec6387d7490b2') build() { cd ${srcdir}/${_pkgname}-${pkgver} # -march=x86-64 and -mtune=generic don't work on mips64el, we # also want to use -mfix-loongson2f-nop. export CFLAGS_FOR_TARGET="-O2 -march=loongson2f -mabi=n32 -pipe -mplt -Wa,-mfix-loongson2f-nop" export CXXFLAGS_FOR_TARGET="-O2 -march=loongson2f -mabi=n32 -pipe -mplt -Wa,-mfix-loongson2f-nop" ./configure \ "--prefix=${_sysroot}" \ "--bindir=/usr/bin" "--program-prefix=${_target}-" \ "--with-sysroot=${_sysroot}" \ "--target=${_target}" "--build=$CHOST" "--host=$CHOST" \ --enable-shared \ --with-gnu-as --with-gnu-ld \ --disable-nls --disable-threads \ --enable-languages=c \ --disable-multilib --disable-libgcj \ --enable-cloog-backend=isl # --enable-languages=c,c++,lto,fortran,objc,obj-c++ \ make all # -gcc "inhibit_libc=true" } package() { cd ${srcdir}/${_pkgname}-${pkgver} make DESTDIR=${pkgdir} install # -gcc msg "Removing duplicit files..." # remove these files as they are already in the system # (with native gcc) rm -Rf ${pkgdir}${_sysroot}/{man,info} # remove conflicting binaries find ${pkgdir}/usr/bin/ -type f -not -name "${_target}-*" -delete msg "Creating out-of-path executables..." # symlink executables to single directory with no-arch-prefix name mkdir -p ${pkgdir}/usr/bin/cross/${_target}/; cd ${pkgdir}/usr/bin/cross/${_target}/; for bin in ${pkgdir}/usr/bin/${_target}-*; do bbin=`basename "$bin"`; ln -s "/usr/bin/${bbin}" `echo "$bbin" | sed "s#^${_target}-##"`; done }