[LLVMdev] Arm port

Óscar Fuentes ofv at wanadoo.es
Fri May 22 10:50:44 PDT 2009


Chuck Robey <chuckr at 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).

-- 
Óscar




More information about the llvm-dev mailing list