summaryrefslogtreecommitdiff
path: root/librabbitmq
diff options
context:
space:
mode:
authorAlan Antonuk <alan.antonuk@gmail.com>2012-10-04 21:33:35 -0700
committerAlan Antonuk <alan.antonuk@gmail.com>2012-10-04 21:33:35 -0700
commitb7b379acd60776cedf211f262b9ee5ff55bee96a (patch)
treee2c18fe6441bc07128df4aa10f540bf76f9c50d7 /librabbitmq
parenta128fd89dbf106d2749658bc75c9f4db41fa3a33 (diff)
parentbda6f61ff7e5aabb8a1e907e19b856e8bf85a7d1 (diff)
downloadrabbitmq-c-github-ask-b7b379acd60776cedf211f262b9ee5ff55bee96a.tar.gz
Merge pull request #48 from alanxz/issue47_python3_support
Issue47 python3 support
Diffstat (limited to 'librabbitmq')
-rw-r--r--librabbitmq/CMakeLists.txt11
-rw-r--r--librabbitmq/codegen.py3
2 files changed, 13 insertions, 1 deletions
diff --git a/librabbitmq/CMakeLists.txt b/librabbitmq/CMakeLists.txt
index 0b77c49..b0bda09 100644
--- a/librabbitmq/CMakeLists.txt
+++ b/librabbitmq/CMakeLists.txt
@@ -8,15 +8,26 @@ set(CODEGEN_PY "${CMAKE_CURRENT_BINARY_DIR}/codegen.py")
set(AMQP_SPEC_JSON_PATH "${AMQP_CODEGEN_DIR}/amqp-rabbitmq-0.9.1.json")
#generate amqp_framing.h/amqp_framing.c
+
+if (PYTHON_VERSION_MAJOR GREATER 2)
+ set(CONVERT_CODEGEN ${PYTHON_2TO3_EXECUTABLE} -w ${CODEGEN_PY} > codegen_2to3.out)
+ set(CONVERT_AMQP_CODEGEN ${PYTHON_2TO3_EXECUTABLE} -w ${AMQP_CODEGEN_PY} > amqp_codegen_2to3.out)
+else ()
+ set(CONVERT_CODEGEN "")
+ set(CONVERT_AMQP_CODEGEN "")
+endif ()
+
add_custom_command(
OUTPUT ${CODEGEN_PY}
COMMAND ${CMAKE_COMMAND} ARGS -E copy ${CMAKE_CURRENT_SOURCE_DIR}/codegen.py ${CODEGEN_PY}
+ COMMAND ${CONVERT_CODEGEN}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/codegen.py
VERBATIM)
add_custom_command(
OUTPUT ${AMQP_CODEGEN_PY}
COMMAND ${CMAKE_COMMAND} ARGS -E copy ${AMQP_CODEGEN_DIR}/amqp_codegen.py ${AMQP_CODEGEN_PY}
+ COMMAND ${CONVERT_AMQP_CODEGEN}
DEPENDS ${AMQP_CODEGEN_DIR}/amqp_codegen.py ${AMQP_CODEGEN_TARGET}
VERBATIM)
diff --git a/librabbitmq/codegen.py b/librabbitmq/codegen.py
index 42d039d..4e26666 100644
--- a/librabbitmq/codegen.py
+++ b/librabbitmq/codegen.py
@@ -29,6 +29,7 @@
# ***** END LICENSE BLOCK *****
from __future__ import nested_scopes
+from __future__ import division
from amqp_codegen import *
import string
@@ -633,7 +634,7 @@ AMQP_CALL amqp_encode_properties(uint16_t class_id,
for f in c.fields:
if index % 16 == 15:
index = index + 1
- shortnum = index / 16
+ shortnum = index // 16
partialindex = 15 - (index % 16)
bitindex = shortnum * 16 + partialindex
print '#define %s (1 << %d)' % (cFlagName(c, f), bitindex)