You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Alan Conway (JIRA)" <qp...@incubator.apache.org> on 2009/02/10 16:25:57 UTC

[jira] Commented: (QPID-1625) C++ tests need Linux-isms changed to build on Windows

    [ https://issues.apache.org/jira/browse/QPID-1625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672291#action_12672291 ] 

Alan Conway commented on QPID-1625:
-----------------------------------

I'd be inclined to put that in sys. Its only used in tests today but it might well be used in non-test code tomorrow.

> C++ tests need Linux-isms changed to build on Windows
> -----------------------------------------------------
>
>                 Key: QPID-1625
>                 URL: https://issues.apache.org/jira/browse/QPID-1625
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows
>            Reporter: Steve Huston
>            Priority: Minor
>
> A number of the qpid/cpp/src/tests sources contain #includes that don't work on Windows. For example, <alloca.h>. In many cases, the referenced facilities exist on Windows but are accessed slightly differently. For example, this works on Windows where <alloca.h> is included:
> #ifdef _WIN32
> #  include <malloc.h>
> #  define alloc _alloc
> #else
> #  include <alloca.h>
> #endif
> I was thinking that, rather than add things to qpid/cpp/src/qpid/sys (platform-specific code for broker and client) that a sys directory be added to qpid/cpp/src/tests where things used just for the testing are placed. For example, there could be a tests/sys/alloca.h which contains, essentially, the ifdef block above.
> Thoughts?

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


RE: [jira] Commented: (QPID-1625) C++ tests need Linux-isms changed to build on Windows

Posted by "Vincent Seavello (Interop Systems Inc)" <v-...@microsoft.com>.
Hey folks. I've been working with Cliff to get QPID running and tested on Windows. I've been watching the traffic on these topics and holding back my responses while I get to know the layout. I have some of it figured out, but I'm sure there is much more to learn.

I've been working on getting the tests which are available in M4 to build on Windows. I have a fair number of them built, but I haven't run them all collectively. Most issues are simple, such as including (or not including) appropriate header files. Some have to do with minor semantic differences between the Windows and Linux compilation tools. Then there are the platform specific way in which these tools are run. In the mean time I've been running the tests against the Windows broker from a Linux box. It's given us a reasonable confidence in moving forward. This, of course, is a testament to the great work Steve Huston has done porting to the Windows platform.

I've been working on a document, well, a written rambling really, to talk about some of these issues and what I've done to (temporarily) get around them. The idea is to get to know the issues and solve them correctly in the medium term so later tests can be built and run on both platforms easily. I'll post the other document sometime soon.

For now, to chime in on this thread, I think having a platform layer of header files for this particular issue will make it easier to create a source file without having to worry about "how do I do this for windows". However, for something as fundamental as alloca.h, I'd expect this to be put in the broker system directories. This isn't just a test issue, though it's cropping up there quite a bit at the moment. 

Vince Seavello

-----Original Message-----
From: Alan Conway (JIRA) [mailto:qpid-dev@incubator.apache.org] 
Sent: Tuesday, February 10, 2009 7:26 AM
To: qpid-dev@incubator.apache.org
Subject: [jira] Commented: (QPID-1625) C++ tests need Linux-isms changed to build on Windows


    [ https://issues.apache.org/jira/browse/QPID-1625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672291#action_12672291 ] 

Alan Conway commented on QPID-1625:
-----------------------------------

I'd be inclined to put that in sys. Its only used in tests today but it might well be used in non-test code tomorrow.

> C++ tests need Linux-isms changed to build on Windows
> -----------------------------------------------------
>
>                 Key: QPID-1625
>                 URL: https://issues.apache.org/jira/browse/QPID-1625
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows
>            Reporter: Steve Huston
>            Priority: Minor
>
> A number of the qpid/cpp/src/tests sources contain #includes that don't work on Windows. For example, <alloca.h>. In many cases, the referenced facilities exist on Windows but are accessed slightly differently. For example, this works on Windows where <alloca.h> is included:
> #ifdef _WIN32
> #  include <malloc.h>
> #  define alloc _alloc
> #else
> #  include <alloca.h>
> #endif
> I was thinking that, rather than add things to qpid/cpp/src/qpid/sys (platform-specific code for broker and client) that a sys directory be added to qpid/cpp/src/tests where things used just for the testing are placed. For example, there could be a tests/sys/alloca.h which contains, essentially, the ifdef block above.
> Thoughts?

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org