<B>SWIG</b> files live in their own top-level directory <code>swig</code>.
The wrapper is generated by
<code>swig -tcl -namespace -prefix notmuch -pkgversion 0.1 -I/usr/include notmuch.i</code>
and the resulting file needs to be moved to the <code>generic</code> directory which is where everything else expects to find it.
Note that since <i>notmuch</i> is a library the header file is already on the development system, though <i>swig</i> needs to be told where it is.