Running collection of notes about how to do LLVM rebases in Fedora, and in particular, how to verify them. This page currently covers F20's 3.3->3.4 rebase; presumably future updates will need more detail as more things grow LLVM dependencies.
Strategy
First, get test results from the existing version of llvm. (XXX links to previous rebase results would be useful...)
Next, get it all building. Once you've got the new version of llvm building, mockchain it, then mockchain the rest of the affected packages into the same root.
Once you've done that you can rpm -Fvh
from the mockchain repo to update your running system to the new version of llvm, and then re-do the tests against the new llvm version to see what broke.
Testing
llvm itself
Run the testsuite. It runs out of %check
, you probably need to enable it on some of the non-PC arches though.
dragonegg
make check
from the built source, in theory, but that doesn't actually work at the moment; llvm-config --src-root
points into space, and the bits it would point to aren't packaged anyway. Hmm.
eclipse-cdt
gambas3
No testsuite. But the IDE is self-hosting.
gedit-code-assistance
ghc
Edit ghc.spec
to do %define cabal_configure_options --ghc-option=-fllvm
to force the llvm code generator (XXX: is this enough?). Testsuite is run by doing make test
or make fulltest
from the top-level source directory; the former ought to pass completely, but on non-arm it probably does have failures since the llvm generator is not the default elsewhere.
kate-plugin-cpphelper
mesa
Somewhat tricky to test, if you're not used to doing piglit runs, but piglit against Xvfb will exercise llvmpipe. The r600 and radeonsi drivers also use llvm (XXX more detail on which cards here, please) and I think that's true of the corresponding vdpau drivers too (XXX how to test vdpau).
OpenGTL
pocl
make check
from the built source. Works, but there seem to be a lot of skipped tests (TCE, samples, ViennaCL, Rodinia, Parboil, AMD app SDK, VexCL, piglit). Needs more investigation.
pure
make check
, which is already done for you in %check
, so the mockchain build logs already have this.
python-llvmpy
make check
, which is already done for you in %check
, so the mockchain build logs already have this.