# Contributor Eric Molitor # Contributor Travis Tilley # Maintainer: Natanael Copa pkgname=clang # Note: Update together with llvm. pkgver=7.0.1 pkgrel=1 _llvmver=${pkgver%%.*} pkgdesc="A C language family front-end for LLVM" arch="all" url="http://llvm.org/" license="NCSA" makedepends=" cmake isl-dev libedit-dev libexecinfo-dev libxml2-dev libxml2-utils llvm-dev>=$_llvmver llvm-static>=$_llvmver llvm-test-utils>=$_llvmver ninja python3 " depends_dev="$pkgname=$pkgver-r$pkgrel" subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-libs $pkgname-analyzer::noarch" source="https://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.xz 10-add-musl-triples.patch 20-Enable-stack-protector-by-default-for-Alpine-Linux.patch" builddir="$srcdir/cfe-$pkgver.src" build() { mkdir -p "$builddir"/build cd "$builddir"/build cmake .. -G Ninja -Wno-dev \ -DCMAKE_BUILD_TYPE=MinSizeRel \ -DCMAKE_C_FLAGS_MINSIZEREL_INIT="$CFLAGS" \ -DCMAKE_CXX_FLAGS_MINSIZEREL_INIT="$CXXFLAGS" \ -DCMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT="$LDFLAGS" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_VERBOSE_MAKEFILE=OFF \ -DCLANG_VENDOR=Alpine \ -DCLANG_BUILD_EXAMPLES=OFF \ -DCLANG_INCLUDE_DOCS=ON \ -DCLANG_INCLUDE_TESTS=ON \ -DCLANG_PLUGIN_SUPPORT=ON \ -DLIBCLANG_BUILD_STATIC=ON \ -DLLVM_ENABLE_EH=ON \ -DLLVM_ENABLE_RTTI=ON ninja clang-tblgen ninja } check() { cd "$builddir"/build lit -sv --param clang_site_config=$builddir/build/test/lib.site.cfg $builddir/build/test } package() { cd "$builddir"/build DESTDIR="$pkgdir" ninja install install -m 644 lib/libclang.a "$pkgdir"/usr/lib } static() { pkgdesc="Static libraries for clang" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib/ } analyzer() { pkgdesc="Clang source code analysis framework" depends="$pkgname=$pkgver-r$pkgrel perl python2" cd "$pkgdir" mkdir -p "$subpkgdir"/usr/bin \ "$subpkgdir"/usr/libexec \ "$subpkgdir"/usr/share/ mv usr/bin/scan-* "$subpkgdir"/usr/bin/ mv usr/libexec/*-analyzer "$subpkgdir"/usr/libexec/ mv usr/share/scan-* "$subpkgdir"/usr/share/ } sha512sums="df2f38153ebdc261bcfa6a569567f759bbb1a803192882a9d4eca55a47878166ac9057151a94ad341dc1281136547e4faa783a68070dfde2307b48cacd4b9194 cfe-7.0.1.src.tar.xz b52cb7d74636d39d12dd6c94a2b2a9c01e4d6a535d151aa8ca49b691eb20e1b4ea08481f1517ef81f4501ebc305a32d7951638cc0385fee134131e827bb0b2f3 10-add-musl-triples.patch b98f39354adf7cf09de5bcac498cccb5c5dd4b8ba7ea0e6c18f2f2204650288088a12b7a535451e21a451b890b70430d679a09df7161de03dbf30d6b49ee1ec0 20-Enable-stack-protector-by-default-for-Alpine-Linux.patch"