PageRenderTime 19ms CodeModel.GetById 1ms app.highlight 13ms RepoModel.GetById 1ms app.codeStats 0ms

/python-config.py

http://scim-python.googlecode.com/
Python | 53 lines | 48 code | 4 blank | 1 comment | 2 complexity | 19734968b701cdcfd916ae28ccb5989a MD5 | raw file
 1#!/usr/bin/python2.5
 2
 3import sys
 4import os
 5import getopt
 6from distutils import sysconfig
 7
 8valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', 
 9              'ldflags', 'help']
10
11def exit_with_usage(code=1):
12    print >>sys.stderr, "Usage: %s [%s]" % (sys.argv[0], 
13                                            '|'.join('--'+opt for opt in valid_opts))
14    sys.exit(code)
15
16try:
17    opts, args = getopt.getopt(sys.argv[1:], '', valid_opts)
18except getopt.error:
19    exit_with_usage()
20
21if not opts:
22    exit_with_usage()
23
24opt = opts[0][0]
25
26pyver = sysconfig.get_config_var('VERSION')
27getvar = sysconfig.get_config_var
28
29if opt == '--help':
30    exit_with_usage(0)
31
32elif opt == '--prefix':
33    print sysconfig.PREFIX
34
35elif opt == '--exec-prefix':
36    print sysconfig.EXEC_PREFIX
37
38elif opt in ('--includes', '--cflags'):
39    flags = ['-I' + sysconfig.get_python_inc(),
40             '-I' + sysconfig.get_python_inc(plat_specific=True)]
41    if opt == '--cflags':
42        flags.extend(getvar('CFLAGS').split())
43    print ' '.join(flags)
44
45elif opt in ('--libs', '--ldflags'):
46    libs = getvar('LIBS').split() + getvar('SYSLIBS').split()
47    libs.append('-lpython'+pyver)
48    # add the prefix/lib/pythonX.Y/config dir, but only if there is no
49    # shared library in prefix/lib/.
50    if opt == '--ldflags' and not getvar('Py_ENABLE_SHARED'):
51        libs.insert(0, '-L' + getvar('LIBPL'))
52    print ' '.join(libs)
53