fixed and updated llvm 3.6.0 build
This version of the llvm toolchain build updates the patchset to what I had intended, switches the build tool to cmake on top of normal make (not ninja as was suggested earlier due to a bug compiling compiler-rt as an external project when using ninja), performs a two-stage build with a bootstrap compiler to guarantee that the clang build is sane enough to build itself, adds clang extras (clang-format, clang-modernize, etc), and updates the package to split out the clang docs into their own package.
Note that the patchset and build process work without change for 3.6.1 as well. I’ve tested this by using the prepare() function to check out the appropriate tags from subversion.
This build also refuses to install until the test suites for llvm, compiler-rt, and clang all pass to ensure that you’re not about to install a broken compiler.
When compiling for a triple with alpine set as the vendor, PIE-by-default behavior is also triggered. SSP-by-default is not.
Code for handling libc is present in the APKBUILD file, but commented out… because libc is absolute bugshit when compiled against musl with over 170 test failures that i haven’t had the time, or willpower, to investigate.
Polly is not included because it required ISL 0.14 and you guys are still using ISL 0.12. I would really like to include polly if you guys can bump ISL (and cloog, which depends on ISL) safely without breaking graphite support in gcc.
(from redmine: issue id 4235, created on 2015-05-22, closed on 2015-07-07)
- Revision a1d93256 by Travis Tilley on 2015-06-01T15:11:16Z:
main/llvm: update to 3.6.1 clean up and update patchset switch to cmake perform a two-stage build with a minimal bootstrap compile of clang add clang extras update package list to split out clang documentation enable pulling from the svn release tags fix making use of abuild CFLAGS/CXXFLAGS during build don't run check-llvm, as the tests fail when running under PaX (cherry picked from commit 08fdc9700ce1b4e47bebc9c9d08959f5e50bc0c1) fixes #4235