summaryrefslogtreecommitdiff
path: root/cross/cross-mips64el-unknown-linux-gnu-gcc/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'cross/cross-mips64el-unknown-linux-gnu-gcc/PKGBUILD')
-rw-r--r--cross/cross-mips64el-unknown-linux-gnu-gcc/PKGBUILD63
1 files changed, 63 insertions, 0 deletions
diff --git a/cross/cross-mips64el-unknown-linux-gnu-gcc/PKGBUILD b/cross/cross-mips64el-unknown-linux-gnu-gcc/PKGBUILD
new file mode 100644
index 000000000..e4b91c652
--- /dev/null
+++ b/cross/cross-mips64el-unknown-linux-gnu-gcc/PKGBUILD
@@ -0,0 +1,63 @@
+# Contributor: Vojtech Horky <vojta . horky at-symbol seznam . cz>
+_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
+}