7 from distutils
import sysconfig
9 valid_opts = [
'prefix',
'exec-prefix',
'includes',
'libs',
'cflags',
13 sys.stderr.write (
"Usage: %s [%s]\n" % (sys.argv[0],
14 '|'.join(
'--'+opt
for opt
in valid_opts)))
18 opts, args = getopt.getopt(sys.argv[1:],
'', valid_opts)
25 pyver = sysconfig.get_config_var(
'VERSION')
26 getvar = sysconfig.get_config_var
27 abiflags = getattr (sys,
"abiflags",
"")
29 opt_flags = [flag
for (flag, val)
in opts]
31 if '--help' in opt_flags:
35 """On Windows, returns the given path with all backslashes
36 converted into forward slashes. This is to help prevent problems
37 when using the paths returned by this script with cygwin tools.
38 In particular, cygwin bash treats backslashes as a special character.
40 On Unix systems, returns the path unchanged.
43 path = path.replace(
'\\',
'/')
50 elif opt ==
'--exec-prefix':
53 elif opt
in (
'--includes',
'--cflags'):
54 flags = [
'-I' + sysconfig.get_python_inc(),
55 '-I' + sysconfig.get_python_inc(plat_specific=
True)]
57 flags.extend(
getvar(
'CFLAGS').split())
60 elif opt
in (
'--libs',
'--ldflags'):
62 if getvar(
'LIBS')
is not None:
63 libs.extend(
getvar(
'LIBS').split())
64 if getvar(
'SYSLIBS')
is not None:
65 libs.extend(
getvar(
'SYSLIBS').split())
66 libs.append(
'-lpython'+pyver + abiflags)
69 if opt ==
'--ldflags':
70 if not getvar(
'Py_ENABLE_SHARED'):
71 if getvar(
'LIBPL')
is not None:
72 libs.insert(0,
'-L' +
getvar(
'LIBPL'))
74 libs.insert(0,
'-L' + sysconfig.PREFIX +
'/libs')
75 if getvar(
'LINKFORSHARED')
is not None:
76 libs.extend(
getvar(
'LINKFORSHARED').split())