aboutsummaryrefslogtreecommitdiff
path: root/examples/python2.7/patches/sysconfigdata.diff
diff options
context:
space:
mode:
Diffstat (limited to 'examples/python2.7/patches/sysconfigdata.diff')
-rw-r--r--examples/python2.7/patches/sysconfigdata.diff91
1 files changed, 91 insertions, 0 deletions
diff --git a/examples/python2.7/patches/sysconfigdata.diff b/examples/python2.7/patches/sysconfigdata.diff
new file mode 100644
index 0000000..a91bf8e
--- /dev/null
+++ b/examples/python2.7/patches/sysconfigdata.diff
@@ -0,0 +1,91 @@
+Index: b/Lib/sysconfig.py
+===================================================================
+--- a/Lib/sysconfig.py
++++ b/Lib/sysconfig.py
+@@ -330,9 +330,10 @@
+ return os.path.join(_PROJECT_BASE, "Makefile")
+ return os.path.join(get_path('platstdlib').replace("/usr/local","/usr",1), "config" + (sys.pydebug and "_d" or ""), "Makefile")
+
+-
+-def _init_posix(vars):
+- """Initialize the module as appropriate for POSIX systems."""
++def _generate_posix_vars():
++ """Generate the Python module containing build-time variables."""
++ import pprint
++ vars = {}
+ # load the installed Makefile:
+ makefile = _get_makefile_filename()
+ try:
+@@ -360,6 +361,19 @@
+ if _PYTHON_BUILD:
+ vars['LDSHARED'] = vars['BLDSHARED']
+
++ destfile = '_sysconfigdata.py'
++ with open(destfile, 'w') as f:
++ f.write('# system configuration generated and used by'
++ ' the sysconfig module\n')
++ f.write('build_time_vars = ')
++ pprint.pprint(vars, stream=f)
++
++def _init_posix(vars):
++ """Initialize the module as appropriate for POSIX systems."""
++ # _sysconfigdata is generated at build time, see _generate_posix_vars()
++ from _sysconfigdata import build_time_vars
++ vars.update(build_time_vars)
++
+ def _init_non_posix(vars):
+ """Initialize the module as appropriate for NT"""
+ # set basic install directories
+Index: b/Makefile.pre.in
+===================================================================
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -374,7 +374,7 @@
+
+ # Default target
+ all: build_all
+-build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks
++build_all: $(BUILDPYTHON) $(SYSCONFIGDATA) oldsharedmods sharedmods gdbhooks
+
+ # Compile a binary with gcc profile guided optimization.
+ profile-opt:
+@@ -402,6 +402,7 @@
+ $(MAKE) clean
+ $(MAKE) all PY_CFLAGS="$(PY_CFLAGS) -O0 -pg -fprofile-arcs -ftest-coverage" LIBS="$(LIBS) -lgcov"
+
++SYSCONFIGDATA=_sysconfigdata.py
+
+ # Build the interpreter
+ $(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
+@@ -409,14 +410,20 @@
+ Modules/python.o \
+ -Wl,--whole-archive $(BLDLIBRARY) -Wl,--no-whole-archive $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+
+-platform: $(BUILDPYTHON)
++platform: $(BUILDPYTHON) $(SYSCONFIGDATA)
+ $(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
+
++# Generate the sysconfig build-time data
++$(SYSCONFIGDATA): $(BUILDPYTHON)
++ $(RUNSHARED) ./$(BUILDPYTHON) -SE -c 'import sysconfig; sysconfig._generate_posix_vars()'
++ $(RUNSHARED) ./$(BUILDPYTHON) -S -c 'import os,sys ; from distutils.util import get_platform ; d=os.path.join("build", "lib."+get_platform()+"-"+sys.version[0:3]+("-pydebug" if hasattr(sys, "gettotalrefcount") else "")); sys.stdout.write(d)' > pybuilddir.txt
++ mkdir -p `cat pybuilddir.txt`
++ cp $(SYSCONFIGDATA) `cat pybuilddir.txt`/.
+
+ # Build the shared modules
+ # MAKEFLAGS are sorted and normalized. Under GNU make the 's' for
+ # -s, --silent or --quiet is always the first char.
+-sharedmods: $(BUILDPYTHON)
++sharedmods: $(BUILDPYTHON) $(SYSCONFIGDATA)
+ @case "$$MAKEFLAGS" in \
+ s*) quiet="-q";; \
+ *) quiet="";; \
+@@ -910,7 +917,7 @@
+ else true; \
+ fi; \
+ done
+- @for i in $(srcdir)/Lib/*.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \
++ @for i in $(srcdir)/Lib/*.py $(SYSCONFIGDATA) $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \
+ do \
+ if test -x $$i; then \
+ $(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \