old_contents: 
  def pre_build_hook(build_ext, ext):
      from scipy._build_utils.compiler_helper import (
          set_cxx_flags_hook, try_add_flag)
      cc = build_ext._cxx_compiler
      args = ext.extra_compile_args
  
      set_cxx_flags_hook(build_ext, ext)
  
      if cc.compiler_type == 'msvc':
          args.append('/EHsc')
      else:
          try_add_flag(args, cc, '-fvisibility=hidden')
  
  
  def configuration(parent_package='', top_path=None):
      from numpy.distutils.misc_util import Configuration
  
      config = Configuration('_uarray', parent_package, top_path)
      config.add_data_files('LICENSE')
      ext = config.add_extension('_uarray',
                                 sources=['_uarray_dispatch.cxx'],
                                 language='c++')
      ext._pre_build_hook = pre_build_hook
      return config
  
  
  if __name__ == '__main__':
      from numpy.distutils.core import setup
      setup(**configuration(top_path='').todict())
  
new_contents: 
  def pre_build_hook(build_ext, ext):
      from scipy._build_utils.compiler_helper import (
          set_cxx_flags_hook, try_add_flag)
      cc = build_ext._cxx_compiler
      args = ext.extra_compile_args
  
      set_cxx_flags_hook(build_ext, ext)
  
      if cc.compiler_type == 'msvc':
          args.append('/EHsc')
      else:
          try_add_flag(args, cc, '-fvisibility=hidden')
  
  
  def configuration(parent_package='', top_path=None):
      from numpy.distutils.misc_util import Configuration
  
      config = Configuration('_uarray', parent_package, top_path)
      config.add_data_files('LICENSE')
      ext = config.add_extension('_uarray',
                                 sources=['_uarray_dispatch.cxx', 'vectorcall.cxx'],
                                 depends=['small_dynamic_array.h', 'vectorcall.h']
                                 language='c++')
      ext._pre_build_hook = pre_build_hook
      return config
  
  
  if __name__ == '__main__':
      from numpy.distutils.core import setup
      setup(**configuration(top_path='').todict())
  
subject: Add sources and depends to setup.py