summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorLukas K2016-01-07 18:23:54 +0100
committerLukas K2016-01-07 18:23:54 +0100
commit08369e55cea007f3afcfba714b39bc00d507381e (patch)
treed00fe78a8ff868e9bc18c4e6debfd279a635f0b4 /PKGBUILD
downloadaur-rl78-elf-gcc.tar.gz
Initial commit
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD91
1 files changed, 91 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..69008523b2e2
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,91 @@
+# Maintainer: Lukas K. <lu@0x83.eu>
+# adapted from msp430-elf PKGBUILD
+
+_target="rl78-elf"
+pkgname=${_target}-gcc
+pkgver=5.2.0
+_islver=0.14.1
+pkgrel=1
+pkgdesc="The GNU Compiler Collection for (${_target})"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+url="http://gcc.gnu.org"
+depends=("${_target}-newlib" "${_target}-binutils" 'libmpc' 'elfutils')
+options=('staticlibs' '!buildflags' '!libtool' '!emptydirs' 'zipman' 'docs' '!strip')
+conflicts=("${_target}-gcc-stage1")
+replaces=("${_target}-gcc-stage1")
+provides=("${_target}-gcc-stage1")
+source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
+ http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2)
+sha256sums=('5f835b04b5f7dd4f4d2dc96190ec1621b8d89f2dc6f638f9f8bc1b1014ba8cad'
+ '1f20561843eb9f6ae2076800bc45f3680ff7696520257cd5734ccfb843464cae')
+
+prepare() {
+ cd "${srcdir}/gcc-${pkgver}"
+ [[ -L isl ]] && rm -f isl
+ ln -s ../isl-${_islver} isl
+
+ [[ -d gcc-build ]] && rm -rf gcc-build
+ mkdir gcc-build
+}
+
+build() {
+ cd "${srcdir}/gcc-${pkgver}"
+
+ export CFLAGS="-O2 -pipe"
+ export CXXFLAGS="-O2 -pipe"
+
+ export CFLAGS_FOR_TARGET="-Os -pipe"
+ export CXXFLAGS_FOR_TARGET="-Os -pipe"
+
+ echo ${pkgver} > gcc/BASE-VER
+
+ cd gcc-build
+
+ [ $NOEXTRACT -eq 1 ] || ../configure \
+ --prefix=/usr \
+ --program-prefix=${_target}- \
+ --target=${_target} \
+ --host=$CHOST \
+ --build=$CHOST \
+ --disable-shared \
+ --disable-nls \
+ --disable-threads \
+ --enable-languages=c,c++ \
+ --enable-multilib \
+ --with-system-zlib \
+ --with-local-prefix=/usr/${_target} \
+ --with-sysroot=/usr/${_target} \
+ --with-as=/usr/bin/${_target}-as \
+ --with-ld=/usr/bin/${_target}-ld \
+ --disable-libgomp \
+ --enable-interwork \
+ --enable-addons
+
+ make all-gcc all-target-libgcc
+}
+
+package() {
+ cd "${srcdir}/gcc-${pkgver}/gcc-build"
+
+ export CFLAGS="-O2 -pipe"
+ export CXXFLAGS="-O2 -pipe"
+
+ export CFLAGS_FOR_TARGET="-Os -pipe"
+ export CXXFLAGS_FOR_TARGET="-Os -pipe"
+
+ make DESTDIR="${pkgdir}" install-gcc install-target-libgcc
+
+ rm -rf "${pkgdir}/usr/share/man/man7/"
+ rm -rf "${pkgdir}/usr/share/info"
+
+ cp -r "${pkgdir}"/usr/libexec/* "${pkgdir}/usr/lib/"
+ rm -rf "${pkgdir}/usr/libexec"
+
+ # strip it manually
+ strip "${pkgdir}"/usr/bin/* 2>/dev/null || true
+ find "${pkgdir}"/usr/lib -type f -exec /usr/bin/${_target}-strip \
+ --strip-unneeded {} \; 2>/dev/null || true
+}
+
+# vim:set ts=2 sw=2 et: