<div dir="ltr">Hi Paul,<div><br></div><div>My experience has shown the same when it comes to header files and I am not claiming this is going to work out of the box for all library projects. It usually requires some cleanup first and that is why the tool comes with a verification mode to make sure the headers are the truth. Also keep in mind that you don't have to parse all the headers, but only the small set that get installed as part of the library API.</div><div><br></div><div>The tool does not read the linker script / export file, because they are not necessarily the truth either and may have wildcards. In my view they are just one way of managing exported symbols. Another way, which I personally prefer, is to build with visibility hidden and annotate only the API with visibility default. That makes the headers the single source of what is API.</div><div><br></div><div>Cheers,</div><div>Juergen</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 8, 2017 at 9:29 AM, Robinson, Paul <span dir="ltr"><<a href="mailto:paul.robinson@sony.com" target="_blank">paul.robinson@sony.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">> InstallAPI:<br>
> InstallAPI is a new build phase that generates the TBD file from header<br>
> files only. This allows a dependency of the library to build concurrently<br>
> even before the library has been built itself. This can be used to<br>
> increase parallelism in the build or larger projects or operating systems.<br>
<br>
</span>My experience is that headers don't necessarily form the best source of<br>
truth about the API exported from a library.  If you follow the Windows<br>
model of marking exported APIs explicitly (declspec(dllexport) or something)<br>
then okay, but that's a Windows extension and not common in other systems.<br>
Linker scripts seem to be a more popular method; does the tool read linker<br>
scripts to form the content of a TBD file?<br>
Otherwise I'm not seeing a generic improvement in build parallelism.<br>
--paulr<br>
<br>
<br>
</blockquote></div><br></div>