Files
dependencies/capnproto/capnproto/__init__.py
2026-02-22 19:06:33 -08:00

32 lines
790 B
Python

import os
import sys
DIR = os.path.join(os.path.dirname(__file__), "install")
BIN_DIR = os.path.join(DIR, "bin")
LIB_DIR = os.path.join(DIR, "lib")
INCLUDE_DIR = os.path.join(DIR, "include")
def _run(name):
binary = os.path.join(BIN_DIR, name)
env = os.environ.copy()
# ensure sibling binaries (e.g. capnpc-c++) are findable
env["PATH"] = BIN_DIR + ":" + env.get("PATH", "")
os.execvpe(binary, [binary] + sys.argv[1:], env)
def _run_capnp():
_run("capnp")
def _run_capnpc():
# capnpc is a symlink to capnp; capnp checks argv[0] to enter compile mode
binary = os.path.join(BIN_DIR, "capnp")
env = os.environ.copy()
env["PATH"] = BIN_DIR + ":" + env.get("PATH", "")
os.execvpe(binary, ["capnpc"] + sys.argv[1:], env)
def _run_capnpc_cpp():
_run("capnpc-c++")