code: def config_setup_kwargs(setup_kwargs, build_chainerx):
      # TODO(imanishi): Call this function with setuptools.
      emit_build_info(build_chainerx)
  
      if not build_chainerx:
          # `chainerx` package needs to be able to be imported even if ChainerX
          # is unavailable.
          setup_kwargs["packages"] += ["chainerx"]
          return
  
      if sys.version_info < (3, 5):
          raise RuntimeError(
              "ChainerX is only available for Python 3.5 or later."
          )
      setup_kwargs["packages"] += [
          "chainerx",
          "chainerx._docs",
          "chainerx.creation",
          "chainerx.manipulation",
          "chainerx.math",
          "chainerx.random",
          "chainerx.testing",
      ]
      setup_kwargs["package_data"] = {
          "chainerx": ["py.typed", "*.pyi"],
      }
  
      setup_kwargs.update(
          dict(
              cmdclass={"build_ext": CMakeBuild},
              ext_modules=[
                  CMakeExtension(
                      name="chainerx._core",
                      build_targets=["_core.so"],
                      sourcedir="chainerx_cc",
                  )
              ],
          )
      )
  
file_path: chainer/chainerx_build_helper.py
imports: import distutils
  import os
  import platform
  import re
  import subprocess
  import sys
  import setuptools
  from setuptools.command import build_ext
label_desc: Use image node_id 2 for calling a global function with example usage: config_setup_kwargs(setup_kwargs, build_chainerx) without return types