Combining passes


this is a question, concerning cmake lists configuration. I am trying to link together two llvm passes, but they still should be as two modules. So:

passA -

passB -

passB should use passA , so I sould use target_link_libraries ( and of course, I have included useAnalysis in passB) . But I can’t link libraries that are build as Modules, so I tried to create two libraries at once ; A.a(static) and (llvm does not allow to create shared libraries). Still that does not work : .a library has always conflicted declarations. Are there any other ways?

I also get now th error, that Two passes with the same argument attempted to be registered! (as I have two libraries (.a and .so) , which seems now linking fine)

So, the main issue is, how to create simultaneously one library to incorporate code to another llvm pass and one library (.so) to be able to test the pass