diff options
Diffstat (limited to 'examples/python2.7/patches/sysconfigdata.diff')
-rw-r--r-- | examples/python2.7/patches/sysconfigdata.diff | 91 |
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); \ |