code: def process_args_from_command_line(self):
          
          # Yes, this is ugly, but we don't want to interfere with setup.py's own
          # option handling
          opts_to_remove = []
          for idx, option in enumerate(sys.argv):
              if not option.startswith("--"):
                  continue
              if option == "--static":
                  opts_to_remove.append(idx)
                  self.static_extension = True
              elif option == "--no-download":
                  opts_to_remove.append(idx)
                  self.download_igraph_if_needed = False
              elif option == "--no-pkg-config":
                  opts_to_remove.append(idx)
                  self.use_pkgconfig = False
              elif option == "--no-progress-bar":
                  opts_to_remove.append(idx)
                  self.show_progress_bar = False
              elif option == "--no-wait":
                  opts_to_remove.append(idx)
                  self.wait = False                
              elif option.startswith("--c-core-version"):
                  opts_to_remove.append(idx)
                  if option == "--c-core-version":
                      value = sys.argv[idx+1]
                      opts_to_remove.append(idx+1)
                  else:
                      value = option.split("=", 1)[1]
                  self.c_core_versions = [value]
              elif option.startswith("--c-core-url"):
                  opts_to_remove.append(idx)
                  if option == "--c-core-url":
                      value = sys.argv[idx+1]
                      opts_to_remove.append(idx+1)
                  else:
                      value = option.split("=", 1)[1]
                  self.c_core_url = value
  
          for idx in reversed(opts_to_remove):
              sys.argv[idx:(idx+1)] = []
docs: Preprocesses the command line options before they are passed to
          setup.py and sets up the build configuration.