Build static and dynamic separately
When building with --enable-static symbol visibility options are disabled, meaning every symbol is exported in the dynamic .so.
To avoid this, we do separate builds for static and dynamic libraries.
As a consequence of this, a whole bunch of should-not-be-exported symbols are removed from libgc1.symbols. Going forward, this will only list the explicit API symbols.