Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion Contribution: C++Builder Compiling

Received: by 10.224.186.7 with SMTP id cq7mr9680952qab.4.1320657039460;
        Mon, 07 Nov 2011 01:10:39 -0800 (PST)
X-BeenThere: protobuf@googlegroups.com
Received: by 10.224.199.7 with SMTP id eq7ls7919158qab.3.gmail; Mon, 07 Nov
 2011 01:10:37 -0800 (PST)
Received: by 10.224.111.129 with SMTP id s1mr9685230qap.3.1320657037336;
        Mon, 07 Nov 2011 01:10:37 -0800 (PST)
Received: by 10.224.111.129 with SMTP id s1mr9685228qap.3.1320657037321;
        Mon, 07 Nov 2011 01:10:37 -0800 (PST)
Return-Path: <liuj...@google.com>
Received: from mail-qy0-f176.google.com (mail-qy0-f176.google.com [209.85.216.176])
        by gmr-mx.google.com with ESMTPS id j6si8305140qct.1.2011.11.07.01.10.37
        (version=TLSv1/SSLv3 cipher=OTHER);
        Mon, 07 Nov 2011 01:10:37 -0800 (PST)
Received-SPF: pass (google.com: domain of liuj...@google.com designates 209.85.216.176 as permitted sender) client-ip=209.85.216.176;
Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of liuj...@google.com designates 209.85.216.176 as permitted sender) smtp.mail=liuj...@google.com; dkim=pass header...@google.com
Received: by mail-qy0-f176.google.com with SMTP id 29so4688995qyk.14
        for <protobuf@googlegroups.com>; Mon, 07 Nov 2011 01:10:37 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=beta;
        h=mime-version:in-reply-to:references:date:message-id:subject:from:to
         :content-type:x-system-of-record;
        bh=EzjhWMVoP3aNAIr4Ui+kM0z8BjfR6MyxshKgVAE11iM=;
        b=vE6BS4FbX+RYayjR2mZBchFEgHvPWDTXogbj2cVJInTykP56AwcyH6VEsK09Ufsnvi
         Kf/pynmsit8izUk0LmUA==
Received: by 10.229.218.199 with SMTP id hr7mr922127qcb.285.1320657037211;
        Mon, 07 Nov 2011 01:10:37 -0800 (PST)
MIME-Version: 1.0
Received: by 10.229.218.199 with SMTP id hr7mr922124qcb.285.1320657037066;
 Mon, 07 Nov 2011 01:10:37 -0800 (PST)
Received: by 10.229.169.201 with HTTP; Mon, 7 Nov 2011 01:10:37 -0800 (PST)
In-Reply-To: <28617136.2593.1318347152145.JavaMail.geo-discussion-forums@yqgn17>
References: <13391093.1704.1316543638082.JavaMail.geo-discussion-forums@yqbr29>
	<28617136.2593.1318347152145.JavaMail.geo-discussion-forums@yqgn17>
Date: Mon, 7 Nov 2011 17:10:37 +0800
Message-ID: <CA++-=9P_Kzn0R5mhcB_SEX8ZKyYQOt54b1dAQ1B+nrYUmE3...@mail.gmail.com>
Subject: Re: [protobuf] Re: Contribution: C++Builder Compiling
From: Pherl Liu <liuj...@google.com>
To: protobuf@googlegroups.com
Content-Type: multipart/alternative; boundary=0016361e809a90819e04b1216de1
X-System-Of-Record: true

--0016361e809a90819e04b1216de1
Content-Type: text/plain; charset=ISO-8859-1

Thanks for the work! I've put a link in the 3rd party wiki
page<http://code.google.com/p/protobuf/wiki/ThirdPartyAddOns>


On Tue, Oct 11, 2011 at 11:32 PM, Scott Saad <saa...@gmail.com> wrote:

> 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.
>

We'd like to accept patches. However, we don't have enough engineering
resources to maintain another platform. Supporting a different platform
requires much testing work in the release process (also user support). I'd
suggest to keep the C++ builder branch. You can always merge when a new
version of protobuf is released.


>
> 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+unsubscribe@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/protobuf?hl=en.
>

