Closes PR15325.
Details
- Reviewers
chandlerc rnk - Commits
- rZORG1053cf1f0071: [ARM][ParallelDSP] Relax alias checks
rZORG8e3ca9884087: [ARM][ParallelDSP] Relax alias checks
rG1053cf1f0071: [ARM][ParallelDSP] Relax alias checks
rG8e3ca9884087: [ARM][ParallelDSP] Relax alias checks
rGa33e311a3b96: [ARM][ParallelDSP] Relax alias checks
rL360567: [ARM][ParallelDSP] Relax alias checks
Diff Detail
Event Timeline
This CMake buildsystem port should be functionally equivalent to the autoconf one, including:
- Proper handling of dependencies between OCaml libraries and between OCaml and C++ libraries, including with parallel builds;
- Embedding of equivalent linker flags in cma/cmxa libraries (not identical, as CMake shared library split LLVM harder);
- Installation;
- Generating documentation.
I have tested it extensively using the following matrix, which is a superset of the lit tests:
linux × shared/static builds × autoconf/cmake (for comparison) × ocaml toplevel/ocamlc/ocamlc -custom/ocamlopt.
All combinations appear to work.
This looks refreshingly clean and simple.
cmake/modules/AddOCaml.cmake | ||
---|---|---|
8 | Can you add a bit more explanatory text here about what the arguments are? It's not clear from the context of the caller what these are supposed to be. |
- Add documentation in AddOCaml.
- Build documentation for the Llvm_$BACKEND modules, too.
- Install documentation in docs/ocaml/html rather than a Debian-specific directory, as it was earlier.
- Remove whitespace changes.
- Remove some accidentally committed code.
FYI, I'll let Reid finish the review here as he has looked at this in detail.
My only comment is that there is a confusing mixture of indentation styles here (4-space vs. 2-space, etc.). I understand that LLVM's existing CMake isn't the most consistent in this respect, but I think we're increasingly 2-space indent. I would at least try to be consistent with all the cmake bits you're adding here.
Can you add a bit more explanatory text here about what the arguments are? It's not clear from the context of the caller what these are supposed to be.