Add automatic build of libcapnp if it's not detected
This commit is contained in:
24
buildutils/build.py
Normal file
24
buildutils/build.py
Normal 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')
|
||||
Reference in New Issue
Block a user