setup( ....., libraries = [ ("mylib", {"sources": ["source/1.c", "source/2.c"], "include_dirs": ["source/include"], "macros": [("_WINDOWS", None)], }, ), ], ......) builds a static library which you can pass to your extensions module. Thomas