diff -ru -Xf distutils/distutils/command/build_ext.py distutils.swig/distutils/command/build_ext.py --- distutils/distutils/command/build_ext.py 2002-11-19 14:12:28.000000000 +0100 +++ distutils.swig/distutils/command/build_ext.py 2003-10-22 18:09:32.155316394 +0200 @@ -429,7 +429,7 @@ # First, scan the sources for SWIG definition files (.i), run # SWIG on 'em to create .c files, and modify the sources list # accordingly. - sources = self.swig_sources(sources) + sources = self.swig_sources(sources, ext) # Next, compile the source code to object files. @@ -492,7 +492,7 @@ target_lang=language) - def swig_sources (self, sources): + def swig_sources (self, sources, extension): """Walk the list of source files in 'sources', looking for SWIG interface (.i) files. Run SWIG on all that are found, and @@ -531,6 +531,9 @@ if self.swig_cpp: swig_cmd.append("-c++") + for include in extension.swig_include_dirs: + swig_cmd.append("-I"+include) + for source in swig_sources: target = swig_targets[source] log.info("swigging %s to %s", source, target) diff -ru -Xf distutils/distutils/core.py distutils.swig/distutils/core.py --- distutils/distutils/core.py 2003-02-19 15:16:00.000000000 +0100 +++ distutils.swig/distutils/core.py 2003-10-22 17:24:21.123451084 +0200 @@ -54,7 +54,7 @@ 'define_macros', 'undef_macros', 'library_dirs', 'libraries', 'runtime_library_dirs', 'extra_objects', 'extra_compile_args', 'extra_link_args', - 'export_symbols', 'depends', 'language') + 'export_symbols', 'depends', 'language', 'swig_include_dirs') def setup (**attrs): """The gateway to the Distutils: do everything your setup script needs diff -ru -Xf distutils/distutils/extension.py distutils.swig/distutils/extension.py --- distutils/distutils/extension.py 2003-01-27 17:30:36.000000000 +0100 +++ distutils.swig/distutils/extension.py 2003-10-22 17:37:36.997342015 +0200 @@ -97,6 +97,7 @@ export_symbols=None, depends=None, language=None, + swig_include_dirs=None, **kw # To catch unknown keywords ): assert type(name) is StringType, "'name' must be a string" @@ -118,6 +119,7 @@ self.export_symbols = export_symbols or [] self.depends = depends or [] self.language = language + self.swig_include_dirs = swig_include_dirs or [] # If there are unknown keyword options, warn about them if len(kw):