diff options
Diffstat (limited to 'Misc/python-config.in')
| -rw-r--r-- | Misc/python-config.in | 71 |
1 files changed, 40 insertions, 31 deletions
diff --git a/Misc/python-config.in b/Misc/python-config.in index 47ea669..1d4a81d 100644 --- a/Misc/python-config.in +++ b/Misc/python-config.in @@ -1,12 +1,13 @@ #!@EXENAME@ +# -*- python -*- -import sys -import os import getopt -from distutils import sysconfig +import os +import sys +import sysconfig valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', - 'ldflags', 'help'] + 'ldflags', 'extension-suffix', 'help', 'abiflags'] def exit_with_usage(code=1): print("Usage: {0} [{1}]".format( @@ -21,33 +22,41 @@ except getopt.error: if not opts: exit_with_usage() -opt = opts[0][0] - pyver = sysconfig.get_config_var('VERSION') getvar = sysconfig.get_config_var -if opt == '--help': - exit_with_usage(0) - -elif 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) - # add the prefix/lib/pythonX.Y/config dir, but only if there is no - # shared library in prefix/lib/. - if opt == '--ldflags' and not getvar('Py_ENABLE_SHARED'): - libs.insert(0, '-L' + getvar('LIBPL')) - print(' '.join(libs)) - +opt_flags = [flag for (flag, val) in opts] + +if '--help' in opt_flags: + exit_with_usage(code=0) + +for opt in opt_flags: + if opt == '--prefix': + print(sysconfig.get_config_var('prefix')) + + elif opt == '--exec-prefix': + print(sysconfig.get_config_var('exec_prefix')) + + elif opt in ('--includes', '--cflags'): + flags = ['-I' + sysconfig.get_path('include'), + '-I' + sysconfig.get_path('platinclude')] + 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 + sys.abiflags) + # 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)) + + elif opt == '--extension-suffix': + print(sysconfig.get_config_var('SO')) + + elif opt == '--abiflags': + print(sys.abiflags) |
