A quick status update on this effort:

   - I forked the source at GitHub under the 
protobuf-cppbuilder<https://github.com/saadware/protobuf-cppbuilder>project.
   - The biggest overarching changes revolved around namespaces. These 
   changes were minimal but touched many files.
      - Main cause of this change was a "using namespace std;" statement in 
      common.h. I removed this but then had to fully qualify std types when 
there 
      were used (i.e. string became std::string).
      - C++Builder sometimes had problems resolving namespaces. For example 
      if we were in google::protobuf and something was referenced in 
      google::protobuf::internal, I had to qualify that by adding internal:: to 
      whatever was being referenced. 
   - Other changes revolved around #ifdef/#ifndef certain includes, etc. 
   (similar to MSVC).
   - A very interesting compiler complaint that took me a while to track 
   down was how dependent names were being sometimes used/declared. When they 
   referred to types and templates I had to 
disambiguate<http://womble.decadent.org.uk/c++/template-faq.html#disambiguation>.
 
   This cleaned things up and made the source cleaning compile across all 
   platforms.
   - *The libraries are compiling under C++Builder and can be linked 
   against.*
   - *protoc is not fully working. *It compiles fine but gets a runtime 
   error when parsing options. I'm not yet sure what's going on here. A 
   workaround is to not use the protoc that gets compiled with this project, 
   but use the distributed binary to generate the C++ protocol buffers. Hoping 
   I can make some headway on this issue soon.
   - I've compiled all changes on both gcc and MSVC. *All unit tests are 
   passing.*

In my opinion these changes would be great to have merged back into the 
protobuf proper branch as most of them aim to make the code base more cross 
compiler compliant. I suppose the C++Builder is a bit more strict on a few 
items. 

I would be happy to produce is diff/patch to be looked at by a main 
contributor on the google project. Please just let me know what I can do to 
help facilitate this.

Thank you,
Scott Saad

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/protobuf/-/5L32fr5BM-QJ.
To post to this group, send email to protobuf@googlegroups.com.
To unsubscribe from this group, send email to 
protobuf+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en.

Reply via email to