# $id$
# Maintainer: Sébastien Luttringer
# Contributor: Lawrence Lee <valheru@facticius.net>
# Contributor: Phillip Marvin <phillip.marvin@gmail.com>
# Contributor: keystone <phillip.marvin@gmail.com>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - aarch64 support patch
#  - build v5 with system libatomic_ops

pkgname=libunwind
pkgver=1.1
pkgrel=3
pkgdesc='Portable and efficient C programming interface (API) to determine the call-chain of a program'
arch=('i686' 'x86_64')
url='http://www.nongnu.org/libunwind/'
license=('GPL')
depends=('glibc' 'xz')
depends_arm=('libatomic_ops')
source=("http://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.gz"
        '001-invalid-dwarf-opcodes-can-cause-references-beyond.patch'
        'libunwind-aarch64.patch')
md5sums=('fb4ea2f6fbbe45bf032cd36e586883ce'
         '73db2376e195a716f271ebce6bb7e5c0'
         '5dd4c2661baa949389259a027d3b89e2')

prepare() {
  patch -p1 -d $pkgname-$pkgver < 001-invalid-dwarf-opcodes-can-cause-references-beyond.patch

  cd $pkgname-$pkgver
  patch -p1 -i ../libunwind-aarch64.patch
  autoreconf -fi
}

build() {
  cd $pkgname-$pkgver

  [[ $CARCH == "arm" ]] && LDFLAGS+=" -latomic_ops" && CFLAGS+=" -DAO_USE_PTHREAD_DEFS=1"

  ./configure CFLAGS="$CFLAGS -U_FORTIFY_SOURCE" --prefix=/usr
  make
}

check() {
  cd $pkgname-$pkgver
  # This function is ``supposed'' to fail. Upstream know, but haven't fixed it.
  make check || return 0
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir/" install
}

# vim:set ts=2 sw=2 et: