[LLVMdev] llvm build not respecting DESTDIR?

Reid Spencer rspencer at reidspencer.com
Fri Dec 8 19:53:34 PST 2006


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




More information about the llvm-dev mailing list