[lldb-dev] LLDB C++ API integration.

Jim Ingham via lldb-dev lldb-dev at lists.llvm.org
Tue Aug 8 11:06:57 PDT 2017


> On Aug 7, 2017, at 9:15 PM, Mikhail Seriukov <zloisop at gmail.com> wrote:
> 
> Hi Jim, thank you for your response!
> 
> If I choose to build the framework, there is a code signing problem. 
> For the debugserver (and lldb-server?) we need lldb_codesign certificate.
> I was wondering if I could use my Mac developer certificate instead?

As far as I know the only requirement for code signing is that you use a code-signing cert that is recognized on the machine that debugserver is running on.  So the developer certificate should work.  I've never actually tried it, however, so please report back on any problems you have if you go this way and I'll see if I can help.

> 
> Also I've found the DEBUGSERVER_USE_FROM_SYSTEM build option which allows to use binaries build and signed by Apple.
> But is it ok(legally) to distribute an app that contains framework with these binaries?

I'm told that re-shipping the frameworks or debugserver is not allowed.  You could use them in situ from an installed Xcode.  Use "xcrun -find" to find wherever Xcode is installed and grub around in there for debugserver.  But of course that requires Xcode to be installed, I don't know if you care about that.

> 
> Which way is better in your opinion?

If the developer cert works, shipping an LLDB.framework that you build is the sanest way to go.  Among other things it will make testing your product more manageable, since you'll control what lldb/debugserver you use, and if you need to fix something that's crucial for you, you can do that in an orderly fashion.

Jim


> 
> 
> 2017-08-08 5:33 GMT+07:00 Jim Ingham <jingham at apple.com>:
> One of the rules of the SB API's both on the Python & C++ side is that we maintain backwards compatibility (up to some time in the Future when we'll declare a SB 2.0...)
> So if you compile your tool against some version of the framework, you should be able to run against any newer version.
> 
> Apple doesn't include the headers for the SB API's in the frameworks we distribute, so you will have to get & build an LLDB.framework to build against, but if you're developing code using lldb you'll probably want to have that around anyway to help with debugging your code.  But you should be able to run against the LLDB.framework that is shipped with Xcode, provided it has all the API's that you use.
> 
> Jim
> 
> 
> > On Aug 6, 2017, at 9:43 PM, Mikhail Seriukov via lldb-dev <lldb-dev at lists.llvm.org> wrote:
> >
> > Hi,
> >
> > I want to write a Mac app that uses LLDB C++ API.
> > What is the best way to do it?
> >
> > Should I build and codesign the framework myself, how can I distribute it then?
> > Should I reuse the framework from "Command line tools", but then I should force users to install it?
> > How should I structure my Xcode workspace to make it see this framework and headers?
> >
> > Thank you for your replies!
> >
> > _______________________________________________
> > lldb-dev mailing list
> > lldb-dev at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
> 
> 



More information about the lldb-dev mailing list