File PKGBUILD of Package lld21

pkgname=lld21
pkgver=21.1.5
pkgrel=2
pkgdesc="Linker from the LLVM project (Version 21)"
arch=('x86_64')
url="https://lld.llvm.org/"
license=('Apache-2.0 WITH LLVM-exception')
depends=('llvm21-libs' 'gcc-libs' 'zlib' 'zstd')
makedepends=('llvm21' 'cmake' 'ninja' 'mold')
checkdepends=('llvm')
source=(llvm-project.tar)
b2sums=('SKIP')

prepare() {
  mkdir llvm-project/lld/build
}

build() {
  cd llvm-project/lld/build

  local cmake_args=(
    CMAKE_BUILD_TYPE=Release
    CMAKE_INSTALL_PREFIX=/usr/lib/llvm21
    CMAKE_BUILD_WITH_INSTALL_RPATH=ON
    BUILD_SHARED_LIBS=ON
    LLVM_CMAKE_DIR=/usr/lib/llvm21/lib/cmake
    LLVM_CONFIG=/usr/lib/llvm21/bin/llvm-config
    LLVM_ENABLE_SPHINX=OFF
    LLVM_INCLUDE_TESTS=OFF
    LLVM_LINK_LLVM_DYLIB=ON

    CMAKE_C_FLAGS="-O3 -march=znver3 -pipe"
    CMAKE_CXX_FLAGS="-O3 -march=znver3 -pipe"
    LLVM_USE_LINKER=mold
  )
  cmake .. -GNinja "${cmake_args[@]/#/-D}"
  ninja
}

package() {
  cd llvm-project/lld/build

  DESTDIR="$pkgdir" ninja install
  install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}

# vim:set ts=2 sw=2 et:
openSUSE Build Service is sponsored by