1PYTHON setup.py build_ext --inplace
2PYTHON -c "import a"
3
4######## setup.py ########
5
6from Cython.Build.Dependencies import cythonize
7import Cython.Compiler.Options
8Cython.Compiler.Options.cimport_from_pyx = True
9
10from distutils.core import setup
11
12setup(
13  ext_modules = cythonize("*.pyx"),
14)
15
16######## a.pyx ########
17
18from b cimport Bclass, Bfunc, Bstruct, Benum, Benum_value, Btypedef, Py_EQ, Py_NE
19cdef Bclass b = Bclass(5)
20assert Bfunc(&b.value) == b.value
21assert b.asStruct().value == b.value
22cdef Btypedef b_type = &b.value
23cdef Benum b_enum = Benum_value
24cdef int tmp = Py_EQ
25
26#from c cimport ClassC
27#cdef ClassC c = ClassC()
28#print c.value
29
30######## b.pyx ########
31
32from cpython.object cimport Py_EQ, Py_NE
33
34cdef enum Benum:
35    Benum_value
36
37cdef struct Bstruct:
38    int value
39
40ctypedef long *Btypedef
41
42cdef class Bclass:
43    cdef long value
44    def __init__(self, value):
45        self.value = value
46    cdef Bstruct asStruct(self):
47        return Bstruct(value=self.value)
48
49cdef long Bfunc(Btypedef x):
50    return x[0]
51
52######## c.pxd ########
53
54cdef class ClassC:
55    cdef int value
56