summaryrefslogtreecommitdiff
path: root/cross/cross-mips64el-unknown-linux-gnu-gcc/PKGBUILD
blob: e4b91c65284ac92fa9d4decaca6494570afd0d9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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
}