FrozenGene commented on a change in pull request #4657: [CodeGen] Generate blob use LLVM directly URL: https://github.com/apache/incubator-tvm/pull/4657#discussion_r365067929
########## File path: python/tvm/contrib/cc.py ########## @@ -51,9 +51,32 @@ def create_shared(output, else: raise ValueError("Unsupported platform") +def get_target_triple(): + """ Get the target triple using compiler. + + Returns + ------- + out: str (Linux / Mac) or None (Win32) + """ + if sys.platform == "darwin" or sys.platform.startswith("linux"): + cmd = ["g++", "-dumpmachine"] + proc = subprocess.Popen( + cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + (out, _) = proc.communicate() + if proc.returncode != 0: + msg = "dumpmachine error:\n" + msg += py_str(out) + raise RuntimeError(msg) + return py_str(out) + elif sys.platform == "win32": + return None + else: + raise ValueError("Unsupported platform") + # assign so as default output format create_shared.output_format = "so" if sys.platform != "win32" else "dll" +create_shared.get_target_triple = get_target_triple() Review comment: > https://github.com/apache/incubator-tvm/blob/master/python/tvm/contrib/cc.py#L107 Ok. combine your context I think you mean: ```python def get_target_by_dump_machine(compiler="g++"): # default value be g++. could be specified by users def get_target_triple(): if sys.platform == "darwin" or sys.platform.startswith("linux"): cmd = [compiler, "-dumpmachine"] # change to compiler proc = subprocess.Popen( cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) (out, _) = proc.communicate() if proc.returncode != 0: msg = "dumpmachine error:\n" msg += py_str(out) raise RuntimeError(msg) return py_str(out) elif sys.platform == "win32": return None else: raise ValueError("Unsupported platform") return get_target_triple # lazily create create_shared.get_target_by_dump_machine = get_target_by_dump_machine def cross_compiler(): ... fcompile.get_target_by_dump_machine = get_target_by_dump_machine ``` Also we need to add this support for NDK and `build_create_shared_func` so that all fcompile could have this fn support. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services