[LLVMdev] Question about circular dependency checker

Talin viridia at gmail.com
Thu Jun 5 01:06:31 PDT 2008


HyperQuantum wrote:
> I'm not a LLVM developer, but I'll give it a try...
>
> On Wed, Jun 4, 2008 at 9:12 AM, Talin <viridia at gmail.com> wrote:
>
>   
>> I went and added a new file to the "Support"
>> directory (in include and lib). However, when I try to compile it, it
>> complains of a circular dependency error between libCore and libSupport:
>>
>>    find-cycles.pl: Circular dependency between *.a files:
>>    find-cycles.pl:   libLLVMCore.a libLLVMSupport.a
>>
>> The odd part is, that no other file in LLVM even references my header,
>> so I'm not sure where the cycle is.
>>     
>
> The problem is not other code depending on your files directly. The
> "Support" library consists (AFAIK) of utility code that is used
> everywhere in other LLVM libraries. So you cannot add code to the
> "Support" library that calls code in other LLVM libraries on a higher
> level, like "VMCore", without introducing a circular dependency
> between the libraries.
>
>   
>> The headers that I am including in my .cpp file are:
>>
>>    #include <llvm/DerivedTypes.h>
>>    #include <llvm/Constants.h>
>>    #include <llvm/GlobalVariable.h>
>>    #include <llvm/Module.h>
>>    #include <llvm/CodeGen/MachineModuleInfo.h>
>>    #include <llvm/Support/Dwarf.h>
>>    #include <llvm/System/Path.h>
>>     
>
> There's your problem.
>
>   
>> Any ideas? Am I going to have to put my .cpp file in some library other
>> than Support?
>>     
>
> If you need the includes, and you probably do, then you have no choice
> but to put your code in another library.
>   
All right, then, which library should it go in to? I wanted it to go 
into "Support" because logically it is a sibling of IRBuilder - it does 
what IRBuilder does, only for source-level debugging info.
> Regards,
> Kevin André
>
> _______________________________________________
> 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