[LLVMbugs] [PATCH] Remove useless workaround from llvm-config

Reid Spencer reid at x10sys.com
Fri Mar 24 07:23:37 PST 2006


On Fri, 2006-03-24 at 08:02 -0500, Eric Kidd wrote:
> On Mar 24, 2006, at 3:08 AM, Reid Spencer wrote:
> > It allows you to specify, in a Makefile:
> >
> > LLVMLIBS := config --libs <components>
> >
> > which invokes 'llvm-config --libs <components>' to derive the library
> > names that should be linked against.  The problem is: it doesn't work
> > for even something like Fibonacci. Could you apply this patch to
> > example/Fibonacci/Makefile:
> 
> Unfortunately, I don't have time to resync with CVS this morning and  
> do a fresh build. :-( Maybe tonight.

I'm in no hurry :)

> 
> In the meantime, some suggestions:
> 
>    1) You might want to try --libnames instead of --libs.  This will  
> give you bare library names suitable for in-tree linking.

Okay, perhaps Makefile.rules should automatically supply that option.

> 
>    2) If you're missing components, try "llvm-config --components" to  
> get a list. The old "JIT" magic corresponds to "--libnames engine  
> bcreader scalaropts" in the new system.

That still doesn't work. I get:

llvm[0]: Linking Debug executable Fibonacci
/proj/llvm/llvm2/examples/Fibonacci/Debug/fibonacci.o: In function `ForceInterpreterLinking':
/proj/llvm/llvm2/include/llvm/ExecutionEngine/Interpreter.h:35: undefined reference to `llvm::LinkInInterpreter()'
/proj/llvm/llvm2/Debug/lib/libLLVMTransformUtils.a(LoopSimplify.o): In function `__static_initialization_and_destruction_0':
/proj/llvm/llvm2/include/llvm/Analysis/AliasAnalysis.h:325: undefined reference to `llvm::BasicAAStub()'
/proj/llvm/llvm2/Debug/lib/libLLVMTransformUtils.a(LoopSimplify.o): In function `llvm::PassInfo const* llvm::Pass::getClassPassInfo<llvm::AliasAnalysis>()':
/proj/llvm/llvm2/include/llvm/Pass.h:136: undefined reference to `typeinfo for llvm::AliasAnalysis'
/proj/llvm/llvm2/Debug/lib/libLLVMTransformUtils.a(LoopSimplify.o): In function `llvm::AliasAnalysis* llvm::Pass::getAnalysisToUpdate<llvm::AliasAnalysis>() const':
/proj/llvm/llvm2/include/llvm/PassAnalysisSupport.h:151: undefined reference to `typeinfo for llvm::AliasAnalysis'
collect2: ld returned 1 exit status
make: *** [/proj/llvm/llvm2/Debug/examples/Fibonacci] Error 1

>    3) You'll need to conditionalize anything that uses llvm-config  
> using "ifeq ($(HAVE_PERL),1)" unless you're prepared to add Perl as  
> an official dependency (which might not go down well with the GCC  
> folks).

Yes, that's an issue we'll have to ponder once this is working. The
answer will likely be "no" which means we might need to make llvm-config
a C/C++ program.

> 
> Let me know if you have any trouble, and I'll try to resync soon.

Thanks,

Reid.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20060324/8d59c257/attachment.sig>


More information about the llvm-bugs mailing list