Blame python-config.py

Packit 3ff832
#!/usr/bin/python2.5
Packit 3ff832
Packit 3ff832
import sys
Packit 3ff832
import os
Packit 3ff832
import getopt
Packit 3ff832
from distutils import sysconfig
Packit 3ff832
Packit 3ff832
valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', 
Packit 3ff832
              'ldflags', 'help']
Packit 3ff832
Packit 3ff832
def exit_with_usage(code=1):
Packit 3ff832
    print >>sys.stderr, "Usage: %s [%s]" % (sys.argv[0], 
Packit 3ff832
                                            '|'.join('--'+opt for opt in valid_opts))
Packit 3ff832
    sys.exit(code)
Packit 3ff832
Packit 3ff832
try:
Packit 3ff832
    opts, args = getopt.getopt(sys.argv[1:], '', valid_opts)
Packit 3ff832
except getopt.error:
Packit 3ff832
    exit_with_usage()
Packit 3ff832
Packit 3ff832
if not opts:
Packit 3ff832
    exit_with_usage()
Packit 3ff832
Packit 3ff832
opt = opts[0][0]
Packit 3ff832
Packit 3ff832
pyver = sysconfig.get_config_var('VERSION')
Packit 3ff832
getvar = sysconfig.get_config_var
Packit 3ff832
Packit 3ff832
if opt == '--help':
Packit 3ff832
    exit_with_usage(0)
Packit 3ff832
Packit 3ff832
elif opt == '--prefix':
Packit 3ff832
    print sysconfig.PREFIX
Packit 3ff832
Packit 3ff832
elif opt == '--exec-prefix':
Packit 3ff832
    print sysconfig.EXEC_PREFIX
Packit 3ff832
Packit 3ff832
elif opt in ('--includes', '--cflags'):
Packit 3ff832
    flags = ['-I' + sysconfig.get_python_inc(),
Packit 3ff832
             '-I' + sysconfig.get_python_inc(plat_specific=True)]
Packit 3ff832
    if opt == '--cflags':
Packit 3ff832
        flags.extend(getvar('CFLAGS').split())
Packit 3ff832
    print ' '.join(flags)
Packit 3ff832
Packit 3ff832
elif opt in ('--libs', '--ldflags'):
Packit 3ff832
    libs = getvar('LIBS').split() + getvar('SYSLIBS').split()
Packit 3ff832
    libs.append('-lpython'+pyver)
Packit 3ff832
    # add the prefix/lib/pythonX.Y/config dir, but only if there is no
Packit 3ff832
    # shared library in prefix/lib/.
Packit 3ff832
    if opt == '--ldflags' and not getvar('Py_ENABLE_SHARED'):
Packit 3ff832
        libs.insert(0, '-L' + getvar('LIBPL'))
Packit 3ff832
    print ' '.join(libs)
Packit 3ff832