annotate Misc/python-config.in @ 87690:66c1c9f32567 default tip

Add use_weakref option to functools.lru_cache The use_weakref option makes lru_cache create weak references to the function arguments when creating the cache key, which prevents them from staying in the memory forever even after all other references to them are gone. This is a proof of concept for http://bugs.python.org/issue19859
author Radomir Dopieralski <devel@sheep.art.pl>
date Tue, 03 Dec 2013 16:02:48 +0100
parents 7b165c7ab7ef
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
39161
02fa1015cbcc Patch #1523356: fix determining include dirs in python-config.
Georg Brandl <georg@python.org>
parents: 37730
diff changeset
1 #!@EXENAME@
65527
82b083c96a39 One more change for issue 9807, by Matthias Klose.
Barry Warsaw <barry@python.org>
parents: 65389
diff changeset
2 # -*- python -*-
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
3
84947
7b165c7ab7ef - Issue #18257: Fix readlink usage in python-config. Install the python
doko@ubuntu.com
parents: 82870
diff changeset
4 # Keep this script in sync with python-config.sh.in
7b165c7ab7ef - Issue #18257: Fix readlink usage in python-config. Install the python
doko@ubuntu.com
parents: 82870
diff changeset
5
60420
712970b019f7 Fix python-config to use the new sysconfig module; silences deprecation warnings.
Collin Winter <collinw@gmail.com>
parents: 59739
diff changeset
6 import getopt
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
7 import os
60420
712970b019f7 Fix python-config to use the new sysconfig module; silences deprecation warnings.
Collin Winter <collinw@gmail.com>
parents: 59739
diff changeset
8 import sys
712970b019f7 Fix python-config to use the new sysconfig module; silences deprecation warnings.
Collin Winter <collinw@gmail.com>
parents: 59739
diff changeset
9 import sysconfig
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
10
43169
ee1b3eb7a013 Bug #1074: make python-config with Py3k.
Georg Brandl <georg@python.org>
parents: 41554
diff changeset
11 valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
78291
ddf15cd9be4a - Issue #15458: python-config gets a new option --configdir to print the
Barry Warsaw <barry@python.org>
parents: 78264
diff changeset
12 'ldflags', 'extension-suffix', 'help', 'abiflags', 'configdir']
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
13
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
14 def exit_with_usage(code=1):
43169
ee1b3eb7a013 Bug #1074: make python-config with Py3k.
Georg Brandl <georg@python.org>
parents: 41554
diff changeset
15 print("Usage: {0} [{1}]".format(
ee1b3eb7a013 Bug #1074: make python-config with Py3k.
Georg Brandl <georg@python.org>
parents: 41554
diff changeset
16 sys.argv[0], '|'.join('--'+opt for opt in valid_opts)), file=sys.stderr)
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
17 sys.exit(code)
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
18
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
19 try:
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
20 opts, args = getopt.getopt(sys.argv[1:], '', valid_opts)
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
21 except getopt.error:
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
22 exit_with_usage()
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
23
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
24 if not opts:
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
25 exit_with_usage()
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
26
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
27 pyver = sysconfig.get_config_var('VERSION')
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
28 getvar = sysconfig.get_config_var
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
29
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
30 opt_flags = [flag for (flag, val) in opts]
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
31
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
32 if '--help' in opt_flags:
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
33 exit_with_usage(code=0)
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
34
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
35 for opt in opt_flags:
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
36 if opt == '--prefix':
60420
712970b019f7 Fix python-config to use the new sysconfig module; silences deprecation warnings.
Collin Winter <collinw@gmail.com>
parents: 59739
diff changeset
37 print(sysconfig.get_config_var('prefix'))
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
38
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
39 elif opt == '--exec-prefix':
60420
712970b019f7 Fix python-config to use the new sysconfig module; silences deprecation warnings.
Collin Winter <collinw@gmail.com>
parents: 59739
diff changeset
40 print(sysconfig.get_config_var('exec_prefix'))
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
41
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
42 elif opt in ('--includes', '--cflags'):
60420
712970b019f7 Fix python-config to use the new sysconfig module; silences deprecation warnings.
Collin Winter <collinw@gmail.com>
parents: 59739
diff changeset
43 flags = ['-I' + sysconfig.get_path('include'),
712970b019f7 Fix python-config to use the new sysconfig module; silences deprecation warnings.
Collin Winter <collinw@gmail.com>
parents: 59739
diff changeset
44 '-I' + sysconfig.get_path('platinclude')]
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
45 if opt == '--cflags':
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
46 flags.extend(getvar('CFLAGS').split())
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
47 print(' '.join(flags))
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
48
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
49 elif opt in ('--libs', '--ldflags'):
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
50 libs = getvar('LIBS').split() + getvar('SYSLIBS').split()
65527
82b083c96a39 One more change for issue 9807, by Matthias Klose.
Barry Warsaw <barry@python.org>
parents: 65389
diff changeset
51 libs.append('-lpython' + pyver + sys.abiflags)
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
52 # add the prefix/lib/pythonX.Y/config dir, but only if there is no
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
53 # shared library in prefix/lib/.
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
54 if opt == '--ldflags':
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
55 if not getvar('Py_ENABLE_SHARED'):
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
56 libs.insert(0, '-L' + getvar('LIBPL'))
78264
2d4f290ea71c Issue #14197: For OS X framework builds, ensure links to the shared
Ned Deily <nad@acm.org>
parents: 65527
diff changeset
57 if not getvar('PYTHONFRAMEWORK'):
2d4f290ea71c Issue #14197: For OS X framework builds, ensure links to the shared
Ned Deily <nad@acm.org>
parents: 65527
diff changeset
58 libs.extend(getvar('LINKFORSHARED').split())
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
59 print(' '.join(libs))
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
60
64682
6d282b58d90a 9806: add --extension-suffix option to python-config.
Georg Brandl <georg@python.org>
parents: 60420
diff changeset
61 elif opt == '--extension-suffix':
82869
8f91014c8f00 - Issue #16754: Fix the incorrect shared library extension on linux. Introduce
doko@ubuntu.com
parents: 78264
diff changeset
62 print(sysconfig.get_config_var('EXT_SUFFIX'))
65389
932f97bfbdc0 First (uncontroversial) part of issue 9807.
Barry Warsaw <barry@python.org>
parents: 64686
diff changeset
63
932f97bfbdc0 First (uncontroversial) part of issue 9807.
Barry Warsaw <barry@python.org>
parents: 64686
diff changeset
64 elif opt == '--abiflags':
932f97bfbdc0 First (uncontroversial) part of issue 9807.
Barry Warsaw <barry@python.org>
parents: 64686
diff changeset
65 print(sys.abiflags)
78291
ddf15cd9be4a - Issue #15458: python-config gets a new option --configdir to print the
Barry Warsaw <barry@python.org>
parents: 78264
diff changeset
66
ddf15cd9be4a - Issue #15458: python-config gets a new option --configdir to print the
Barry Warsaw <barry@python.org>
parents: 78264
diff changeset
67 elif opt == '--configdir':
ddf15cd9be4a - Issue #15458: python-config gets a new option --configdir to print the
Barry Warsaw <barry@python.org>
parents: 78264
diff changeset
68 print(sysconfig.get_config_var('LIBPL'))