annotate python/pydc/README.txt @ 4:4c5019f00f5b

- python binding cleanup
author cslag
date Tue, 22 Mar 2016 00:55:15 +0100
parents 0cfcc391201f
children bf5625bb6f05
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
1 dyncall python bindings
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2 (C) 2007 Daniel Adler.
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 2007 04. December
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4
4
4c5019f00f5b - python binding cleanup
cslag
parents: 0
diff changeset
5 INSTALLATION
4c5019f00f5b - python binding cleanup
cslag
parents: 0
diff changeset
6 ------------
4c5019f00f5b - python binding cleanup
cslag
parents: 0
diff changeset
7
4c5019f00f5b - python binding cleanup
cslag
parents: 0
diff changeset
8 1) make sure dyncall is built and libraries/headers are in include paths or
4c5019f00f5b - python binding cleanup
cslag
parents: 0
diff changeset
9 CFLAGS points to them, etc.
4c5019f00f5b - python binding cleanup
cslag
parents: 0
diff changeset
10
4c5019f00f5b - python binding cleanup
cslag
parents: 0
diff changeset
11 2) python setup.py install
4c5019f00f5b - python binding cleanup
cslag
parents: 0
diff changeset
12
4c5019f00f5b - python binding cleanup
cslag
parents: 0
diff changeset
13
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 API
4
4c5019f00f5b - python binding cleanup
cslag
parents: 0
diff changeset
15 ---
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 libhandle = load(libpath)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 funcptr = find(libhandle, symbolname )
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 call( funcptr,signature, ... )
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21 SIGNATURE FORMAT
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23 is a formated string
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25 format: "xxxxx)y"
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
26
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
27 x is positional parameter-type charcode
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
28
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
29 'b' C++: bool <- Python: PyBool
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
30 'i' C: int <- Python: PyInt
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
31 'l' C: long long <- Python: PyLongLong
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32 'p' C: void* <- Python: PyCObject
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
33 's' C: const char* <- Python: PyString
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
34
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
35 y is result-type charcode
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
36
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
37 'v' void
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
38 'i' int -> PyInt
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39 'l' long -> PyLong
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40 'p' ptr -> PyCObject encapsulating a void*
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41 'f' float -> PyFloat (upcast to double)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42 'd' double -> PyFloat
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
43
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
44 BUGS
4
4c5019f00f5b - python binding cleanup
cslag
parents: 0
diff changeset
45 ----
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
46
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
47 * build on osx/ppc - link error i386 something... [MacPython 2.4]
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
48
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
49 solution:
4
4c5019f00f5b - python binding cleanup
cslag
parents: 0
diff changeset
50 installation of latest python for os x (MacPython 2.5)
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52 build log:
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
53
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
54 python setup.py install
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
55 running install
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56 running build
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
57 running build_py
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
58 creating build
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59 creating build/lib.macosx-10.3-fat-2.4
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
60 copying pydc.py -> build/lib.macosx-10.3-fat-2.4
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
61 running build_ext
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62 building 'pydcext' extension
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63 creating build/temp.macosx-10.3-fat-2.4
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
64 gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -I../../../dyncall -I../../../dynload -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 -c pydcext.c -o build/temp.macosx-10.3-fat-2.4/pydcext.o
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65 gcc -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g -bundle -undefined dynamic_lookup build/temp.macosx-10.3-fat-2.4/pydcext.o -L../../../dyncall -L../../../dynload -ldyncall_s -ldynload_s -lstdc++ -o build/lib.macosx-10.3-fat-2.4/pydcext.so
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
66 /usr/bin/ld: for architecture i386
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
67 /usr/bin/ld: warning ../../../dyncall/libdyncall_s.a archive's cputype (18, architecture ppc) does not match cputype (7) for specified -arch flag: i386 (can't load from it)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
68 /usr/bin/ld: warning ../../../dynload/libdynload_s.a archive's cputype (18, architecture ppc) does not match cputype (7) for specified -arch flag: i386 (can't load from it)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
69 running install_lib
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
70 copying build/lib.macosx-10.3-fat-2.4/pydcext.so -> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
71