#!/usr/bin/env bash
name='lld'
release='5'
version='20.1.7'
url='https://github.com/llvm/llvm-project'
description='The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.'
email='aliriza.keskin@pardus.org.tr'
maintainer='aliriza'
license=('GPLv3')
source=(
    "https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/lld-$version.src.tar.xz"
    "https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/cmake-$version.src.tar.xz"
    "https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/libunwind-$version.src.tar.xz"
    "https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/llvm-$version.src.tar.xz"
)

depends=(llvm)
makedepends=()
sha256sums=(
    '9cb94dac7db0e1f2b664469e1574c0b350bec3eacd0cbc524481a6f65fc0f185'
    'afdab526c9b337a4eacbb401685beb98a18fb576037ecfaa93171d4c644fe791'
    '46081293b2f857caca68a266cf11fad8366315c470a9a6766868ed6c369bac0c'
    '10b62d003f16afbd1a5ee0aa6397704c13d9a12a2562103998a8c1eff4a0f1ea'
)

group=(sys.devel)
uses=()
arch=('x86_64')

cd $name-$version.src

prepare(){
    mv ../cmake{-$version.src,}
    mv ../libunwind{-$version.src,}
}

local cmake_args=(
    -G Ninja
    -DCMAKE_BUILD_TYPE=Release
    -DCMAKE_INSTALL_PREFIX=/usr
    -DCMAKE_INSTALL_DOCDIR=share/doc
    -DCMAKE_SKIP_RPATH=ON
    -DBUILD_SHARED_LIBS=ON
    -DLLVM_BUILD_DOCS=OFF
    -DLLVM_ENABLE_SPHINX=OFF
    -DLLVM_EXTERNAL_LIT=/usr/bin/lit
    -DLLVM_INCLUDE_TESTS=ON
    -DLLVM_LINK_LLVM_DYLIB=ON
    -DLLVM_INCLUDE_TESTS=OFF
    -DLLVM_MAIN_SRC_DIR="$(realpath ../llvm-$version.src)"
    -DSPHINX_WARNINGS_AS_ERRORS=OFF
)

setup(){
    mkdir build && cd build
    cmake .. ${cmake_args[@]}
}

build(){
    ninja -C build ${jobs}
}

package(){
    ninja -C build install ${jobs}
}

