If you are interested in a contribution to a HOWTO type document, here's a setup.py I wrote for a set of extensions for radar processing. The package has 3 sub-packages: 'a1pp','rec', and 'util', with both .py files and C++ extensions. I use 'SWIG' to generate wrappers for my C++ classes, which generates a Python wrapper, and an extension. I'm definitely not done with this, but I though anyone using SWIG's wrapped classes would like to see how the extensions are named. (It took some experimentation for me to figure it out). -- Joe VanAndel National Center for Atmospheric Research http://www.atd.ucar.edu/~vanandel/ Internet: vanandel@ucar.edu #!/usr/bin/env python # setup script for building Python Environment for Radar Processing # PERP extensions to Python # To use: # * run this to build : # python setup.py build # or this to build and install it # python setup.py install # created 01 Feb 2000 Joseph VanAndel import os from glob import glob from distutils.command import install from distutils.core import setup # the locate of the RDSS source tree. RDSS='/scr/canoe4/rdss' # location of include files, based on RDSS DDU_INC = RDSS + '/spol/ddutils' SPOL_INC = RDSS + '/spol/include' #DDM_LIB = RDSS + '/spol/ddutils/i386/libddm.a' DDM_LIB = RDSS + '/spol/ddutils/i386' setup (name = "Perp", version = "0.2", maintainer = "Joseph VanAndel", maintainer_email = "vanandel@ucar.edu", description = "Python Environment for Radar Processing(PERP)", # cmdclass = {'install': Install}, packages = ['','a1pp','rec','util'], install_path = 'Perp', include_dirs = ['./include',DDU_INC,SPOL_INC], # ext_package = 'Perp', ext_modules = [ ('a1pp.pulsepairc', {'sources': ['a1pp/pulsepair.cc', 'a1pp/pulsepair_wrap.cc'], 'libraries': ['gcc', 'stdc++','pthread'] }, ), ('a1pp.IIR_Filterc', {'sources': ['a1pp/IIR_Filter.cc', 'a1pp/IIR_Filter_wrap.cc'], 'libraries': ['gcc', 'stdc++','pthread'] }, ), ('rec.RadarFeaturec', {'sources': ['rec/RadarFeature.cc', 'rec/RadarFeature_wrap.cc'], 'libraries': ['gcc', 'stdc++','pthread'] }, ), ('util.du_SweepUtilc', {'sources': ['util/du_SweepUtil.cc', 'util/du_SweepUtil_wrap.cc'], 'library_dirs': [DDM_LIB], 'libraries': ['ddm','gcc', 'stdc++','pthread'], # 'extra_preargs': [DDM_LIB] }, ), ] )