author | John Beck <John.Beck@Oracle.COM> |
Wed, 09 Oct 2013 07:10:15 -0700 | |
branch | s11-update |
changeset 2785 | b6f5c5d1d0b7 |
permissions | -rw-r--r-- |
2785
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
1 |
Remove the use of gcc-specific flags. |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
2 |
And don't regenerate amqp_framing.[ch] if the source hasn't changed. |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
3 |
|
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
4 |
Without the patch to connection.c, we get |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
5 |
|
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
6 |
"Modules/_librabbitmq/connection.c", line 465: reference to static identifier "AMQTable_toPyDict" in extern inline function |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
7 |
"Modules/_librabbitmq/connection.c", line 685: reference to static identifier "PyDict_ToAMQTable" in extern inline function |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
8 |
|
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
9 |
from Studio. These are new since 0.9.9, where we didn't have this problem. |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
10 |
Not sure what the right fix is. |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
11 |
|
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
12 |
Finally, we inherit CFLAGS and LDFLAGS from the environment rather than |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
13 |
using what Python was compiled with. In particular, Python 2.7 in |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
14 |
Userland currently has some undesired settings such as including |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
15 |
/usr/gnu/lib in the RUNPATH. |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
16 |
|
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
17 |
--- librabbitmq-1.0.1/setup.py Mon Jan 14 06:05:35 2013 |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
18 |
+++ librabbitmq-1.0.1/setup.py Mon Sep 2 14:25:44 2013 |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
19 |
@@ -3,6 +3,7 @@ |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
20 |
import sys |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
21 |
from glob import glob |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
22 |
from setuptools import setup, find_packages |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
23 |
+from distutils.dep_util import newer |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
24 |
|
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
25 |
# --with-librabbitmq=<dir>: path to librabbitmq package if needed |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
26 |
|
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
27 |
@@ -26,9 +27,15 @@ |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
28 |
codegen = LRMQSRC('codegen.py') |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
29 |
spec = SPECPATH('amqp-rabbitmq-0.9.1.json') |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
30 |
sys.path.insert(0, SPECPATH()) |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
31 |
+ hfile = LRMQSRC('amqp_framing.h') |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
32 |
+ cfile = LRMQSRC('amqp_framing.c') |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
33 |
+ # Don't regenerate the files if the spec file hasn't changed. This prevents |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
34 |
+ # a separate install phase from unnecessarily rebuilding the extension. |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
35 |
+ if not (newer(spec, hfile) or newer(spec, cfile)): |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
36 |
+ return |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
37 |
commands = [ |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
38 |
- (sys.executable, codegen, 'header', spec, LRMQSRC('amqp_framing.h')), |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
39 |
- (sys.executable, codegen, 'body', spec, LRMQSRC('amqp_framing.c')), |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
40 |
+ (sys.executable, codegen, 'header', spec, hfile), |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
41 |
+ (sys.executable, codegen, 'body', spec, cfile), |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
42 |
] |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
43 |
restore = senv(('PYTHONPATH', SPECPATH()), sep=':') |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
44 |
try: |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
45 |
@@ -112,7 +119,7 @@ |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
46 |
|
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
47 |
class build(_build): |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
48 |
stdcflags = [ |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
49 |
- '-W -Wall -DHAVE_CONFIG_H', |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
50 |
+ '-DHAVE_CONFIG_H', |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
51 |
] |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
52 |
if os.environ.get('PEDANTIC'): |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
53 |
# Python.h breaks -pedantic, so can only use it while developing. |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
54 |
@@ -124,8 +131,7 @@ |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
55 |
from distutils import sysconfig |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
56 |
config = sysconfig.get_config_vars() |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
57 |
try: |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
58 |
- restore = senv(('CFLAGS', config['CFLAGS']), |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
59 |
- ('LDFLAGS', config['LDFLAGS'])) |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
60 |
+ restore = senv() |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
61 |
try: |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
62 |
os.chdir(LRMQDIST()) |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
63 |
if not os.path.isfile('config.h'): |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
64 |
--- librabbitmq-1.0.1/Modules/_librabbitmq/connection.c Mon Jan 14 04:48:57 2013 |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
65 |
+++ librabbitmq-1.0.1/Modules/_librabbitmq/connection.c Mon Apr 8 16:01:05 2013 |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
66 |
@@ -62,10 +62,10 @@ |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
67 |
_PYRMQ_INLINE int RabbitMQ_wait_nb(int); |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
68 |
_PYRMQ_INLINE int RabbitMQ_wait_timeout(int, double); |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
69 |
|
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
70 |
-_PYRMQ_INLINE void |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
71 |
+void |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
72 |
basic_properties_to_PyDict(amqp_basic_properties_t*, PyObject*); |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
73 |
|
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
74 |
-_PYRMQ_INLINE int |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
75 |
+int |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
76 |
PyDict_to_basic_properties(PyObject *, |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
77 |
amqp_basic_properties_t *, |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
78 |
amqp_connection_state_t ); |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
79 |
@@ -408,7 +408,7 @@ |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
80 |
} |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
81 |
|
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
82 |
|
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
83 |
-_PYRMQ_INLINE void |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
84 |
+void |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
85 |
basic_properties_to_PyDict(amqp_basic_properties_t *props, PyObject *p) |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
86 |
{ |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
87 |
register PyObject *value = NULL; |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
88 |
@@ -614,7 +614,7 @@ |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
89 |
} |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
90 |
|
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
91 |
|
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
92 |
-_PYRMQ_INLINE int |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
93 |
+int |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
94 |
PyDict_to_basic_properties(PyObject *p, |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
95 |
amqp_basic_properties_t *props, |
b6f5c5d1d0b7
PSARC 2013/140 greenlet version 0.4.0 - Python coroutines module
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
96 |
amqp_connection_state_t conn) |