title: Using distutils where swig interface file is in src folder
body: <p>I've got a setup.py that looks something like this:</p>
  
  <pre><code>from setuptools import setup, Extension
  import glob
  
  sources = glob.glob('src/*.cpp') + glob.glob('src/*.i')
  # this is ugly, but otherwise I get the wrapper included twice
  sources = [source for source in sources if '_wrap' not in source]
  setup(
      name = 'engine',
      ext_modules = [
          Extension(
              '_engine',
              sources = sources,
              swig_opts = ['-c++'],
              include_dirs = ['src']
          )
      ],
      py_modules = ['engine']
      package_dir = {'' : 'src'}
  )
  </code></pre>
  
  <p>Now this works as long as I run <code>install</code> twice. The first time, swig creates the engine.py in the src directory. But it doesn't get copied to the target. The second time I run the setup.py file, the engine.py gets found and is installed. Is there a way to make it all work the first time?</p>