Gregory Petrosyan
2010-Jan-05 09:38 UTC
[LLVMdev] make fails to detect changes in case srcdir != objdir
LLVM makefiles can't detect source changes in case objdir != srcdir, e.g. I've managed to get my pass listed in 'opt -help' only after removing opt subdir from objdir and running make again. Re-configuring LLVM also does not trigger rebuild when running make, e.g. after initial 'configure --enable-targets=x86' I've managed to get C backend only after removing objdir and re-configuring (was too lazy to check if 'make clean' is sufficient). Does anyone know what can be a source for these problems? Gregory
David Greene
2010-Jan-05 17:30 UTC
[LLVMdev] make fails to detect changes in case srcdir != objdir
On Tuesday 05 January 2010 03:38, Gregory Petrosyan wrote:> LLVM makefiles can't detect source changes in case objdir != srcdir, e.g.I haven't found that. I build with objdir != srcdir all the time.> I've managed to get my pass listed in 'opt -help' only after removing opt > subdir from objdir and running make again. Re-configuring LLVM also doesIt sounds like the dependencies for your pass are not correct. Where did you put it in the LLVM tree and how did you change the Makefiles?> not trigger rebuild when running make, e.g. after initial 'configure > --enable-targets=x86' I've managed to get C backend only after removing > objdir and re-configuring (was too lazy to check if 'make clean' is > sufficient).A non-build after reconfigure is not really a problem. If nothing in the configuration has changed configure is smart enough not to update anything so make doesn't see any changes. -Dave
Gregory Petrosyan
2010-Jan-05 18:18 UTC
[LLVMdev] make fails to detect changes in case srcdir != objdir
On Tue, Jan 05, 2010 at 11:30:41AM -0600, David Greene wrote:> > I've managed to get my pass listed in 'opt -help' only after removing opt > > subdir from objdir and running make again. Re-configuring LLVM also does > > It sounds like the dependencies for your pass are not correct. Where > did you put it in the LLVM tree and how did you change the Makefiles?One new .cpp file in lib/Transforms/IPO + RegisterPass<> + mention pass in LinkAllPasses.h; no changes in makefiles.> > not trigger rebuild when running make, e.g. after initial 'configure > > --enable-targets=x86' I've managed to get C backend only after removing > > objdir and re-configuring (was too lazy to check if 'make clean' is > > sufficient). > > A non-build after reconfigure is not really a problem. If nothing in > the configuration has changed configure is smart enough not to update > anything so make doesn't see any changes.Yes, but in my case support for new targets should be built in. It is entirely possible that I've screwed something up, although I've tried to follow LLVM docs as closely as possible. LLVM build system is really not the nicest part of LLVM :-) Gregory
Apparently Analagous Threads
- [LLVMdev] make fails to detect changes in case srcdir != objdir
- [LLVMdev] make fails to detect changes in case srcdir != objdir
- [LLVMdev] make fails to detect changes in case srcdir != objdir
- [LLVMdev] make fails to detect changes in case srcdir != objdir
- [LLVMdev] make fails to detect changes in case srcdir != objdir