code: def initialize_options(self):
      _build_ext.initialize_options(self)
      self.cmake_generator = os.environ.get("PYARROW_CMAKE_GENERATOR")
      if not self.cmake_generator and sys.platform == "win32":
          self.cmake_generator = "Visual Studio 15 2017 Win64"
      self.extra_cmake_args = os.environ.get(
          "PYARROW_CMAKE_OPTIONS", ""
      )
      self.build_type = os.environ.get(
          "PYARROW_BUILD_TYPE", "release"
      ).lower()
  
      self.cmake_cxxflags = os.environ.get("PYARROW_CXXFLAGS", "")
  
      if sys.platform == "win32":
          # Cannot do debug builds in Windows unless Python itself is a debug
          # build
          if not hasattr(sys, "gettotalrefcount"):
              self.build_type = "release"
  
      self.with_gcs = strtobool(os.environ.get("PYARROW_WITH_GCS", "0"))
      self.with_s3 = strtobool(os.environ.get("PYARROW_WITH_S3", "0"))
      self.with_hdfs = strtobool(
          os.environ.get("PYARROW_WITH_HDFS", "0")
      )
      self.with_cuda = strtobool(
          os.environ.get("PYARROW_WITH_CUDA", "0")
      )
      self.with_substrait = strtobool(
          os.environ.get("PYARROW_WITH_SUBSTRAIT", "0")
      )
      self.with_flight = strtobool(
          os.environ.get("PYARROW_WITH_FLIGHT", "0")
      )
      self.with_acero = strtobool(
          os.environ.get("PYARROW_WITH_ACERO", "0")
      )
      self.with_dataset = strtobool(
          os.environ.get("PYARROW_WITH_DATASET", "0")
      )
      self.with_parquet = strtobool(
          os.environ.get("PYARROW_WITH_PARQUET", "0")
      )
      self.with_parquet_encryption = strtobool(
          os.environ.get("PYARROW_WITH_PARQUET_ENCRYPTION", "0")
      )
      self.with_orc = strtobool(os.environ.get("PYARROW_WITH_ORC", "0"))
      self.with_gandiva = strtobool(
          os.environ.get("PYARROW_WITH_GANDIVA", "0")
      )
      self.generate_coverage = strtobool(
          os.environ.get("PYARROW_GENERATE_COVERAGE", "0")
      )
      self.bundle_arrow_cpp = strtobool(
          os.environ.get("PYARROW_BUNDLE_ARROW_CPP", "0")
      )
      self.bundle_cython_cpp = strtobool(
          os.environ.get("PYARROW_BUNDLE_CYTHON_CPP", "0")
      )
  
      self.with_parquet_encryption = (
          self.with_parquet_encryption and self.with_parquet
      )
  
      # enforce module dependencies
      if self.with_substrait:
          self.with_dataset = True
      if self.with_dataset:
          self.with_acero = True
  
imports: import contextlib
  import os
  import os.path
  from os.path import join
  import re
  import shlex
  import sys
  import pkg_resources
  from setuptools import setup, Extension, Distribution, find_namespace_packages
  from Cython.Distutils import build_ext
  import Cython
label_desc: Use image node_id 3 for calling the build_ext obj's underlying member method code with example usage: obj.initialize_options() without return types