[LLVMdev] Arm port

Chuck Robey chuckr at telenix.org
Fri May 22 08:21:07 PDT 2009

Samuel Crow wrote:
> ----- Original Message ----
>> From: Chuck Robey <chuckr at telenix.org>
>> To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu>
>> Sent: Friday, May 22, 2009 9:22:53 AM
>> Subject: Re: [LLVMdev] Arm port
>> OK, I've got enough to go on with, and I'm getting ready right now to begin
>> reading the dragon book, but one question bothers me regarding the present setup
>> of llvm: the use of the present Makefile tools (dmake & gmake).  I was rather
>> surprised to find that a project that is bent toward supporting the BSD Unixes
>> doesn't have a set of BSD Makefiles.  I'm not saying you  have to toss away your
>> dmake/gmake files, you could keep them for those who feel more at ease in using
>> them, but shouldn't you have a set of BSD makefiles also?  It happens that I
>> have experience using those makefiles, and adding in a set of Makefiles designed
>> to allow use of the BSD Make and the BSD Make template files (all those files in
>> /usr/share/mk on any *BSD system wouldn't be all that difficult to accomplish,
>> Would that be something you might wish to add?
> Doesn't CMake support the BSD toolchain?  The autotools dependencies of LLVM are slowly being replaced by the cross-platform CMake utility that will generate the makefiles or IDE build solutions for whatever toolchain you're using.

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.

What I could offer, would be to capture a llvm build as done with the current
Makefile setup, 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.  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.

More information about the llvm-dev mailing list