I tried using swig_opts, but it didn't recognize it. I'm using python 2.3.2, SWIG 1.3.21 if that matters.
#!/bin/env python import sys, os from distutils.core import setup, Extension py_version='python%d.%d' % (sys.version_info[0],sys.version_info[1]) OTB_HOME='/vps/otbknox/williams/OTB_2.0' OTB_INCLDIR=[ os.path.join(OTB_HOME, 'include', 'global'), os.path.join(OTB_HOME, 'include', 'libinc'), os.path.join(sys.prefix,'include',py_version), OTB_HOME ] OTB_LIBDIR=[os.path.join(OTB_HOME,'lib')] setup (name = 'OTB_libs', version='1.0', author="Tim Williams", packages=['OTB_libs'], ext_package='OTB_libs', ext_modules=[Extension('_cmdline', sources=['OTB_libs/cmdline.i'], include_dirs=OTB_INCLDIR, library_dirs=OTB_LIBDIR, libraries=['cmdline'], swig_opts=['-includeall'] ) ], py_modules=['OTB_libs.cmdline'] ) ###################### /project/c4i/Users_Share/williams/Linux/lib/python2.3/distutils/extension.py :128: UserWarning: Unknown Extension options: 'swig_opts' warnings.warn(msg) running build running build_py copying OTB_libs/__init__.py -> build/lib.linux-i686-2.3/OTB_libs copying OTB_libs/cmdline.py -> build/lib.linux-i686-2.3/OTB_libs copying OTB_libs/cmdline.py -> build/lib.linux-i686-2.3/OTB_libs copying OTB_libs/__init__.py -> build/lib.linux-i686-2.3/OTB_libs running build_ext building '_cmdline' extension swigging OTB_libs/cmdline.i to OTB_libs/cmdline_wrap.c swig -python -o OTB_libs/cmdline_wrap.c OTB_libs/cmdline.i /usr/bin/g++33 -fno-strict-aliasing -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/vps/otbknox/williams/OTB_2.0/include/global -I/vps/otbknox/williams/OTB_2.0/include/libinc -I/project/c4i/Users_Share/williams/Linux/include/python2.3 -I/vps/otbknox/williams/OTB_2.0 -I/project/c4i/Users_Share/williams/Linux/include/python2.3 -c OTB_libs/cmdline_wrap.c -o build/temp.linux-i686-2.3/OTB_libs/cmdline_wrap.o gcc -pthread -shared build/temp.linux-i686-2.3/OTB_libs/cmdline_wrap.o -L/vps/otbknox/williams/OTB_2.0/lib -lcmdline -o build/lib.linux-i686-2.3/OTB_libs/_cmdline.so ################### I read over the typemaps some, but the libraries I'm trying to use have gobs of typedefs in them, and I was hoping that the #include files for the library would take care of it. (Beside me just not understanding enough about typemaps to be comfortable using them.) -----Original Message----- From: Lars Immisch [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 16, 2005 2:46 PM To: Williams, Timothy J Mr RDECOM CERDEC NVESD Cc: 'distutils-sig@python.org' Subject: Re: [Distutils] How do I modify the swig options in my setup.py > I'm trying to use SWIG to create an extension to access some third party > libraries I want to be able to change the options to include possible > '-includeall', '-c++'. I'm using distutils, but I don't know how to change > from the default options. From inside setup.py, use swig_opts. See the following example: import sys from distutils.core import setup,Extension setup (name = "sai", version = "2.0", description = "SAI Python wrapper", author = "Lars Immisch", author_email = "[EMAIL PROTECTED]", ext_modules = [Extension("_sai", ["sai.i", "errorobject.c", "symname.c"], swig_opts = [ "-modern", "-new_repr", "-I..", "-I../../include"], include_dirs=["..", "../../include"], library_dirs=["."], libraries=["nsl", "pthread", "cSARU-genappl-api", "saru"])], py_modules = ['sai'] ) > Also, a SWIG question: i build my _module.so and module_wrap.o, but when I > try to call one of the functions, I get and error saying that the last > argument was expected to be a pointer, but it isn't. I tried calling a > couple of functions and both times SWIG is expecting the last arg to be a > pointer. Any ideas? Wrong typemaps ;-) This sort of question is best asked with a minimal example on the swig mailing list, but do have a look into typemaps in the documentation. A lot of useful typemaps are in python/typemaps.i. - Lars _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig