Chuck Robey <chuckr@telenix.org> writes:
Doesn't CMake support the BSD toolchain?
OK, I checked the llvm-2.5 Makefiles. They have constructs in them
which cannot be used in any BSD Makefile (such as the form of
conditionals: ifndef is a GNU Makeism), and won't run on any BSD Make.
I know BSD Make and GNU Make well enough, but I doon't know much about
Cmake, I can say that all of the makefiles I saw in llvm would (1)
refuse to run on BSD make and (2) make no use whatever of the large
set of BSD Make template files that always reside in /usr/share/mk.
The makefiles distributed with LLVM have nothing to do with cmake.
Before devoting your time to implement yet-another-build-specification
for LLVM, it is worth checking that the makefiles generated by cmake are
indeed incompatible with BSD make. There are mixed reports on the 'Net.
This is a simple guide for using cmake with LLVM:
http://www.llvm.org/docs/CMake.html
What I could offer, would be to capture a llvm build as done with the current
Makefile setup,
The current LLVM makefile setup is far from trivial. Plus this would
generate yer another maintenance point.
and create a set of BSD Makefiles which would work with BSD
Makefiles and cooperate with the BSD template Makefiles (such as bsd.prog.mk,
bsd.lib.mk, etc). I think that the only thing that CMake is offering you is
that snazzy buildtime clock, but I think that's all.
Speaking as the original implementator of the LLVM cmake build spec, I
couldn't care less about the build time progress indicator. What cmake
provides is a single, fairly simple specification that covers lots of
platforms and build tools.
If you folks felt this would be desireable. If llvm gets brought into
any BSD, it's going to have to be created by the BSD involved, anyhow
... well nearly all, I've seen recently that OpenBSD seems to be
making use of outside makefiles in outside sourced things like Perl.
But it would surely need BSD Makefiles for FreeBSD, and I'm pretty
sure for NetBSD also. They're not all that difficult to add in, I
could do that for you if you wanted.
If incompatibilities of cmake and BSD make are found, maybe the cmake
people can fix them once is made clear that those issues are blocking
widespread usage on the BSD community. I can provide some help
addressing specific issues with the LLVM cmake specification (not with
cmake itself).