]> Git Repo - binutils.git/blobdiff - gdb/python/python-config.py
gdb: remove SYMTAB_COMPUNIT macro, add getter/setter
[binutils.git] / gdb / python / python-config.py
index 0230eb4925c5540a8fb8032406a0e7304e992b4a..027d80dcc86c85050ed2e00c6e1e28e31feba1ae 100644 (file)
@@ -6,52 +6,77 @@ import os
 import getopt
 from distutils import sysconfig
 
-valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
-              'ldflags', 'help']
+valid_opts = ["prefix", "exec-prefix", "includes", "libs", "cflags", "ldflags", "help"]
+
 
 def exit_with_usage(code=1):
-    print >>sys.stderr, "Usage: %s [%s]" % (sys.argv[0],
-                                            '|'.join('--'+opt for opt in valid_opts))
+    sys.stderr.write(
+        "Usage: %s [%s]\n" % (sys.argv[0], "|".join("--" + opt for opt in valid_opts))
+    )
     sys.exit(code)
 
+
 try:
-    opts, args = getopt.getopt(sys.argv[1:], '', valid_opts)
+    opts, args = getopt.getopt(sys.argv[1:], "", valid_opts)
 except getopt.error:
     exit_with_usage()
 
 if not opts:
     exit_with_usage()
 
-pyver = sysconfig.get_config_var('VERSION')
+pyver = sysconfig.get_config_var("VERSION")
 getvar = sysconfig.get_config_var
+abiflags = getattr(sys, "abiflags", "")
 
 opt_flags = [flag for (flag, val) in opts]
 
-if '--help' in opt_flags:
+if "--help" in opt_flags:
     exit_with_usage(code=0)
 
+
+def to_unix_path(path):
+    """On Windows, returns the given path with all backslashes
+    converted into forward slashes.  This is to help prevent problems
+    when using the paths returned by this script with cygwin tools.
+    In particular, cygwin bash treats backslashes as a special character.
+
+    On Unix systems, returns the path unchanged.
+    """
+    if os.name == "nt":
+        path = path.replace("\\", "/")
+    return path
+
+
 for opt in opt_flags:
-    if opt == '--prefix':
-        print sysconfig.PREFIX
-
-    elif opt == '--exec-prefix':
-        print sysconfig.EXEC_PREFIX
-
-    elif opt in ('--includes', '--cflags'):
-        flags = ['-I' + sysconfig.get_python_inc(),
-                 '-I' + sysconfig.get_python_inc(plat_specific=True)]
-        if opt == '--cflags':
-            flags.extend(getvar('CFLAGS').split())
-        print ' '.join(flags)
-
-    elif opt in ('--libs', '--ldflags'):
-        libs = getvar('LIBS').split() + getvar('SYSLIBS').split()
-        libs.append('-lpython'+pyver)
+    if opt == "--prefix":
+        print(to_unix_path(sysconfig.PREFIX))
+
+    elif opt == "--exec-prefix":
+        print(to_unix_path(sysconfig.EXEC_PREFIX))
+
+    elif opt in ("--includes", "--cflags"):
+        flags = [
+            "-I" + sysconfig.get_python_inc(),
+            "-I" + sysconfig.get_python_inc(plat_specific=True),
+        ]
+        if opt == "--cflags":
+            flags.extend(getvar("CFLAGS").split())
+        print(to_unix_path(" ".join(flags)))
+
+    elif opt in ("--libs", "--ldflags"):
+        libs = ["-lpython" + pyver + abiflags]
+        if getvar("LIBS") is not None:
+            libs.extend(getvar("LIBS").split())
+        if getvar("SYSLIBS") is not None:
+            libs.extend(getvar("SYSLIBS").split())
         # add the prefix/lib/pythonX.Y/config dir, but only if there is no
         # shared library in prefix/lib/.
-        if opt == '--ldflags':
-            if not getvar('Py_ENABLE_SHARED'):
-                libs.insert(0, '-L' + getvar('LIBPL'))
-            libs.extend(getvar('LINKFORSHARED').split())
-        print ' '.join(libs)
-
+        if opt == "--ldflags":
+            if not getvar("Py_ENABLE_SHARED"):
+                if getvar("LIBPL") is not None:
+                    libs.insert(0, "-L" + getvar("LIBPL"))
+                elif os.name == "nt":
+                    libs.insert(0, "-L" + sysconfig.PREFIX + "/libs")
+            if getvar("LINKFORSHARED") is not None:
+                libs.extend(getvar("LINKFORSHARED").split())
+        print(to_unix_path(" ".join(libs)))
This page took 0.029679 seconds and 4 git commands to generate.