blob: 26605747f31df719882aedb18613d88074e8a878 [file] [log] [blame]
Thomas Wouters0e3f5912006-08-11 14:57:12 +00001#!@EXENAME@
Thomas Wouters49fd7fa2006-04-21 10:40:58 +00002
Thomas Wouters49fd7fa2006-04-21 10:40:58 +00003import getopt
Collin Winter67091772010-04-06 21:30:42 +00004import os
5import sys
6import sysconfig
Thomas Wouters49fd7fa2006-04-21 10:40:58 +00007
Georg Brandl7046e972007-09-01 07:27:37 +00008valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
Thomas Wouters49fd7fa2006-04-21 10:40:58 +00009 'ldflags', 'help']
10
11def exit_with_usage(code=1):
Georg Brandl7046e972007-09-01 07:27:37 +000012 print("Usage: {0} [{1}]".format(
13 sys.argv[0], '|'.join('--'+opt for opt in valid_opts)), file=sys.stderr)
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000014 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
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000024pyver = sysconfig.get_config_var('VERSION')
25getvar = sysconfig.get_config_var
26
Collin Winterbf199072010-03-19 21:17:17 +000027opt_flags = [flag for (flag, val) in opts]
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000028
Collin Winterbf199072010-03-19 21:17:17 +000029if '--help' in opt_flags:
30 exit_with_usage(code=0)
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000031
Collin Winterbf199072010-03-19 21:17:17 +000032for opt in opt_flags:
33 if opt == '--prefix':
Collin Winter67091772010-04-06 21:30:42 +000034 print(sysconfig.get_config_var('prefix'))
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000035
Collin Winterbf199072010-03-19 21:17:17 +000036 elif opt == '--exec-prefix':
Collin Winter67091772010-04-06 21:30:42 +000037 print(sysconfig.get_config_var('exec_prefix'))
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000038
Collin Winterbf199072010-03-19 21:17:17 +000039 elif opt in ('--includes', '--cflags'):
Collin Winter67091772010-04-06 21:30:42 +000040 flags = ['-I' + sysconfig.get_path('include'),
41 '-I' + sysconfig.get_path('platinclude')]
Collin Winterbf199072010-03-19 21:17:17 +000042 if opt == '--cflags':
43 flags.extend(getvar('CFLAGS').split())
44 print(' '.join(flags))
45
46 elif opt in ('--libs', '--ldflags'):
47 libs = getvar('LIBS').split() + getvar('SYSLIBS').split()
48 libs.append('-lpython'+pyver)
49 # add the prefix/lib/pythonX.Y/config dir, but only if there is no
50 # shared library in prefix/lib/.
51 if opt == '--ldflags':
52 if not getvar('Py_ENABLE_SHARED'):
53 libs.insert(0, '-L' + getvar('LIBPL'))
54 libs.extend(getvar('LINKFORSHARED').split())
55 print(' '.join(libs))
Thomas Wouters49fd7fa2006-04-21 10:40:58 +000056