# Maintainer: George Rawlinson <grawlinson@archlinux.org>
# Contributor: Adrian Perez de Castro <aperez@igalia.com>

pkgname=mold
pkgver=2.40.4
pkgrel=3
pkgdesc='A Modern Linker'
arch=('x86_64' 'aarch64')
url='https://github.com/rui314/mold'
license=('MIT')
# bundled: xxhash, mimalloc
depends=(
  glibc
  libblake3
  libstdc++
  tbb
  zlib
  zstd
)
makedepends=(
  cmake
  ninja
  git
  mold
  python
)
checkdepends=(
  clang
  libdwarf
)
source=("${pkgname}::git+${url}.git#tag=v${pkgver}")
sha512sums=('5352c33db45b1a8d796575e978424e097562b52e6fdacacc1a68a0ebbaca45ae68ccdccddfa3bca4fdd711d9de8893a2f1531a3b80d8b43b3e1d915e258040cc')
b2sums=('35ef221bbe5dd7873f1983b3cf2b3db0fe0224618ba59df99e03eb858e8a24455471e4ea192df09c24170ddc1fe98e93a8e13907e40a1e8bdf83252ab4a3da16')

build() {
  local cmake_options=(
    -B build
    -S "$pkgname"
    -G Ninja
    -W no-dev
    -D CMAKE_BUILD_TYPE=None
    -D CMAKE_INSTALL_PREFIX=/usr
    -D CMAKE_INSTALL_LIBEXECDIR=lib
    -D MOLD_USE_SYSTEM_MIMALLOC=OFF
    -D MOLD_USE_SYSTEM_TBB=ON
    -D MOLD_LTO=ON
    -D MOLD_USE_MOLD=ON
  )

  cmake "${cmake_options[@]}"

  cmake --build build
}

check() {
  ctest --test-dir build --output-on-failure
}

package() {
  DESTDIR="$pkgdir" cmake --install build

  # license
  install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" "$pkgname/LICENSE"
}
