Files
pycapnp/capnp/templates/setup.py
Jason Paryani 2db935a00b Speed up code generated modules even more.
Switch to using generated c++ capnp code
2014-09-04 18:04:52 -07:00

27 lines
803 B
Python

#!/usr/bin/env python
from distutils.core import setup
from Cython.Build import cythonize
import os
import re
files = [{% for file in code.requestedFiles %}"{{file.filename}}",{% endfor %}]
for f in files:
cpp_file = f + '.cpp'
if not os.path.exists(cpp_file):
if not os.path.exists(f + '.c++'):
raise RuntimeError("You need to run `capnp compile -oc++` in addition to `-ocython` first.")
os.rename(f + '.c++', cpp_file)
with open(f + '.h', "r") as file:
lines = file.readlines()
with open(f + '.h', "w") as file:
for line in lines:
file.write(re.sub(r'Builder\(\)\s*=\s*delete;', 'Builder() = default;', line))
setup(
name="{{code.requestedFiles[0] | replace('.', '_')}}",
ext_modules=cythonize('*_capnp_cython.pyx', language="c++")
)