qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cliff Jansen" <cliffjan...@gmail.com>
Subject Re: Review Request: patches for mingw
Date Mon, 24 Dec 2012 20:55:19 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6302/
-----------------------------------------------------------

(Updated Dec. 24, 2012, 8:55 p.m.)


Review request for qpid, Andrew Stitcher, Kenneth Giusti, Steve Huston, and Rafael Schloming.


Changes
-------

Hopefully, this follows all of Andrew's suggestions...


Description
-------

This patch set works with a recent mingw32, cmake 2.8.1, python 2.5, swig 2.0.7.

A push-button build is still a ways off.  The custom_commands in the cmake script to generate
the protocol headers don't work yet on Windows.

The most intrusive change was the introduction of a pn_socket_t type to hold a socket on both
Windows and Posix platforms.  An attempt was made to minimize the use of #ifdefs and split
platform code into separate posix and windows directories, as is done for the C++ code.  There
is so little needed at the moment, this may be overkill.  The qpid-proton-posix library was
ditched and combined with the main qpid-proton library.  Instead, the work is done in CMake
to assemble the correct shared and platform specific sources as is done in the C++ tree.

The driver.c implementation is proof of concept using Winsock select().  Future work would
most likely replace this with an I/O completion port implementation.


1. mkdir ...\trunk\proton-c\build

2. set env vars as per trunk\config.sh


  set PATH=C:\Program Files (x86)\CMake 2.8\bin;C:\python25;C:\mingw_ptn\bin;C:\Windows\System32;c:\cj\work\amqp\proton\mingw4\trunk\proton-c\build
  set PYTHONPATH=c:\cj\work\amqp\proton\mingw4\trunk\tests;c:\cj\work\amqp\proton\mingw4\trunk\proton-c;c:\cj\work\amqp\proton\mingw4\trunk\proton-c\build\bindings\python
  set PYTHON_BINDINGS=c:\cj\work\amqp\proton\mingw4\trunk\proton-c\build\bindings\python
  set PROTON_HOME=C:\cj\work\amqp\proton\mingw4\trunk

3. generate the headers:

  cd trunk\proton-c\build
  python c:\cj\work\amqp\proton\mingw4\trunk\proton-c\src\codec\encodings.h.py >encodings.h
  python c:\cj\work\amqp\proton\mingw4\trunk\proton-c\src\protocol.h.py >protocol.h

4. build

  cmake -G "MinGW Makefiles" -DSWIG_EXECUTABLE=C:\swigwin-2.0.7\swig.exe c:\cj\work\amqp\proton\mingw4\trunk\proton-c
  mingw32-make
  python ..\..\tests\proton-test


This addresses bug QPID-4181.
    https://issues.apache.org/jira/browse/QPID-4181


Diffs (updated)
-----

  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/CMakeLists.txt 1425672 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/bindings/php/php.i 1425672 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/bindings/python/python.i 1425672

  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/cproton.i 1425672

  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/driver.h 1425672

  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/driver_extras.h
PRE-CREATION 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/include/proton/error.h 1425672

  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/driver.c 1425672 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/error.c 1425672 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/platform.h 1425672 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/platform.c 1425672 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/proton-dump.c 1425672 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/proton.c 1425672 
  http://svn.apache.org/repos/asf/qpid/proton/trunk/proton-c/src/windows/driver.c PRE-CREATION


Diff: https://reviews.apache.org/r/6302/diff/


Testing
-------

Fedora, Windows


Thanks,

Cliff Jansen


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message