annotate Misc/python-config.in @ 84007:dbfbdf2b5c19 3.3

Fix #17967: For ftp urls CWD to target instead of hopping to each directory towards target. This fixes a bug where target is accessible, but parent directories are restricted.
author Senthil Kumaran <senthil@uthcode.com>
date Sat, 01 Jun 2013 08:27:06 -0700
parents 14f0c9e595a5
children 7b165c7ab7ef
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
60420
712970b019f7 Fix python-config to use the new sysconfig module; silences deprecation warnings.
Collin Winter <collinw@gmail.com>
parents: 59739
diff changeset
4 import getopt
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
5 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
6 import sys
712970b019f7 Fix python-config to use the new sysconfig module; silences deprecation warnings.
Collin Winter <collinw@gmail.com>
parents: 59739
diff changeset
7 import sysconfig
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
8
43169
ee1b3eb7a013 Bug #1074: make python-config with Py3k.
Georg Brandl <georg@python.org>
parents: 41554
diff changeset
9 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
10 'ldflags', 'extension-suffix', 'help', 'abiflags', 'configdir']
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
11
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
12 def exit_with_usage(code=1):
43169
ee1b3eb7a013 Bug #1074: make python-config with Py3k.
Georg Brandl <georg@python.org>
parents: 41554
diff changeset
13 print("Usage: {0} [{1}]".format(
ee1b3eb7a013 Bug #1074: make python-config with Py3k.
Georg Brandl <georg@python.org>
parents: 41554
diff changeset
14 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
15 sys.exit(code)
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
16
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
17 try:
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
18 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
19 except getopt.error:
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
20 exit_with_usage()
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
21
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
22 if not opts:
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
23 exit_with_usage()
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
24
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
25 pyver = sysconfig.get_config_var('VERSION')
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
26 getvar = sysconfig.get_config_var
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
27
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
28 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
29
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
30 if '--help' in opt_flags:
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
31 exit_with_usage(code=0)
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
32
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
33 for opt in opt_flags:
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
34 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
35 print(sysconfig.get_config_var('prefix'))
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
36
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
37 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
38 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
39
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
40 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
41 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
42 '-I' + sysconfig.get_path('platinclude')]
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
43 if opt == '--cflags':
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
44 flags.extend(getvar('CFLAGS').split())
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
45 print(' '.join(flags))
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
46
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
47 elif opt in ('--libs', '--ldflags'):
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
48 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
49 libs.append('-lpython' + pyver + sys.abiflags)
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
50 # 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
51 # shared library in prefix/lib/.
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
52 if opt == '--ldflags':
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
53 if not getvar('Py_ENABLE_SHARED'):
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
54 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
55 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
56 libs.extend(getvar('LINKFORSHARED').split())
59739
e43233d80064 Merged revisions 79082,79084 via svnmerge from
Collin Winter <collinw@gmail.com>
parents: 43169
diff changeset
57 print(' '.join(libs))
37730
5304059e7de3 Patch #1161914: Add python-config.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
58
64682
6d282b58d90a 9806: add --extension-suffix option to python-config.
Georg Brandl <georg@python.org>
parents: 60420
diff changeset
59 elif opt == '--extension-suffix':
82869
8f91014c8f00 - Issue #16754: Fix the incorrect shared library extension on linux. Introduce
doko@ubuntu.com
parents: 78264
diff changeset
60 print(sysconfig.get_config_var('EXT_SUFFIX'))
65389
932f97bfbdc0 First (uncontroversial) part of issue 9807.
Barry Warsaw <barry@python.org>
parents: 64686
diff changeset
61
932f97bfbdc0 First (uncontroversial) part of issue 9807.
Barry Warsaw <barry@python.org>
parents: 64686
diff changeset
62 elif opt == '--abiflags':
932f97bfbdc0 First (uncontroversial) part of issue 9807.
Barry Warsaw <barry@python.org>
parents: 64686
diff changeset
63 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
64
ddf15cd9be4a - Issue #15458: python-config gets a new option --configdir to print the
Barry Warsaw <barry@python.org>
parents: 78264
diff changeset
65 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
66 print(sysconfig.get_config_var('LIBPL'))