code: def build_extension(self, extension):
      if self.enable_double or "HAVE_AUBIO_DOUBLE" in os.environ:
          enable_double = True
      else:
          enable_double = False
      # seack for aubio headers and lib in PKG_CONFIG_PATH
      add_system_aubio(extension)
      # the lib was not installed on this system
      if "aubio" not in extension.libraries:
          # use local src/aubio.h
          if os.path.isfile(os.path.join("src", "aubio.h")):
              add_local_aubio_header(extension)
          add_local_macros(extension, usedouble=enable_double)
          # look for a local waf build
          if os.path.isfile(os.path.join("build", "src", "fvec.c.1.o")):
              add_local_aubio_lib(extension)
          else:
              # check for external dependencies
              add_external_deps(extension, usedouble=enable_double)
              # force adding libav on windows
              if os.name == "nt" and (
                  "WITH_LIBAV" in os.environ
                  or "CONDA_PREFIX" in os.environ
              ):
                  add_libav_on_win(extension)
              # add libaubio sources and look for optional deps with pkg-config
              add_local_aubio_sources(extension)
      # generate files python/gen/*.c, python/gen/aubio-generated.h
      extension.include_dirs += [output_path]
      extension.sources += generate_external(
          header, output_path, overwrite=False, usedouble=enable_double
      )
      return _build_ext.build_extension(self, extension)
  
imports: import sys, os, glob, subprocess
  import distutils, distutils.command.clean, distutils.dir_util
  from gen_external import generate_external, header, output_path
  from this_version import get_aubio_version
  from distutils.command.build_ext import build_ext
label_desc: Use image node_id 3 for calling the build_ext obj's underlying member method code with example usage: obj.build_extension(extension) and returns: _build_ext