text: Title: Build Extension Failed with setuptools==77.0.3
  Body: ### 🐛 Describe the bug
  
  When build deepspeed wheels with setuptools==77.0.3, the CUDAExtension throw the error info:
  
  ```
            File "/opt/python/cp39-cp39/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py", line 245, in add_defaults
              self._add_defaults_ext()
            File "/opt/python/cp39-cp39/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py", line 329, in _add_defaults_ext
              build_ext = self.get_finalized_command('build_ext')
            File "/opt/python/cp39-cp39/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 333, in get_finalized_command
              cmd_obj = self.distribution.get_command_obj(command, create)
            File "/opt/python/cp39-cp39/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 885, in get_command_obj
     cmd_obj = self.command_obj[command] = klass(self)
            File "/opt/python/cp39-cp39/lib/python3.9/site-packages/torch/utils/cpp_extension.py", line 397, in __init__
              super().__init__(*args, **kwargs)
            File "/opt/python/cp39-cp39/lib/python3.9/site-packages/torch/utils/cpp_extension.py", line 402, in __init__
              super(BuildExtension, self).__init__(*args, **kwargs)
          TypeError: __init__() got an unexpected keyword argument 'use_ninja'
  ```
  
  ### How to Reproduce
  
  the code is from [pytorch](https://github.com/pytorch/pytorch/blob/6bbe8dbd63f25e10ef75252a89ac277feff59ba1/torch/utils/cpp_extension.py#L540)
  
  ```python
  from distutils.dist import Distribution
  from setuptools.command.build_ext import build_ext
  
  
  class BuildExtension(build_ext):
      @classmethod
      def with_options(cls, **options):
          """Return a subclass with alternative constructor that extends any original keyword arguments to the original constructor with the given options."""
  
          class cls_with_options(cls):  # type: ignore[misc, valid-type]
              def __init__(self, *args, **kwargs):
                  kwargs.update(options)
                  super().__init__(*args, **kwargs)
  
          return cls_with_options
  
  
      def __init__(self, *args, **kwargs) -> None:
          super().__init__(*args, **kwargs)
          self.no_python_abi_suffix = kwargs.get("no_python_abi_suffix", False)
          self.use_ninja = kwargs.get("use_ninja", True)
  
  
  d = Distribution()
  build_class = BuildExtension.with_options(use_ninja=True)
  build_class(d)
  ```
  
  ### Versions
  
  + The successful with "setuptools<=77.0.1" github actions is [here](https://github.com/AlongWY/deepspeed_wheels/actions/runs/14004770472)
  + The failed github actions is [here](https://github.com/AlongWY/deepspeed_wheels/actions/runs/13989692342)
  
  
  ### Related issue
  https://github.com/pypa/setuptools/issues/4908#issue-2940177305
  
  cc @malfet @zou3519 @xmfan