Add automatic build of libcapnp if it's not detected

This commit is contained in:
Jason Paryani
2014-12-11 22:04:34 -08:00
parent 02c572fe1e
commit 4c0d4ec290
11 changed files with 818 additions and 1 deletions

24
buildutils/build.py Normal file
View File

@@ -0,0 +1,24 @@
'Build the bundled capnp distribution'
import subprocess
import os
import tempfile
def build_libcapnp(bundle_dir, build_dir, verbose=False):
bundle_dir = os.path.abspath(bundle_dir)
capnp_dir = os.path.join(bundle_dir, 'capnproto-c++')
build_dir = os.path.abspath(build_dir)
with tempfile.TemporaryFile() as f:
stdout = f
if verbose:
stdout = None
conf = subprocess.Popen(['./configure', '--disable-shared', '--prefix', build_dir], cwd=capnp_dir, stdout=stdout)
returncode = conf.wait()
if returncode != 0:
raise RuntimeError('Configure failed')
make = subprocess.Popen(['make', '-j4', 'install'], cwd=capnp_dir, stdout=stdout)
returncode = make.wait()
if returncode != 0:
raise RuntimeError('Make failed')