code: def get_flags_linker_so(self):
      opt = self.linker_so[1:]
      if sys.platform == "darwin":
          target = os.environ.get("MACOSX_DEPLOYMENT_TARGET", None)
          # If MACOSX_DEPLOYMENT_TARGET is set, we simply trust the value
          # and leave it alone.  But, distutils will complain if the
          # environment's value is different from the one in the Python
          # Makefile used to build Python.  We let distutils handle this
          # error checking.
          if not target:
              # If MACOSX_DEPLOYMENT_TARGET is not set in the environment,
              # we try to get it first from sysconfig and then
              # fall back to setting it to 10.9 This is a reasonable default
              # even when using the official Python dist and those derived
              # from it.
              import sysconfig
  
              target = sysconfig.get_config_var(
                  "MACOSX_DEPLOYMENT_TARGET"
              )
              if not target:
                  target = "10.9"
                  s = f"Env. variable MACOSX_DEPLOYMENT_TARGET set to {target}"
                  warnings.warn(s, stacklevel=2)
              os.environ["MACOSX_DEPLOYMENT_TARGET"] = str(target)
          opt.extend(["-undefined", "dynamic_lookup", "-bundle"])
      else:
          opt.append("-shared")
      if sys.platform.startswith("sunos"):
          # SunOS often has dynamically loaded symbols defined in the
          # static library libg2c.a  The linker doesn't like this.  To
          # ignore the problem, use the -mimpure-text flag.  It isn't
          # the safest thing, but seems to work. 'man gcc' says:
          # ".. Instead of using -mimpure-text, you should compile all
          #  source code with -fpic or -fPIC."
          opt.append("-mimpure-text")
      return opt
  
imports: import re
  import os
  import sys
  import warnings
  import platform
  import tempfile
  import hashlib
  import base64
  import subprocess
  from subprocess import Popen, PIPE, STDOUT
  from numpy.distutils.exec_command import filepath_from_subprocess_output
  from numpy.distutils.fcompiler import FCompiler
  from distutils.version import LooseVersion
label_desc: Use image node_id 3 for calling the GnuFCompiler obj's underlying member method code with example usage: obj.get_flags_linker_so() and returns: opt