blob: 9ee0fdff48a62471bd5079f544b9fa5a8ef5297b [file] [log] [blame]
Georg Brandlced52a92006-07-24 13:28:57 +00001#!@EXENAME@
Martin v. Löwisc90b17e2006-04-15 08:13:05 +00002
3import sys
4import os
5import getopt
6from distutils import sysconfig
7
Collin Wintera70f3492010-03-19 00:08:44 +00008valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
Martin v. Löwisc90b17e2006-04-15 08:13:05 +00009 'ldflags', 'help']
10
11def exit_with_usage(code=1):
Collin Wintera70f3492010-03-19 00:08:44 +000012 print >>sys.stderr, "Usage: %s [%s]" % (sys.argv[0],
Martin v. Löwisc90b17e2006-04-15 08:13:05 +000013 '|'.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
Martin v. Löwisc90b17e2006-04-15 08:13:05 +000024pyver = sysconfig.get_config_var('VERSION')
25getvar = sysconfig.get_config_var
26
Collin Wintera70f3492010-03-19 00:08:44 +000027opt_flags = [flag for (flag, val) in opts]
Martin v. Löwisc90b17e2006-04-15 08:13:05 +000028
Collin Wintera70f3492010-03-19 00:08:44 +000029if '--help' in opt_flags:
30 exit_with_usage(code=0)
Martin v. Löwisc90b17e2006-04-15 08:13:05 +000031
Collin Wintera70f3492010-03-19 00:08:44 +000032for opt in opt_flags:
33 if opt == '--prefix':
34 print sysconfig.PREFIX
Martin v. Löwisc90b17e2006-04-15 08:13:05 +000035
Collin Wintera70f3492010-03-19 00:08:44 +000036 elif opt == '--exec-prefix':
37 print sysconfig.EXEC_PREFIX
Martin v. Löwisc90b17e2006-04-15 08:13:05 +000038
Collin Wintera70f3492010-03-19 00:08:44 +000039 elif opt in ('--includes', '--cflags'):
40 flags = ['-I' + sysconfig.get_python_inc(),
41 '-I' + sysconfig.get_python_inc(plat_specific=True)]
42 if opt == '--cflags':
43 flags.extend(getvar('CFLAGS').split())
44 print ' '.join(flags)
45
46 elif opt in ('--libs', '--ldflags'):
doko@ubuntu.com92518cc2014-10-02 01:58:58 +020047 libs = ['-lpython' + pyver]
48 libs += getvar('LIBS').split()
49 libs += getvar('SYSLIBS').split()
Collin Wintera70f3492010-03-19 00:08:44 +000050 # add the prefix/lib/pythonX.Y/config dir, but only if there is no
51 # shared library in prefix/lib/.
52 if opt == '--ldflags':
53 if not getvar('Py_ENABLE_SHARED'):
54 libs.insert(0, '-L' + getvar('LIBPL'))
Ned Deilyeec152d2013-03-04 14:31:04 -080055 if not getvar('PYTHONFRAMEWORK'):
56 libs.extend(getvar('LINKFORSHARED').split())
Collin Wintera70f3492010-03-19 00:08:44 +000057 print ' '.join(libs)
Martin v. Löwisc90b17e2006-04-15 08:13:05 +000058