summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cpp/Makefile.am2
-rw-r--r--cpp/bindings/qpid/qpid.i6
-rw-r--r--cpp/bindings/swig_python_typemaps.i9
-rw-r--r--cpp/bindings/swig_ruby_typemaps.i2
-rw-r--r--cpp/configure.ac3
5 files changed, 13 insertions, 9 deletions
diff --git a/cpp/Makefile.am b/cpp/Makefile.am
index 7187fec1d1..60ef976b07 100644
--- a/cpp/Makefile.am
+++ b/cpp/Makefile.am
@@ -28,7 +28,7 @@ EXTRA_DIST = \
packaging/NSIS QPID_VERSION.txt bindings/swig_python_typemaps.i \
bindings/swig_ruby_typemaps.i
-SUBDIRS = managementgen etc src docs/api docs/man examples bindings/qmf
+SUBDIRS = managementgen etc src docs/api docs/man examples bindings/qmf bindings/qpid
# Update libtool, if needed.
libtool: $(LIBTOOL_DEPS)
diff --git a/cpp/bindings/qpid/qpid.i b/cpp/bindings/qpid/qpid.i
index 3dd07f90ab..e60ce1ce7c 100644
--- a/cpp/bindings/qpid/qpid.i
+++ b/cpp/bindings/qpid/qpid.i
@@ -48,13 +48,7 @@ qpid::types::Variant::List& decodeList(const qpid::messaging::Message& msg) {
%}
-
-%include <qpid/types/ImportExport.h>
%include <qpid/messaging/ImportExport.h>
-%include <qpid/types/Exception.h>
-%include <qpid/messaging/exceptions.h>
-%include <qpid/types/Uuid.h>
-%include <qpid/types/Variant.h>
%include <qpid/messaging/Address.h>
%include <qpid/messaging/Duration.h>
%include <qpid/messaging/Message.h>
diff --git a/cpp/bindings/swig_python_typemaps.i b/cpp/bindings/swig_python_typemaps.i
index 3f6be5f4e2..7c6e27e17e 100644
--- a/cpp/bindings/swig_python_typemaps.i
+++ b/cpp/bindings/swig_python_typemaps.i
@@ -19,6 +19,13 @@
%wrapper %{
+#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+typedef int Py_ssize_t;
+#define PY_SSIZE_T_MAX INT_MAX
+#define PY_SSIZE_T_MIN INT_MIN
+#endif
+
+
PyObject* MapToPy(const qpid::types::Variant::Map*);
PyObject* ListToPy(const qpid::types::Variant::List*);
void PyToMap(PyObject*, qpid::types::Variant::Map*);
@@ -27,7 +34,7 @@
qpid::types::Variant PyToVariant(PyObject* value) {
if (PyFloat_Check(value)) return qpid::types::Variant(PyFloat_AS_DOUBLE(value));
if (PyString_Check(value)) return qpid::types::Variant(std::string(PyString_AS_STRING(value)));
- if (PyInt_Check(value)) return qpid::types::Variant(PyInt_AS_LONG(value));
+ if (PyInt_Check(value)) return qpid::types::Variant(int64_t(PyInt_AS_LONG(value)));
if (PyLong_Check(value)) return qpid::types::Variant(int64_t(PyLong_AsLongLong(value)));
if (PyBool_Check(value)) return qpid::types::Variant(PyInt_AS_LONG(value) ? true : false);
if (PyDict_Check(value)) {
diff --git a/cpp/bindings/swig_ruby_typemaps.i b/cpp/bindings/swig_ruby_typemaps.i
index beae77d3d1..25a8924c18 100644
--- a/cpp/bindings/swig_ruby_typemaps.i
+++ b/cpp/bindings/swig_ruby_typemaps.i
@@ -30,7 +30,7 @@
switch (TYPE(value)) {
case T_FLOAT: return qpid::types::Variant(NUM2DBL(value));
case T_STRING: return qpid::types::Variant(StringValuePtr(value));
- case T_FIXNUM: return qpid::types::Variant(FIX2LONG(value));
+ case T_FIXNUM: return qpid::types::Variant((int64_t) FIX2LONG(value));
case T_BIGNUM: return qpid::types::Variant((int64_t) NUM2LL(value));
case T_TRUE: return qpid::types::Variant(true);
case T_FALSE: return qpid::types::Variant(false);
diff --git a/cpp/configure.ac b/cpp/configure.ac
index 08e512a835..fe2179ad42 100644
--- a/cpp/configure.ac
+++ b/cpp/configure.ac
@@ -523,6 +523,9 @@ AC_CONFIG_FILES([
examples/qmf-console/Makefile
examples/tradedemo/Makefile
examples/messaging/Makefile
+ bindings/qpid/Makefile
+ bindings/qpid/ruby/Makefile
+ bindings/qpid/python/Makefile
bindings/qmf/Makefile
bindings/qmf/ruby/Makefile
bindings/qmf/python/Makefile