--0016361e809a90819e04b1216de1
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Thanks for the work! I&#39;ve put a link in the <a href=3D"http://code.goog=
le.com/p/protobuf/wiki/ThirdPartyAddOns">3rd party wiki page</a>=A0<br><br>=
<div class=3D"gmail_quote">On Tue, Oct 11, 2011 at 11:32 PM, Scott Saad <sp=
an dir=3D"ltr">&lt;<a href=3D"mailto:saa...@gmail.com">saa...@gmail.com</a>=
&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">A quick status update on this effort:<div><=
ul><li><span style=3D"line-height:normal">I forked the source at GitHub und=
er the <a href=3D"https://github.com/saadware/protobuf-cppbuilder" target=
=3D"_blank">protobuf-cppbuilder</a> project.</span></li>
<li>The biggest overarching changes revolved around namespaces. These chang=
es were minimal but touched many files.</li><ul><li>Main cause of this chan=
ge was a &quot;using namespace std;&quot; statement in common.h. I removed =
this but then had to fully qualify std types when there were used (i.e. str=
ing became std::string).</li>
<li>C++Builder sometimes had problems resolving namespaces. For example if =
we were in google::protobuf and something was referenced in google::protobu=
f::internal, I had to qualify that by adding internal:: to whatever was bei=
ng referenced.=A0</li>
</ul><li>Other changes revolved around #ifdef/#ifndef certain includes, etc=
. (similar to MSVC).</li><li>A very interesting compiler complaint that too=
k me a while to track down was how=A0dependent=A0names were being sometimes=
 used/declared. When they referred to types and templates I had to <a href=
=3D"http://womble.decadent.org.uk/c++/template-faq.html#disambiguation" tar=
get=3D"_blank">disambiguate</a>. This cleaned things up and made the source=
 cleaning compile across all platforms.</li>
<li><span style=3D"line-height:normal"><b>The libraries are compiling under=
 C++Builder and can be linked against.</b></span></li><li><span style=3D"li=
ne-height:normal"><b>protoc is not fully working. </b>It compiles=A0fine bu=
t gets a runtime error when parsing options. I&#39;m not yet sure what&#39;=
s going on here. A workaround is to not use the protoc that gets compiled w=
ith this project, but use the distributed binary to generate the C++ protoc=
ol buffers. Hoping I can make some headway on this issue soon.</span></li>
<li><span style=3D"line-height:normal">I&#39;ve compiled all changes on bot=
h gcc and MSVC. <b>All unit tests are passing.</b></span></li></ul><div>In =
my opinion these changes would be great to have merged back into the protob=
uf proper branch as most of them aim to make the code base more cross compi=
ler compliant. I suppose the C++Builder is a bit more strict on a few items=
.=A0</div>
</div><div><br></div><div>I would be happy to produce is diff/patch to be l=
ooked at by a main contributor on the google project. Please just let me kn=
ow what I can do to help facilitate this.</div></blockquote><div><br></div>
<div>We&#39;d like to accept patches. However, we don&#39;t have enough eng=
ineering resources to maintain another platform. Supporting a different pla=
tform requires much testing work in the release process (also user support)=
. I&#39;d suggest to keep the C++ builder branch. You can always merge when=
 a new version of protobuf is released.</div>
<div>=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex;"><div><br></div><div>Thank you=
,</div><div class=3D"im"><div>Scott Saad</div>

<p></p>

-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;Protocol Buffers&quot; group.<br></div>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/d/msg/protobuf/-/5L32fr5BM-QJ" target=3D"_blank">https://groups.google.c=
om/d/msg/protobuf/-/5L32fr5BM-QJ</a>.<div class=3D"HOEnZb"><div class=3D"h5=
"><br>
=20
To post to this group, send email to <a href=3D"mailto:protobuf@googlegroup=
s.com" target=3D"_blank">protobuf@googlegroups.com</a>.<br>
To unsubscribe from this group, send email to <a href=3D"mailto:protobuf%2B=
unsubscribe@googlegroups.com" target=3D"_blank">protobuf+unsubscribe@google=
groups.com</a>.<br>

For more options, visit this group at <a href=3D"http://groups.google.com/g=
roup/protobuf?hl=3Den" target=3D"_blank">http://groups.google.com/group/pro=
tobuf?hl=3Den</a>.<br>


</div></div></blockquote></div><br>

--0016361e809a90819e04b1216de1--