Reid Spencer wrote:> Yes, but its a bit verbose. The variables that control this are all > defined in the Makefile.config file. The variables are: > > PROJ_prefix := /proj/llvm/install-1 > PROJ_bindir := /proj/llvm/install-1/bin > PROJ_libdir := /proj/llvm/install-1/lib > PROJ_datadir := /proj/llvm/install-1/share > PROJ_docsdir := /proj/llvm/install-1/docs/llvm > PROJ_etcdir := /proj/llvm/install-1/etc/llvm > PROJ_includedir := /proj/llvm/install-1/include > PROJ_infodir := /proj/llvm/install-1/info > PROJ_mandir := /proj/llvm/install-1/man > > The values are from my environment. You can either override each of > these individually on the command line or replace their values in > Makefile.config.Great, that worked, thanks. For a future release though, think that DESTDIR could be supported? It shouldn't be that difficult, all that would need to be changed is in Makefile.config.in: DESTDIR :PROJ_prefix := $(DESTDIR)@prefix@ PROJ_bindir := $(DESTDIR)@prefix@/bin PROJ_libdir := $(DESTDIR)@prefix@/lib PROJ_datadir := $(DESTDIR)@prefix@/share PROJ_docsdir := $(DESTDIR)@prefix@/docs/llvm PROJ_etcdir := $(DESTDIR)@prefix@/etc/llvm PROJ_includedir := $(DESTDIR)@prefix@/include PROJ_infodir := $(DESTDIR)@prefix@/info PROJ_mandir := $(DESTDIR)@prefix@/man And then the makefile would be (more) gnu-compliant, and make linux packaging much more simple and straightforward.>> Also, some questions about llvm-gcc. If we're just installing the binary >> version, does anything need to be done in order to let llvm find the >> libraries, such as modifying the DLYD_LIBRARY_PATH, or are all the paths >> relative? > > There aren't any shared libraries so the library path doesn't matter. > For llvm-gcc3, the path needs to be able to find gccas and gccld from > the LLVM build. For llvm-gcc4, everything is linked in statically so > after llvm-gcc4 is built, it doesn't matter where LLVM lives.So does that mean that if we're doing a pure llvm, or llvm + llvm-gcc4, we can just do "make" and not "make tools-only"?> LLVM can be used by itself but the only languages it can process are > LLVM assembly and Stacker. llvm-gcc4 just provides the C/C++/Obj-C/Obj-C > ++ front end languages. Other front ends could be developed.We hope to add http://felix.sourceforge.net to that list :) It currently is backed by a c++ generator, but we'd like to branch out to our own back end.>> Thanks for all your help! > > You're welcome. > > Reid.Thanks again! -e
Hi Erick, On Fri, 2006-12-08 at 19:27 -0800, Erick Tryzelaar wrote:> Reid Spencer wrote: > > Yes, but its a bit verbose. The variables that control this are all > > defined in the Makefile.config file. The variables are: > > > > PROJ_prefix := /proj/llvm/install-1 > > PROJ_bindir := /proj/llvm/install-1/bin > > PROJ_libdir := /proj/llvm/install-1/lib > > PROJ_datadir := /proj/llvm/install-1/share > > PROJ_docsdir := /proj/llvm/install-1/docs/llvm > > PROJ_etcdir := /proj/llvm/install-1/etc/llvm > > PROJ_includedir := /proj/llvm/install-1/include > > PROJ_infodir := /proj/llvm/install-1/info > > PROJ_mandir := /proj/llvm/install-1/man > > > > The values are from my environment. You can either override each of > > these individually on the command line or replace their values in > > Makefile.config. > > Great, that worked, thanks. For a future release though, think that > DESTDIR could be supported?Yes. Could you please file a bug report for this so we don't forget about it. I would really appreciate it. Thanks, Reid.> It shouldn't be that difficult, all that > would need to be changed is in Makefile.config.in: > > DESTDIR :> PROJ_prefix := $(DESTDIR)@prefix@ > PROJ_bindir := $(DESTDIR)@prefix@/bin > PROJ_libdir := $(DESTDIR)@prefix@/lib > PROJ_datadir := $(DESTDIR)@prefix@/share > PROJ_docsdir := $(DESTDIR)@prefix@/docs/llvm > PROJ_etcdir := $(DESTDIR)@prefix@/etc/llvm > PROJ_includedir := $(DESTDIR)@prefix@/include > PROJ_infodir := $(DESTDIR)@prefix@/info > PROJ_mandir := $(DESTDIR)@prefix@/man > > And then the makefile would be (more) gnu-compliant, and make linux > packaging much more simple and straightforward. > > > >> Also, some questions about llvm-gcc. If we're just installing the binary > >> version, does anything need to be done in order to let llvm find the > >> libraries, such as modifying the DLYD_LIBRARY_PATH, or are all the paths > >> relative? > > > > There aren't any shared libraries so the library path doesn't matter. > > For llvm-gcc3, the path needs to be able to find gccas and gccld from > > the LLVM build. For llvm-gcc4, everything is linked in statically so > > after llvm-gcc4 is built, it doesn't matter where LLVM lives. > > So does that mean that if we're doing a pure llvm, or llvm + llvm-gcc4, > we can just do "make" and not "make tools-only"?Yes. The makefile detects llvm-gcc4 and skips the runtime libraries.> > > LLVM can be used by itself but the only languages it can process are > > LLVM assembly and Stacker. llvm-gcc4 just provides the C/C++/Obj-C/Obj-C > > ++ front end languages. Other front ends could be developed. > > We hope to add http://felix.sourceforge.net to that list :) It currently > is backed by a c++ generator, but we'd like to branch out to our own > back end.Wonderful! We need more front ends. Let us know how we can help :)> >> Thanks for all your help! > > > > You're welcome. > > > > Reid. > > Thanks again!You're welcome again :) Reid.> > -e > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reid Spencer wrote:> Yes. Could you please file a bug report for this so we don't forget > about it. I would really appreciate it. >Will do.> Yes. The makefile detects llvm-gcc4 and skips the runtime libraries. >Just to be clear, what happens if llvm-gcc4 is not installed yet?>> We hope to add http://felix.sourceforge.net to that list :) It currently >> is backed by a c++ generator, but we'd like to branch out to our own >> back end. >> > > Wonderful! We need more front ends. Let us know how we can help :)Great! Well first off, are you aware of any ocaml interfaces to llvm? Our compiler is written in ocaml, and while we could go through the llvm source file, it may be more efficient to pass it through an interface. -e
Reid Spencer wrote:> Yes. Could you please file a bug report for this so we don't forget > about it. I would really appreciate it. >Will do.>> So does that mean that if we're doing a pure llvm, or llvm + llvm-gcc4, >> we can just do "make" and not "make tools-only"? >> > > Yes. The makefile detects llvm-gcc4 and skips the runtime libraries. > >Just to be clear, what happens if llvm is being installed before llvm-gcc4?>> We hope to add http://felix.sourceforge.net to that list :) It currently >> is backed by a c++ generator, but we'd like to branch out to our own >> back end. >> > > Wonderful! We need more front ends. Let us know how we can help :) >Great! One thing that would help: are you aware of any ocaml-bindings to llvm? The compiler is written in it, and I suspect that it may be faster to go through a binding than to route it through a intermediary source language. -e