This is an automated email from the ASF dual-hosted git repository.
tqchen pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tvm-ffi.git
The following commit(s) were added to refs/heads/main by this push:
new d4cfd86 [Minor] log ninja result (#584)
d4cfd86 is described below
commit d4cfd86ecfb4cc8e769412627ad768e43093b21b
Author: DarkSharpness <[email protected]>
AuthorDate: Wed May 13 22:46:11 2026 +0800
[Minor] log ninja result (#584)
should fix #565
---
python/tvm_ffi/cpp/extension.py | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/python/tvm_ffi/cpp/extension.py b/python/tvm_ffi/cpp/extension.py
index a7b3514..32b3b17 100644
--- a/python/tvm_ffi/cpp/extension.py
+++ b/python/tvm_ffi/cpp/extension.py
@@ -20,6 +20,7 @@ from __future__ import annotations
import functools
import hashlib
+import logging
import os
import shutil
import subprocess
@@ -36,6 +37,8 @@ from tvm_ffi.utils import FileLock
IS_WINDOWS = sys.platform == "win32"
BACKEND_STR = Literal["cuda", "hip"]
+logger = logging.getLogger(__name__)
+
@functools.lru_cache
def _detect_gpu_backend() -> BACKEND_STR:
@@ -590,9 +593,9 @@ def build_ninja(build_dir: str) -> None:
status = _run_command_in_dev_prompt(args=command, cwd=build_dir,
capture_output=True)
else:
status = subprocess.run(check=False, args=command, cwd=build_dir,
capture_output=True)
+ encoding = "oem" if IS_WINDOWS else "utf-8"
if status.returncode != 0:
msg = [f"ninja exited with status {status.returncode}"]
- encoding = "oem" if IS_WINDOWS else "utf-8"
if status.stdout:
msg.append(f"stdout:\n{status.stdout.decode(encoding)}")
if status.stderr:
@@ -600,6 +603,12 @@ def build_ninja(build_dir: str) -> None:
raise RuntimeError("\n".join(msg))
+ LOG_BUILD = os.environ.get("TVM_FFI_CPP_EXTENSION_LOG_BUILD", "0")
+ if LOG_BUILD in ("1", "stdout"):
+ logger.info("ninja build stdout:\n%s", status.stdout.decode(encoding))
+ if LOG_BUILD in ("1", "stderr"):
+ logger.info("ninja build stderr:\n%s", status.stderr.decode(encoding))
+
# Translation table for escaping C++ string literals
_CPP_ESCAPE_TABLE = str.maketrans(