pyodide/pyodide-build/pyodide_build/out_of_tree/build.py

31 lines
941 B
Python
Raw Normal View History

import os
from pathlib import Path
from typing import Any
from .. import common, pypabuild, pywasmcross
def run(exports: Any, args: list[str], outdir: Path | None = None) -> Path:
if outdir is None:
outdir = Path("./dist")
cflags = common.get_make_flag("SIDE_MODULE_CFLAGS")
cflags += f" {os.environ.get('CFLAGS', '')}"
cxxflags = common.get_make_flag("SIDE_MODULE_CXXFLAGS")
cxxflags += f" {os.environ.get('CXXFLAGS', '')}"
ldflags = common.get_make_flag("SIDE_MODULE_LDFLAGS")
ldflags += f" {os.environ.get('LDFLAGS', '')}"
build_env_ctx = pywasmcross.get_build_env(
env=os.environ.copy(),
pkgname="",
cflags=cflags,
cxxflags=cxxflags,
ldflags=ldflags,
target_install_dir="",
exports=exports,
)
with build_env_ctx as env:
built_wheel = pypabuild.build(env, " ".join(args), outdir=str(outdir))
return Path(built_wheel)