summaryrefslogtreecommitdiff
path: root/community/avr-gcc/PKGBUILD
blob: 9d2466d9ac3f10cadef2b796d56706a6d2b00742 (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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# $Id: PKGBUILD 99692 2013-10-30 23:03:34Z allan $
# Maintainer: schuay <jakob.gruber@gmail.com>
# Contributor: Brad Fanella <bradfanella@archlinux.us>
# Contributor: Corrado Primier <bardo@aur.archlinux.org>
# Contributor: danst0 <danst0@west.de>

# Build order: avr-binutils -> avr-gcc -> avr-libc

pkgname=avr-gcc
_pkgname=gcc
pkgver=4.8.2
pkgrel=1
pkgdesc="The GNU AVR Compiler Collection"
arch=('i686' 'x86_64')
license=('GPL' 'LGPL' 'FDL' 'custom')
url="http://gcc.gnu.org/"
depends=('avr-binutils>=2.23' 'cloog' 'ppl' 'gcc-libs>=4.8.0' 'libmpc')
optdepends=('avr-libc: Standard C library for Atmel AVR development')
provides=("gcc-avr=$pkgver")
replaces=('gcc-avr')
options=('!emptydirs' '!strip')
source=(http://ftp.gnu.org/gnu/gcc/${_pkgname}-${pkgver}/gcc-${pkgver}.tar.bz2)

_basedir=${_pkgname}-${pkgver}

build() {
    # default CFLAGS lead to issues later on when configure 
    # calls avr-gcc with -march set.
    export CFLAGS="-O2 -pipe"
    export CXXFLAGS="-O2 -pipe"

    cd ${srcdir}/${_basedir} 

    # Do not install libiberty
    sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in

    # https://bugs.archlinux.org/task/34629
    sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
    sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" gcc/configure

    echo ${pkgver} > gcc/BASE-VER

    cd ${srcdir}
    mkdir gcc-build && cd gcc-build

    # --disable-linker-build-id: https://bugs.archlinux.org/task/34902

    ${srcdir}/${_basedir}/configure \
                --disable-cloog-version-check \
                --disable-install-libiberty \
                --disable-libssp \
                --disable-libstdcxx-pch \
                --disable-libunwind-exceptions \
                --disable-linker-build-id \
                --disable-nls \
                --disable-werror \
                --enable-__cxa_atexit \
                --enable-checking=release \
                --enable-clocale=gnu \
                --enable-cloog-backend=isl \
                --enable-gnu-unique-object \
                --enable-gold \
                --enable-languages=c,c++ \
                --enable-ld=default \
                --enable-lto \
                --enable-plugin \
                --enable-shared \
                --infodir=/usr/share/info \
                --libdir=/usr/lib \
                --libexecdir=/usr/lib \
                --mandir=/usr/share/man \
                --prefix=/usr \
                --target=avr \
                --with-as=/usr/bin/avr-as \
                --with-gnu-as \
                --with-gnu-ld \
                --with-ld=/usr/bin/avr-ld \
                --with-plugin-ld=ld.gold \
                --with-system-zlib

    make
}

package() {
    cd ${srcdir}/gcc-build

    make -j1 DESTDIR=${pkgdir} install

    # Strip debug symbols from libraries; without this, the package size balloons to ~500MB.
    find ${pkgdir}/usr/lib -type f -name "*.a" \
        -exec /usr/bin/avr-strip --strip-debug '{}' \;

    # Install Runtime Library Exception
    install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
        ${pkgdir}/usr/share/licenses/${pkgname}/RUNTIME.LIBRARY.EXCEPTION

    rm -rf ${pkgdir}/usr/share/man/man7
    rm -rf ${pkgdir}/usr/share/info
}

md5sums=('a3d7d63b9cb6b6ea049469a0c4a43c9d')