Move the layers object and listing into a separate module, adjust the code accordingly.
Output the undefined symbols report into a file rather that writing it out.
Add additional system dependency libraries.
Add two more symbols to the dummy library that should be ignored.
Add the JavaScriptCore, WebCore, WebCoreModules and the WebCoreSVG layers. Only include the first two in the layer ordering (meaning the other two won't get analyzed.
Use a regular expression to determine whether a library is shared based on its name.