code: def build(
      llvm_dis_path: str,
      lib_path: str,
      lib_name: str,
      output_dir: str,
  ) -> None:
      """
      Interface function to build the library file.
      :param llvm_dis_path: path to the llvm-dis binary
      :param lib_path: path to the external library file
      :param lib_name: name of the library
      :param output_dir: path to the output directory
      """
      if lib_name == "libdevice":
          extern_lib = Libdevice(lib_path)
      else:
          raise Exception(f"Unknown extern library: {lib_name}")
  
      llvm_disassembler = LLVMDisassembler(llvm_dis_path)
      llvm_disassembler.disasm(lib_path)
  
      extern_lib.parse_symbols(llvm_disassembler.ll_file)
      extern_lib.generate_stub_file(output_dir)
  
imports: import argparse
  import subprocess
  from abc import ABC, abstractmethod
  from typing import Dict, List, Optional
label_desc: Use image node_id 3 for calling a global function with example usage: build(llvm_dis_path, lib_path, lib_name, output_dir) without return types