You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Christian Lavoie (JIRA)" <ji...@apache.org> on 2011/01/27 22:24:47 UTC

[jira] Commented: (THRIFT-1031) Patch to compile Thrift for vc++ 9.0 and 10.0

    [ https://issues.apache.org/jira/browse/THRIFT-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12987767#action_12987767 ] 

Christian Lavoie commented on THRIFT-1031:
------------------------------------------

A few issues:

1) Config.h is a bad name -- ./configure already creates a config.h, and w\e the windows configuration mechanism ends up being, it should be completely and obviously different from what ./configure outputs

2) I really don't think we wanna sprinkle the code with any more ifdefs than there already are -- I'd be more comfortable with slowly creating a set of utility functions that are reimplemented for each major platform group as needed (we've already run in this problem with Darwin's lack of clock_gettime(); and in a more distant fashion with supporting unix sockets).

Or just using the Apache Portable Runtime, which solves this by making it Someone Else's Problem.

3) I'm not particularly enthused by having all files including a superset of the needed headers through including them all in to Config.h -- if anything we should reduce the (transitive closure of the) number of headers included per cpp file

> Patch to compile Thrift for vc++ 9.0 and 10.0
> ---------------------------------------------
>
>                 Key: THRIFT-1031
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1031
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C++ - Library
>         Environment: Windows XP 32bit, vc++ 9.0, 10.0
>            Reporter: James Dickson
>            Priority: Trivial
>             Fix For: 0.7
>
>         Attachments: thrift_msvc.patch
>
>
> At our company we need clients running on Windows being able to connect to our linux servers running hypertable. The attached patch enables the parts needed by Hypertable to be compiled on Windows using either the VC++ 9.0 or 10.0 compilers.
> Having read previous posts about ports using boost::asio we found these to be too intrusive for our needs. This version uses pthreads_win32 and winsock2 and is as designed to be as un-intrusive as is possible to the original unix code base. It is mostly #defines between unix sockets and winsock2 sockets. We also tried to follow the folder structuring of the C# runtime that has visual studio solutions to be consistent.
> More details are in the README as not all the functionality of the original unix code base is available to windows users. We will add the missing functionality, we just wanted to share what we had as for a Windows based client for us it is sufficient.
> The patch is based on the latest revision in SVN, we would love feedback and any code reviews. If there is any possibility of this being added to the main trunk then that would be much appreciated, however we don't expect that.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.