clang: add polly

This commit is contained in:
U-DESKTOP-F30HBOP\user
2017-06-03 07:27:37 +02:00
parent f11357a521
commit 2af577d710
2 changed files with 44 additions and 11 deletions

View File

@@ -0,0 +1,9 @@
--- llvm-4.0.0.src/tools/bugpoint/CMakeLists.txt
+++ llvm-4.0.0.src/tools/bugpoint/CMakeLists.txt
@@ -37,6 +37,4 @@
if(WITH_POLLY AND LINK_POLLY_INTO_TOOLS)
target_link_libraries(bugpoint Polly)
- # Ensure LLVMTarget can resolve dependences in Polly.
- target_link_libraries(bugpoint LLVMTarget)
endif(WITH_POLLY AND LINK_POLLY_INTO_TOOLS)

View File

@@ -2,9 +2,10 @@
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Contributor: Ray Donnelly <mingw.android@gmail.com>
# Contributor: Mateusz Mikuła <mati865@gmail.com>
# Contributor: wirx6 <wirx654@gmail.com>
# choose the compiler that will be used to build clang
# clang cannot build clang 64 bit due to mingw-w64 headers bugs; 32 bit clang is fine
# clang is fine but there are problems with libcxxabi
_compiler=gcc # clang, gcc
_realname=clang
@@ -18,14 +19,15 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}"
"${MINGW_PACKAGE_PREFIX}-lld"
"${MINGW_PACKAGE_PREFIX}-libunwind"
"${MINGW_PACKAGE_PREFIX}-llvm"
"${MINGW_PACKAGE_PREFIX}-lldb")
"${MINGW_PACKAGE_PREFIX}-lldb"
"${MINGW_PACKAGE_PREFIX}-polly")
pkgver=4.0.0
pkgrel=1
pkgdesc="C language family frontend for LLVM (mingw-w64)"
arch=('any')
url="http://llvm.org"
license=("custom:University of Illinois/NCSA Open Source License")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake>=3.4.3"
$([[ "$_compiler" == "clang" ]] && echo \
"${MINGW_PACKAGE_PREFIX}-clang")
"${MINGW_PACKAGE_PREFIX}-libffi"
@@ -46,6 +48,7 @@ source=(http://llvm.org/releases/${pkgver}/llvm-${pkgver}.src.tar.xz{,.sig}
http://llvm.org/releases/${pkgver}/lld-${pkgver}.src.tar.xz{,.sig}
http://llvm.org/releases/${pkgver}/lldb-${pkgver}.src.tar.xz{,.sig}
http://llvm.org/releases/${pkgver}/libunwind-${pkgver}.src.tar.xz{,.sig}
http://llvm.org/releases/${pkgver}/polly-${pkgver}.src.tar.xz{,.sig}
"0001-genlib-named-as-llvm-dlltool.patch"
"0002-mingw-w64-use-MSVC-style-ByteAlignment.patch"
"0003-Fix-GetHostTriple-for-mingw-w64-in-msys.patch"
@@ -53,6 +56,7 @@ source=(http://llvm.org/releases/${pkgver}/llvm-${pkgver}.src.tar.xz{,.sig}
"0005-not-install-msvc-files.patch"
"0006-llvm-config-look-for-unversioned-shared-lib-on-win32.patch"
"0007-add-pthread-as-system-lib-for-mingw.patch"
"0008-fix-bugpoint-multiple-definition.patch"
"0101-mingw-w64-enable-support-for-__declspec-selectany.patch"
"0102-Allow-build-static-clang-library-for-mingw.patch"
"0103-fix-libclang-name-for-mingw.patch"
@@ -100,6 +104,8 @@ sha256sums=('8d10511df96e73b8ff9e7abbfb4d4d432edbdbe965f1f4f07afaf370b8a533be'
'SKIP'
'0755efa9f969373d4d543123bbed4b3f9a835f6302875c1379c5745857725973'
'SKIP'
'27a5dbf95e8aa9e0bbe3d6c5d1e83c92414d734357aa0d6c16020a65dc4dcd97'
'SKIP'
'3f55d2114805110e370fab6630763c359d83b07c356f61b86afc32feb7cf7514'
'78b6951956360a8e05fdc7020bc7e1996da75b499022f9213465070fc238529c'
'aceffb61d57c7c01bc2d9d5461f961df26cffdffaaabb8dda9f219acfe59c77a'
@@ -107,6 +113,7 @@ sha256sums=('8d10511df96e73b8ff9e7abbfb4d4d432edbdbe965f1f4f07afaf370b8a533be'
'c840f4e2286385c4ab3503c02976fd2459516fdc05e44f702d648afaaaebd97f'
'f06f57af203811f6a4c62ac3f1e4545628db13185f5e7d3225d4b1104ca69be1'
'c57d5f2904158b992378906bcddbae79d0566cdb07cc74fbd9b2d76d52661a12'
'5d1fbbe39221af57ae078e5387f43fec602541838b3608cd3f6517bb2364ae54'
'afdd708e2431874da4e03d9f51848840ec30ef64b4d440c8dfd50446b2f5ce1a'
'8ba3968939f9a7c6a51849aaf1ab6126f85aa612349570b3644f855929d496fc'
'1740ffa1d23fdee2b147a46cfed4d186bf7d3dc626bb3a1d3ca925147895a2d4'
@@ -162,6 +169,7 @@ prepare() {
patch -p1 -i "${srcdir}/0005-not-install-msvc-files.patch"
patch -p1 -i "${srcdir}/0006-llvm-config-look-for-unversioned-shared-lib-on-win32.patch"
patch -p1 -i "${srcdir}/0007-add-pthread-as-system-lib-for-mingw.patch"
patch -p1 -i "${srcdir}/0008-fix-bugpoint-multiple-definition.patch"
cd "${srcdir}/cfe-${pkgver}.src"
patch -p1 -i "${srcdir}/0101-mingw-w64-enable-support-for-__declspec-selectany.patch"
@@ -202,12 +210,13 @@ prepare() {
# See http://llvm.org/bugs/show_bug.cgi?id=4840
cd "${srcdir}"/llvm-${pkgver}.src
rm -rf tools/clang tools/clang/tools/extra tools/lld tools/lldb projects/compiler-rt projects/libcxx \
rm -rf tools/clang tools/clang/tools/extra tools/lld tools/lldb tools/polly projects/compiler-rt projects/libcxx \
projects/libcxxabi projects/libunwind projects/test-suite | true
mv "${srcdir}/cfe-${pkgver}.src" tools/clang
mv "${srcdir}/clang-tools-extra-${pkgver}.src" tools/clang/tools/extra
mv "${srcdir}/lld-${pkgver}.src" tools/lld
mv "${srcdir}/lldb-${pkgver}.src" tools/lldb
mv "${srcdir}/polly-${pkgver}.src" tools/polly
mv "${srcdir}/compiler-rt-${pkgver}.src" projects/compiler-rt
mv "${srcdir}/libcxxabi-${pkgver}.src" projects/libcxxabi
mv "${srcdir}/libcxx-${pkgver}.src" projects/libcxx
@@ -257,17 +266,16 @@ build() {
-DCMAKE_MAKE_PROGRAM="/usr/bin/make.exe" \
-DFFI_INCLUDE_DIR="${FFI_INCLUDE_DIR}" \
-DCMAKE_C_FLAGS="${CFLAGS}" \
-DCMAKE_CXX_FLAGS="${CXXFLAGS} ${CPPFLAGS}" \
-DCMAKE_CXX_FLAGS="${CXXFLAGS} -D_GNU_SOURCE" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DLLVM_TARGETS_TO_BUILD="ARM;X86" \
-DLLVM_ENABLE_ASSERTIONS=OFF \
-DLLVM_ENABLE_THREADS=1 \
-DLLVM_ENABLE_THREADS=ON \
-DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/python2.exe \
-DLLVM_ENABLE_FFI=ON \
-DLLVM_ENABLE_SPHINX=ON \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DCMAKE_CXX_FLAGS="-D_GNU_SOURCE" \
-DLIBCLANG_BUILD_STATIC=ON \
-DLIBCXX_ENABLE_SHARED=OFF \
-DLIBCXXABI_ENABLE_SHARED=OFF \
@@ -281,7 +289,7 @@ build() {
# Disable automatic installation of components that go into subpackages
# -i.orig to check what has been removed in-case it starts dropping more than it should
#
sed -i.orig '/\(clang\|lld\|lldb\)\/cmake_install.cmake/d' tools/cmake_install.cmake
sed -i.orig '/\(clang\|lld\|lldb\|polly\)\/cmake_install.cmake/d' tools/cmake_install.cmake
sed -i.orig '/\(extra\|scan-build\|scan-view\)\/cmake_install.cmake/d' tools/clang/tools/cmake_install.cmake
# sed -i.orig '/\(compiler-rt\|libcxxabi\|libcxx\)\/cmake_install.cmake/d' projects/cmake_install.cmake
sed -i.orig '/\(compiler-rt\|libcxxabi\|libcxx\|libunwind\)\/cmake_install.cmake/d' projects/cmake_install.cmake
@@ -295,7 +303,8 @@ build() {
package_llvm() {
pkgdesc="Low Level Virtual Machine (mingw-w64)"
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") # "compiler-rt"
depends=("${MINGW_PACKAGE_PREFIX}-libffi"
"${MINGW_PACKAGE_PREFIX}-gcc-libs") # "compiler-rt"
cd "${srcdir}"/llvm-${pkgver}.src
@@ -322,7 +331,7 @@ package_compiler-rt() {
cd "${srcdir}"/llvm-${pkgver}.src
make -C ../build-${CARCH}/projects/compiler-rt DESTDIR="${pkgdir}" install
}
}
package_libcxxabi() {
pkgdesc="C++ Standard Library Support (mingw-w64)"
@@ -416,6 +425,15 @@ package_clang-tools-extra() {
make -C ../build-${CARCH}/tools/clang/tools/extra -j1 DESTDIR="${pkgdir}" install
}
package_polly() {
pkgdesc="Polly - Polyhedral optimizations for LLVM (mingw-w64)"
url="http://polly.llvm.org/"
depends=("${MINGW_PACKAGE_PREFIX}-llvm=${pkgver}-${pkgrel}")
cd "${srcdir}"/llvm-${pkgver}.src
make -C ../build-${CARCH}/tools/polly DESTDIR="${pkgdir}" install
}
# Wrappers
package_mingw-w64-i686-clang(){
package_clang
@@ -457,6 +475,10 @@ package_mingw-w64-i686-llvm(){
package_llvm
}
package_mingw-w64-i686-polly(){
package_polly
}
package_mingw-w64-x86_64-clang(){
package_clang
}
@@ -497,4 +519,6 @@ package_mingw-w64-x86_64-llvm(){
package_llvm
}
# vim:set ts=2 sw=2 et:
package_mingw-w64-x86_64-polly(){
package_polly
}