Óscar Fuentes wrote:> Chuck Robey <chuckr at telenix.org> writes: > >>> Just checked that the makefiles generated by cmake work with `make' on >>> FreeBSD 7.2 x86. The build fails while building `opt' because libdl is >>> missing. >> They absolutely do work, even on FreeBSD-current( I run that here), >> but not using the native make (the one built as part of "make world" >> which is a direct descendant of "pmake". You have to use the GNU >> make, > > Uh? My FreeBSD installment has `make' and no `gmake'. `make' is indeed > BSD make. > > So, to recap, right now LLVM svn builds fine on FreeBSD 7.2 using BSD > `make' with the makefiles generated by cmake. > > [snip] > >> I did give you one example of a statement I found in your makefiles, >> which I'm absolutely certain can't be understood by our make. > > It is obvious that you are not reading what I write.Not completely, because (at least to me) it's not making sense against what I find. I'd been lookiing at the llvm version 2.3, so I just got a copy of 2.5, and I looked at the Makefile that came right out of the tarball, then I regenerated the Makefile via the supplied configure script. Right at the top of both Makefiles is the GNU-style conditional "ifeq", and that's a GNU conditional, one which just CAN'T work from any BSD Make (would you mind if I abbreviated GNU Make with "gmake" and the BSD Make with "bmake" ?) Anyhow, this is the evidence I have that shows me that it's just not possible that you ran this Makefile via bmake. OK, the -f argument can be used to make either bmake or gmake use files other than the default ones (first default "makefile", 2nd default "Makefile", and there are others), so if you want to tell me that I need to look at some other file, what's it's name? I mean, you have to admit, I think, that I have some evidence here which at first glance seems to prove to me that it's not possible to run your build scripts via bmake. However, I can think of a set of unlikely scenarios where I could be wrong, so lets talk about it, ok? Honestly, I detest arguing about this, because I *like* your project, and don't want to be in this position, disagreeing with you. On top of this, I don't much like arguing to begin with, and finally, I have this bias against the horde of folks who can't be bothered to learn either gmake or bmake, and need to write up one of the now large horde of {b|g}make wannabees. These all make troubleshooting more difficult, and that's truly my hot button. To me, it's more imporatnt to be able to figure out what's wrong than any other possible goal. You might not agree with me, but I'm being honest in admitting that's my true #1 goal, more important than anything else.> > [snip] >
On 2009-05-24 20:38, Chuck Robey wrote:> Óscar Fuentes wrote: > >> Chuck Robey <chuckr at telenix.org> writes: >> >> >>>> Just checked that the makefiles generated by cmake work with `make' on >>>> FreeBSD 7.2 x86. The build fails while building `opt' because libdl is >>>> missing. >>>> >>> They absolutely do work, even on FreeBSD-current( I run that here), >>> but not using the native make (the one built as part of "make world" >>> which is a direct descendant of "pmake". You have to use the GNU >>> make, >>> >> Uh? My FreeBSD installment has `make' and no `gmake'. `make' is indeed >> BSD make. >> >> So, to recap, right now LLVM svn builds fine on FreeBSD 7.2 using BSD >> `make' with the makefiles generated by cmake. >> >> [snip] >> >> >>> I did give you one example of a statement I found in your makefiles, >>> which I'm absolutely certain can't be understood by our make. >>> >> It is obvious that you are not reading what I write. >> > > Not completely, because (at least to me) it's not making sense against what I > find. I'd been lookiing at the llvm version 2.3, so I just got a copy of 2.5, > and I looked at the Makefile that came right out of the tarball, then I > regenerated the Makefile via the supplied configure script. Right at the top of > both Makefiles is the GNU-style conditional "ifeq", and that's a GNU > conditional,If you want to use the CMake build system, don't run configure. configure is just plain old autoconf, that uses the supplied GNU makefiles. See http://llvm.org/docs/CMake.html on how to use cmake, you should look at the makefiles that cmake creates, not configure. Best regards, --Edwin
Chuck Robey wrote:> Óscar Fuentes wrote: > >> Chuck Robey <chuckr at telenix.org> writes: >> >> >>>> Just checked that the makefiles generated by cmake work with `make' on >>>> FreeBSD 7.2 x86. The build fails while building `opt' because libdl is >>>> missing. >>>> >>> They absolutely do work, even on FreeBSD-current( I run that here), >>> but not using the native make (the one built as part of "make world" >>> which is a direct descendant of "pmake". You have to use the GNU >>> make, >>> >> Uh? My FreeBSD installment has `make' and no `gmake'. `make' is indeed >> BSD make. >> >> So, to recap, right now LLVM svn builds fine on FreeBSD 7.2 using BSD >> `make' with the makefiles generated by cmake. >> >> [snip] >> >> >>> I did give you one example of a statement I found in your makefiles, >>> which I'm absolutely certain can't be understood by our make. >>> >> It is obvious that you are not reading what I write. >> > > Not completely, because (at least to me) it's not making sense against what I > find. I'd been lookiing at the llvm version 2.3, so I just got a copy of 2.5, > and I looked at the Makefile that came right out of the tarball, then I > regenerated the Makefile via the supplied configure script.You have verified that the current autoconf/configure system won't work for *BSD. That has nothing to do with CMake. ==The main problem I have with CMake, is that I have to *intentionally break* the stock install before it will work: the instant you install the standard MingW32 sh at the same time as the other MingW32 tools, CMake is dead in the water. The MSYS project type has a test that causes an immediate crash if it finds sh on the path. While I didn't explain myself clearly on the CMake lists and bugtracker ( http://public.kitware.com/Bug/view.php?id=7870 ), I got no hint that a patch to remediate the situation would be accepted. Kenneth
Török Edwin wrote:> On 2009-05-24 20:38, Chuck Robey wrote: >> Óscar Fuentes wrote: >> >>> Chuck Robey <chuckr at telenix.org> writes: >>> >>> >>>>> Just checked that the makefiles generated by cmake work with `make' on >>>>> FreeBSD 7.2 x86. The build fails while building `opt' because libdl is >>>>> missing. >>>>> >>>> They absolutely do work, even on FreeBSD-current( I run that here), >>>> but not using the native make (the one built as part of "make world" >>>> which is a direct descendant of "pmake". You have to use the GNU >>>> make, >>>> >>> Uh? My FreeBSD installment has `make' and no `gmake'. `make' is indeed >>> BSD make. >>> >>> So, to recap, right now LLVM svn builds fine on FreeBSD 7.2 using BSD >>> `make' with the makefiles generated by cmake. >>> >>> [snip] >>> >>> >>>> I did give you one example of a statement I found in your makefiles, >>>> which I'm absolutely certain can't be understood by our make. >>>> >>> It is obvious that you are not reading what I write. >>> >> Not completely, because (at least to me) it's not making sense against what I >> find. I'd been lookiing at the llvm version 2.3, so I just got a copy of 2.5, >> and I looked at the Makefile that came right out of the tarball, then I >> regenerated the Makefile via the supplied configure script. Right at the top of >> both Makefiles is the GNU-style conditional "ifeq", and that's a GNU >> conditional, > > If you want to use the CMake build system, don't run configure. > configure is just plain old autoconf, that uses the supplied GNU makefiles.Not necessarily true, if one writes up a Makefile.in to be compatible with BSD make, then you get a BSD Make compatibility (but not GNU Make, then). I've done that myself. It's non-intuitive, I'll admit.> > See http://llvm.org/docs/CMake.html on how to use cmake, you should look > at the makefiles that cmake creates,I looked at the llvm I could download, the tarball llvm-2.5.tar.gz, both at the Makefile that was originally supplied AND the one that's there after you do a configure. They both have "ifeq" constructs right up at the top of the Makefile, which are inarguably not BSD Make compatible. They ARE GNU Make compatible, I don't really understand CMake well enough to comment on that. Under another email, I described the easiest way to tell if a Makefile is or isn't BSD/GNU Make compatible.> not configure. > > > Best regards, > --Edwin > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev