<div dir="ltr">Hello,<div><br></div><div>On Mac OS X, when using the xcode projects, there is some machinery to manage what symbols are exported from various things:</div><div><br></div><div><ul><li>liblldb only exports the public API.<br></li><li>debugserver only exports _DNB* and __DNB*<br></li><li>argdumper exports nothing<br></li><li>lldb-server exports nothing<br></li></ul></div><div>This machinery only exists within the xcode projects though and isn't used in the cmake or autotools build systems.</div><div><br></div><div>I'm not interested in adding it to the autotools build system, but I would like to get this set up in the cmake build system.</div><div><br></div><div>The LLVM cmake code provides a helper function for managing this already in a cross-platform manner. The main difference is that it expects one fewer leading underscores in the exports files and a particular naming scheme for the files.</div><div><br></div><div>Managing the files and their names is pretty easy and I can handle that.</div><div><br></div><div>The other difference is a bit harder to manage unless we set up a script to run in the xcode build to perform the mapping (not hard for someone that knows xcode, I guess).</div><div><br></div><div>So:</div><div><br></div><div><ul><li>Is this something we want on all platforms? I think the most important of these is limiting liblldb to only exporting the public API.<br></li><li>Should any other targets have their exported symbols similarly restricted? (Perhaps lldb-mi?)<br></li><li>Is someone willing to assist with a minor xcode change so that we don't have to have a separate copy of 2 of the files for the xcode build?<br></li></ul></div><div><br></div><div>Thanks!</div><div><br></div><div> - Bruce</div><div><br></div></div>