class_docstr: Class responsible for downloading and building the C core of igraph
  if it is not installed yet, assuming that the C core uses CMake as the
  build tool. This is the case from igraph 0.9.
class_docstr_tok: ["Class","responsible","for","downloading","and","building","the","C","core","of","igraph","if","it","is","not","installed","yet",",","assuming","that","the","C","core","uses","CMake","as","the","build","tool",".","This","is","the","case","from","igraph","0.9","."]
code: def _parse_pkgconfig_file(self, filename: Path) -> List[str]:
      building_on_windows = building_on_windows_msvc()
  
      if building_on_windows:
          libraries = ["igraph"]
      else:
          libraries = []
          with filename.open("r") as fp:
              for line in fp:
                  if line.startswith("Libs: ") or line.startswith(
                      "Libs.private: "
                  ):
                      words = line.strip().split()
                      libraries.extend(
                          word[2:]
                          for word in words
                          if word.startswith("-l")
                      )
                  # Remap known library names in Requires and Requires.private with
                  # prior knowledge -- we don't want to rebuild pkg-config in Python
                  if line.startswith("Requires: ") or line.startswith(
                      "Requires.private: "
                  ):
                      for word in line.strip().split():
                          if word.startswith("libxml-"):
                              libraries.append("xml2")
          if not libraries:
              # Educated guess
              libraries = ["igraph"]
  
      return libraries
  
imports: import os
  import platform
  import sys
  from setuptools import find_packages, setup, Command, Extension
  import glob
  import shlex
  import shutil
  import subprocess
  import sysconfig
  from contextlib import contextmanager
  from pathlib import Path
  from select import select
  from shutil import which
  from time import sleep
  from typing import List, Iterable, Iterator, Optional, Tuple, TypeVar, Union
label_desc: Use image node_id 4 for calling the IgraphCCoreCMakeBuilder obj's underlying member method code with example usage: obj._parse_pkgconfig_file(filename) and returns: libraries