Skip to content

Commit d4cfd86

Browse files
[Minor] log ninja result (#584)
should fix #565
1 parent 4dbc260 commit d4cfd86

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

python/tvm_ffi/cpp/extension.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import functools
2222
import hashlib
23+
import logging
2324
import os
2425
import shutil
2526
import subprocess
@@ -36,6 +37,8 @@
3637
IS_WINDOWS = sys.platform == "win32"
3738
BACKEND_STR = Literal["cuda", "hip"]
3839

40+
logger = logging.getLogger(__name__)
41+
3942

4043
@functools.lru_cache
4144
def _detect_gpu_backend() -> BACKEND_STR:
@@ -590,16 +593,22 @@ def build_ninja(build_dir: str) -> None:
590593
status = _run_command_in_dev_prompt(args=command, cwd=build_dir, capture_output=True)
591594
else:
592595
status = subprocess.run(check=False, args=command, cwd=build_dir, capture_output=True)
596+
encoding = "oem" if IS_WINDOWS else "utf-8"
593597
if status.returncode != 0:
594598
msg = [f"ninja exited with status {status.returncode}"]
595-
encoding = "oem" if IS_WINDOWS else "utf-8"
596599
if status.stdout:
597600
msg.append(f"stdout:\n{status.stdout.decode(encoding)}")
598601
if status.stderr:
599602
msg.append(f"stderr:\n{status.stderr.decode(encoding)}")
600603

601604
raise RuntimeError("\n".join(msg))
602605

606+
LOG_BUILD = os.environ.get("TVM_FFI_CPP_EXTENSION_LOG_BUILD", "0")
607+
if LOG_BUILD in ("1", "stdout"):
608+
logger.info("ninja build stdout:\n%s", status.stdout.decode(encoding))
609+
if LOG_BUILD in ("1", "stderr"):
610+
logger.info("ninja build stderr:\n%s", status.stderr.decode(encoding))
611+
603612

604613
# Translation table for escaping C++ string literals
605614
_CPP_ESCAPE_TABLE = str.maketrans(

0 commit comments

Comments
 (0)