mymodule.i
%module mymodule %{ extern int sum (int a, int b); %} extern int sum (int a, int b);
mymodule.c
int sum (int a, int b) { return a + b; }
$ swig -python mymodule.i
$ libtool --tag=CC --mode=compile gcc -g -I/usr/include/python2.7 \ -c mymodule_wrap.c -o mymodule_wrap.lo $ libtool --tag=CC --mode=compile gcc -g -I/usr/include/python2.7 \ -c mymodule.c -o mymodule.lo $ libtool --tag=CC --mode=link gcc -g mymodule.lo mymodule_wrap.lo \ -L$HOME/opt/lib64 -rpath ‘pwd‘ -lc -lm -o libmymodule.la $ cp .libs/libmymodule.so _mymodule.so $ python testsum.py 3
libtool: compile: gcc -g -I/usr/include/python2.7 -c mymodule_wrap.c -fPIC -DPIC -o .libs/mymodule_wrap.o libtool: compile: gcc -g -I/usr/include/python2.7 -c mymodule_wrap.c -o mymodule_wrap.o >/dev/null 2>&1 libtool: compile: gcc -g -I/usr/include/python2.7 -c mymodule.c -fPIC -DPIC -o .libs/mymodule.o libtool: compile: gcc -g -I/usr/include/python2.7 -c mymodule.c -o mymodule.o >/dev/null 2>&1 libtool: link: rm -fr .libs/libmymodule.a .libs/libmymodule.la .libs/libmymodule.lai \ .libs/libmymodule.so .libs/libmymodule.so.0 .libs/libmymodule.so.0.0.0 libtool: link: gcc -shared -fPIC -DPIC .libs/mymodule.o .libs/mymodule_wrap.o \ -L‘pwd‘/lib64 -lc -lm -Wl,-soname -Wl,libmymodule.so.0 -o .libs/libmymodule.so.0.0.0 libtool: link: (cd ".libs" && rm -f "libmymodule.so.0" && ln -s "libmymodule.so.0.0.0" "libmymodule.so.0") libtool: link: (cd ".libs" && rm -f "libmymodule.so" && ln -s "libmymodule.so.0.0.0" "libmymodule.so") libtool: link: ar cru .libs/libmymodule.a mymodule.o mymodule_wrap.o libtool: link: ranlib .libs/libmymodule.a libtool: link: ( cd ".libs" && rm -f "libmymodule.la" && ln -s "../libmymodule.la" "libmymodule.la" )
%cstring_output_allocate_size(char **start, int *used); %{ extern "C" void get_ebuf (char **start, int *used); extern "C" void get_fbuf (char **start, int *used);
#!/usr/bin/env python import pge print "starting exampleBoxes" pge.batch () t = pge.rgb (1.0/2.0, 2.0/3.0, 3.0/4.0) wood_light = pge.rgb (166.0/256.0, 124.0/256.0, 54.0/256.0) wood_dark = pge.rgb (76.0/256.0, 47.0/256.0, 0.0) metal = pge.rgb (0.5, 0.5, 0.5) ball_size = 0.04 boarder = 0.01
def placeBoarders (thickness, color): print "placeBoarders" e1 = pge.box (0.0, 0.0, 1.0, thickness, color).fix () e2 = pge.box (0.0, 0.0, thickness, 1.0, color).fix () e3 = pge.box (1.0-thickness, 0.0, thickness, 1.0, color).fix () e4 = pge.box (0.0, 1.0-thickness, 1.0, thickness, color).fix () for e in [e1, e2, e3, e4]: e.on_collision (play_wood) return e1, e2, e3, e4
def crate (x, y, w): c = pge.box (x, y, w, w, wood_dark).on_collision (crate_split).set_param (6)
def crate_split (p): w = p.width () / 2 wg = w - gap e = p.get_param () if e != None: if e % 2 == 1: # subdivide into smaller crates, every odd bounce m = p[0].mass () c = p[0].colour () for v in [[0, 0], [0, w], [w, 0], [w, w]]: b = pge.box (v[0], v[1], wg, wg, c).mass (m).on_collision (crate_split) b.set_param (e-1) p.delete () elif e == 0: # at the end of 6 collisions the crates disappear p.delete () else: # allow collision (bounce) without splitting every even bounce p.set_param (e-1)
swig -outdir . -o pgeif_wrap.cxx -c++ -python $(srcdir)/pgeif.i libtool --tag=CC --mode=compile g++ -g -c pgeif_wrap.cxx \ -I/usr/include/python$(PYTHON_VERSION) -o pgeif_wrap.lo gm2 -c -g -I$(SRC_PATH_PIM) -fmakelist $(srcdir)/pgeif.mod gm2 -c -g -I$(SRC_PATH_PIM) -fmakeinit -fshared $(srcdir)/pgeif.mod libtool --tag=CC --mode=compile g++ -g -c _m2_pgeif.cpp -o _m2_pgeif.lo libtool --tag=CC --mode=link gcc -g _m2_pgeif.lo $(PGELIBSOURCES:%.mod=%.lo) \ pgeif_wrap.lo buffers.lo \ -L$(prefix)/lib64 \ -rpath ‘pwd‘ -lgm2 -liso -lgcc -lstdc++ -lpth -lc -lm -o libpgeif.la \ cp .libs/libpgeif.so _pgeif.so
This document was produced using groff-1.22.