Resync python-config.py with Python-2.7 version.

This is just a copy of the Python 2.7 version of python-config.py.
Tested with versions 2.5 and 2.6.  It's nearly identical to the
previous version, except it's written in a more pythonic way,
so it should be fine for 2.4 as well.

gdb/ChangeLog:

        * python/python-config.py: Resync with Python 2.7 version of this
        script.
This commit is contained in:
Joel Brobecker
2010-07-08 22:12:44 +00:00
parent 76b8507d09
commit 7e6e39e562
2 changed files with 33 additions and 25 deletions

View File

@@ -1,3 +1,8 @@
2010-07-08 Joel Brobecker <brobecker@adacore.com>
* python/python-config.py: Resync with Python 2.7 version of this
script.
2010-07-08 Joel Brobecker <brobecker@adacore.com> 2010-07-08 Joel Brobecker <brobecker@adacore.com>
* NEWS: Fix typo in section name (s/GDB 7.1/GDB 7.2). * NEWS: Fix typo in section name (s/GDB 7.1/GDB 7.2).

View File

@@ -1,16 +1,16 @@
# Program to fetch python compilation parameters. # Program to fetch python compilation parameters.
# Copied from python-config of the 2.6.5 release. # Copied from python-config of the 2.7 release.
import sys import sys
import os import os
import getopt import getopt
from distutils import sysconfig from distutils import sysconfig
valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
'ldflags', 'help'] 'ldflags', 'help']
def exit_with_usage(code=1): def exit_with_usage(code=1):
print >>sys.stderr, "Usage: %s [%s]" % (sys.argv[0], print >>sys.stderr, "Usage: %s [%s]" % (sys.argv[0],
'|'.join('--'+opt for opt in valid_opts)) '|'.join('--'+opt for opt in valid_opts))
sys.exit(code) sys.exit(code)
@@ -22,33 +22,36 @@ except getopt.error:
if not opts: if not opts:
exit_with_usage() exit_with_usage()
opt = opts[0][0]
pyver = sysconfig.get_config_var('VERSION') pyver = sysconfig.get_config_var('VERSION')
getvar = sysconfig.get_config_var getvar = sysconfig.get_config_var
if opt == '--help': opt_flags = [flag for (flag, val) in opts]
exit_with_usage(0)
elif opt == '--prefix': if '--help' in opt_flags:
print sysconfig.PREFIX exit_with_usage(code=0)
elif opt == '--exec-prefix': for opt in opt_flags:
print sysconfig.EXEC_PREFIX if opt == '--prefix':
print sysconfig.PREFIX
elif opt in ('--includes', '--cflags'): elif opt == '--exec-prefix':
flags = ['-I' + sysconfig.get_python_inc(), print sysconfig.EXEC_PREFIX
'-I' + sysconfig.get_python_inc(plat_specific=True)]
if opt == '--cflags':
flags.extend(getvar('CFLAGS').split())
print ' '.join(flags)
elif opt in ('--libs', '--ldflags'): elif opt in ('--includes', '--cflags'):
libs = getvar('LIBS').split() + getvar('SYSLIBS').split() flags = ['-I' + sysconfig.get_python_inc(),
libs.append('-lpython'+pyver) '-I' + sysconfig.get_python_inc(plat_specific=True)]
# add the prefix/lib/pythonX.Y/config dir, but only if there is no if opt == '--cflags':
# shared library in prefix/lib/. flags.extend(getvar('CFLAGS').split())
if opt == '--ldflags' and not getvar('Py_ENABLE_SHARED'): print ' '.join(flags)
libs.insert(0, '-L' + getvar('LIBPL'))
print ' '.join(libs) elif opt in ('--libs', '--ldflags'):
libs = getvar('LIBS').split() + getvar('SYSLIBS').split()
libs.append('-lpython'+pyver)
# 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)