code: def get_shared_lib_extension(is_python_ext=False):
      """Return the correct file extension for shared libraries.
  
      Parameters
      ----------
      is_python_ext : bool, optional
          Whether the shared library is a Python extension.  Default is False.
  
      Returns
      -------
      so_ext : str
          The shared library extension.
  
      Notes
      -----
      For Python shared libs, `so_ext` will typically be '.so' on Linux and OS X,
      and '.pyd' on Windows.  For Python >= 3.2 `so_ext` has a tag prepended on
      POSIX systems according to PEP 3149.
  
      """
      confvars = sysconfig.get_config_vars()
      so_ext = confvars.get("EXT_SUFFIX", "")
  
      if not is_python_ext:
          # hardcode some known values to avoid some old distutils bugs
          if sys.platform.startswith(
              "linux"
          ) or sys.platform.startswith("gnukfreebsd"):
              so_ext = ".so"
          elif sys.platform.startswith("darwin"):
              so_ext = ".dylib"
          elif sys.platform.startswith("win"):
              so_ext = ".dll"
          else:
              # don't use long extension (e.g., .cpython-310-x64_64-linux-gnu.so',
              # see PEP 3149), but subtract that Python-specific part here
              so_ext = so_ext.replace(
                  "." + confvars.get("SOABI"), "", 1
              )
  
      return so_ext
  
file_path: pythran/omp/__init__.py
imports: from ctypes.util import find_library
  from subprocess import check_output, CalledProcessError, DEVNULL
  import ctypes
  import os
  import sys
  import sysconfig
label_desc: Use image node_id 1 for calling a global function with example usage: get_shared_lib_extension(is_python_ext) and returns: so_ext