We've recently started hitting an issue in our iOS app where we have 
multiple transitive dependencies that depend on different versions of 
protobuf that are vendored differently depending on the library. In order 
to overcome this we were hoping to be able to compile protobuf in such a 
way that its symbols were different for different dependencies, thus 
namespacing the duplicate symbol issue away.

We have noticed that Google does this with the GoogleMaps SDK, changing the 
namespace from google::protobuf to GMSx_google::protobuf_opensource and we 
were hoping we could do something similar. It appears that these macros 
<https://github.com/protocolbuffers/protobuf/blob/02f182e829c7ae51eae0b9a24a231b8e6473f3ff/src/google/protobuf/port_def.inc#L144-L151>
 are 
designed to do this, with the small problem that there are quite a few 
places in code where they are not used, and their current values are 
hardcoded.

Is this behavior the intention of these macros? In which case would a 
change be accepted that replaced all the hardcoded namespaces with these 
macros? Otherwise is there another way we can do this?

Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/b0cfa900-256a-4ba6-ad17-b78c225b3eb9%40googlegroups.com.

Reply via email to