code: def finalize_options(self):
      if self.parallel:
          try:
              self.parallel = int(self.parallel)
          except ValueError as e:
              raise ValueError(
                  "--parallel/-j argument must be an integer"
              ) from e
  
      # Ensure that self.include_dirs and self.distribution.include_dirs
      # refer to the same list object. finalize_options will modify
      # self.include_dirs, but self.distribution.include_dirs is used
      # during the actual build.
      # self.include_dirs is None unless paths are specified with
      # --include-dirs.
      # The include paths will be passed to the compiler in the order:
      # numpy paths, --include-dirs paths, Python include path.
      if isinstance(self.include_dirs, str):
          self.include_dirs = self.include_dirs.split(os.pathsep)
      incl_dirs = self.include_dirs or []
      if self.distribution.include_dirs is None:
          self.distribution.include_dirs = []
      self.include_dirs = self.distribution.include_dirs
      self.include_dirs.extend(incl_dirs)
  
      old_build_ext.finalize_options(self)
      self.set_undefined_options(
          "build",
          ("parallel", "parallel"),
          ("warn_error", "warn_error"),
          ("cpu_baseline", "cpu_baseline"),
          ("cpu_dispatch", "cpu_dispatch"),
          ("disable_optimization", "disable_optimization"),
          ("simd_test", "simd_test"),
      )
      CCompilerOpt.conf_target_groups["simd_test"] = self.simd_test
  
imports: import os
  import subprocess
  from glob import glob
  from distutils.dep_util import newer_group
  from distutils.command.build_ext import build_ext
  from distutils.errors import DistutilsFileError, DistutilsSetupError, DistutilsError
  from distutils.file_util import copy_file
  from numpy.distutils import log
  from numpy.distutils.exec_command import filepath_from_subprocess_output
  from numpy.distutils.system_info import combine_paths
  from numpy.distutils.misc_util import filter_sources, get_ext_source_files, get_numpy_include_dirs, has_cxx_sources, has_f_sources, is_sequence
  from numpy.distutils.command.config_compiler import show_fortran_compilers
  from numpy.distutils.ccompiler_opt import new_ccompiler_opt, CCompilerOpt
label_desc: Use image node_id 2 for calling the build_ext obj's underlying member method code with example usage: obj.finalize_options() without return types