python2.7-config 1.6 KB

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