code: def config_cython():
      """Try to configure cython and return cython configuration"""
      if sys.platform.startswith("win"):
          print(
              "WARNING: Cython is not supported on Windows, will compile without cython module"
          )
          return []
      sys_cflags = sysconfig.get_config_var("CFLAGS")
  
      if "i386" in sys_cflags and "x86_64" in sys_cflags:
          print(
              "WARNING: Cython library may not be compiled correctly with both i386 and x64"
          )
          return []
      try:
          from Cython.Build import cythonize
  
          # from setuptools.extension import Extension
          if sys.version_info >= (3, 0):
              subdir = "_cy3"
          else:
              subdir = "_cy2"
          ret = []
          path = "dgl/_ffi/_cython"
          library_dirs = ["dgl", "../build/Release", "../build"]
          libraries = ["dgl"]
          for fn in os.listdir(path):
              if not fn.endswith(".pyx"):
                  continue
              ret.append(
                  Extension(
                      "dgl._ffi.%s.%s" % (subdir, fn[:-4]),
                      ["dgl/_ffi/_cython/%s" % fn],
                      include_dirs=[
                          "../include/",
                          "../third_party/dmlc-core/include",
                          "../third_party/dlpack/include",
                      ],
                      library_dirs=library_dirs,
                      libraries=libraries,
                      # Crashes without this flag with GCC 5.3.1
                      extra_compile_args=["-std=c++17"],
                      language="c++",
                  )
              )
          return cythonize(
              ret,
              force=True,
              compiler_directives={"language_level": "3"},
          )
      except ImportError:
          print(
              "WARNING: Cython is not installed, will compile without cython module"
          )
          return []
  
file_path: dgl/python/setup.py
imports: import glob
  import os
  import shutil
  import sys
  import sysconfig
  from setuptools import find_packages, setup
  from setuptools.dist import Distribution
  from setuptools.extension import Extension
label_desc: Use image node_id 5 for calling a global function with example usage: config_cython() and returns: list, list, cythonize, list