mirror of
https://git.busybox.net/buildroot.git
synced 2024-12-11 22:33:29 +08:00
python: bump to 2.7.6
Even though jumping from 2.7.3 to 2.7.6 looks like a minor version bump, it is in fact a fairly significant one, because a good number of changes to help cross-compilation have been merged into Python upstream. Therefore, most of our patches are affected by this change. In detail, this commit: * Renames all the patches to follow the naming convention of patches in Buildroot: the patch file names should not have any version number. * The patches numbered above 100, that add configuration options to disable certain modules of the Python standard library, are only renamed and slightly adapted, they didn't change that much. * The patches numbered below 100 are almost entirely rewritten: many of the cross-compilation problems that used to exist in Python 2.7.3 no longer exist, and the number of remaining problems is smaller, and can be fixed with smaller patches. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
577e52ac08
commit
7e960dc9da
32
package/python/python-001-remove-host-header-path.patch
Normal file
32
package/python/python-001-remove-host-header-path.patch
Normal file
@ -0,0 +1,32 @@
|
||||
setup.py: do not add invalid header locations
|
||||
|
||||
This piece of code incorrectly adds /usr/include to
|
||||
self.compiler.include_dirs, and results in the following invalid
|
||||
compilation line:
|
||||
|
||||
/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fPIC \
|
||||
-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \
|
||||
-pipe -Os -DNDEBUG -g -O3 -Wall -Wstrict-prototypes \
|
||||
-I/usr/include -I. -IInclude -I./Include \
|
||||
-I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include \
|
||||
-I/home/thomas/projets/buildroot/output/build/python-2.7.6/Include \
|
||||
-I/home/thomas/projets/buildroot/output/build/python-2.7.6 \
|
||||
-c /home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/mathmodule.c \
|
||||
-o build/temp.linux2-arm-2.7/home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/mathmodule.o
|
||||
cc1: warning: include location "/usr/include" is unsafe for cross-compilation [-Wpoison-system-directories]
|
||||
[...]
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Index: b/setup.py
|
||||
===================================================================
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -478,7 +478,7 @@
|
||||
for directory in reversed(options.dirs):
|
||||
add_dir_to_list(dir_list, directory)
|
||||
|
||||
- if os.path.normpath(sys.prefix) != '/usr' \
|
||||
+ if False and os.path.normpath(sys.prefix) != '/usr' \
|
||||
and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
|
||||
# OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
|
||||
# (PYTHONFRAMEWORK is set) to avoid # linking problems when
|
36
package/python/python-002-fix-get-python-inc.patch
Normal file
36
package/python/python-002-fix-get-python-inc.patch
Normal file
@ -0,0 +1,36 @@
|
||||
Fix get_python_inc() for cross-compilation
|
||||
|
||||
When we are cross compiling, doing os.path.dirname(sys.executable) to
|
||||
get the build directory is incorrect, because we're executing the host
|
||||
Python to build things for the target. Instead, we should use the
|
||||
project_base variable.
|
||||
|
||||
This fixes cross-compilation, which was adding incorrect header paths
|
||||
pointing to the location where the host Python was built:
|
||||
|
||||
/home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fPIC -fno-strict-aliasing \
|
||||
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -DNDEBUG -g -O3 -Wall -Wstrict-prototypes \
|
||||
-I/usr/include -I. -IInclude -I./Include -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include \
|
||||
-I/home/thomas/projets/buildroot/output/host/usr/bin/Include -I/home/thomas/projets/buildroot/output/host/usr/bin \
|
||||
-c /home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.c \
|
||||
-o build/temp.linux2-arm-2.7/home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.o
|
||||
|
||||
This patch allows to fix the
|
||||
/home/thomas/projets/buildroot/output/host/usr/bin/Include and
|
||||
/home/thomas/projets/buildroot/output/host/usr/bin paths that are
|
||||
incorrectly added to the header paths.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Index: b/Lib/distutils/sysconfig.py
|
||||
===================================================================
|
||||
--- a/Lib/distutils/sysconfig.py
|
||||
+++ b/Lib/distutils/sysconfig.py
|
||||
@@ -79,7 +79,7 @@
|
||||
|
||||
if os.name == "posix":
|
||||
if python_build:
|
||||
- buildir = os.path.dirname(sys.executable)
|
||||
+ buildir = project_base
|
||||
if plat_specific:
|
||||
# python.h is located in the buildir
|
||||
inc_dir = buildir
|
@ -0,0 +1,23 @@
|
||||
distutils: fix build_ext check to find whether we're building Python or not
|
||||
|
||||
The build_ext logic uses
|
||||
sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")) to
|
||||
determine whether we're building a third-party Python extension, or a
|
||||
built-in Python extension. However, this check is wrong in
|
||||
cross-compilation mode, and instead, the sysconfig.python_build
|
||||
variable should be used.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Index: b/Lib/distutils/command/build_ext.py
|
||||
===================================================================
|
||||
--- a/Lib/distutils/command/build_ext.py
|
||||
+++ b/Lib/distutils/command/build_ext.py
|
||||
@@ -235,7 +235,7 @@
|
||||
# Python's library directory must be appended to library_dirs
|
||||
# See Issues: #1600860, #4366
|
||||
if (sysconfig.get_config_var('Py_ENABLE_SHARED')):
|
||||
- if sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")):
|
||||
+ if not sysconfig.python_build:
|
||||
# building third party extensions
|
||||
self.library_dirs.append(sysconfig.get_config_var('LIBDIR'))
|
||||
else:
|
@ -0,0 +1,76 @@
|
||||
Change the install location of _sysconfigdata.py
|
||||
|
||||
The _sysconfigdata.py module contains definitions that are needed when
|
||||
building Python modules. In cross-compilation mode, when building
|
||||
Python extensions for the target, we need to use the _sysconfigdata.py
|
||||
of the target Python while executing the host Python.
|
||||
|
||||
However until now, the _sysconfigdata.py module was installed in
|
||||
build/lib.<arch>-<version> directory, together with a number of
|
||||
architecture-specific shared objects, which cannot be used with the
|
||||
host Python.
|
||||
|
||||
To solve this problem, this patch moves _sysconfigdata.py to a
|
||||
separate location, build/sysconfigdata.<arch>-<version>/, and only
|
||||
this directory gets added to the PYTHONPATH of the host Python
|
||||
interpreter when building Python modules for the target.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -449,6 +449,9 @@
|
||||
# sys.path fixup -- see Modules/getpath.c.
|
||||
pybuilddir.txt: $(BUILDPYTHON)
|
||||
$(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars
|
||||
+ echo `cat pybuilddir.txt`/sysconfigdata > pysysconfigdatadir.txt
|
||||
+ mkdir -p `cat pysysconfigdatadir.txt`
|
||||
+ cp `cat pybuilddir.txt`/_sysconfigdata.py `cat pysysconfigdatadir.txt`
|
||||
|
||||
# Build the shared modules
|
||||
# Under GNU make, MAKEFLAGS are sorted and normalized; the 's' for
|
||||
@@ -965,7 +968,7 @@
|
||||
else true; \
|
||||
fi; \
|
||||
done
|
||||
- @for i in $(srcdir)/Lib/*.py `cat pybuilddir.txt`/_sysconfigdata.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \
|
||||
+ @for i in $(srcdir)/Lib/*.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \
|
||||
do \
|
||||
if test -x $$i; then \
|
||||
$(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \
|
||||
@@ -975,6 +978,11 @@
|
||||
echo $(INSTALL_DATA) $$i $(LIBDEST); \
|
||||
fi; \
|
||||
done
|
||||
+ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \
|
||||
+ $(DESTDIR)$(LIBDEST)
|
||||
+ mkdir -p $(DESTDIR)$(LIBDEST)/sysconfigdata
|
||||
+ $(INSTALL_DATA) `cat pysysconfigdatadir.txt`/_sysconfigdata.py \
|
||||
+ $(DESTDIR)$(LIBDEST)/sysconfigdata
|
||||
@for d in $(LIBSUBDIRS); \
|
||||
do \
|
||||
a=$(srcdir)/Lib/$$d; \
|
||||
@@ -1299,7 +1307,7 @@
|
||||
Modules/Setup Modules/Setup.local Modules/Setup.config \
|
||||
Modules/ld_so_aix Modules/python.exp Misc/python.pc
|
||||
-rm -f python*-gdb.py
|
||||
- -rm -f pybuilddir.txt
|
||||
+ -rm -f pybuilddir.txt pysysconfigdatadir.txt
|
||||
find $(srcdir)/[a-zA-Z]* '(' -name '*.fdc' -o -name '*~' \
|
||||
-o -name '[@,#]*' -o -name '*.old' \
|
||||
-o -name '*.orig' -o -name '*.rej' \
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -30,7 +30,7 @@
|
||||
AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found])
|
||||
fi
|
||||
AC_MSG_RESULT($interp)
|
||||
- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/plat-$(MACHDEP) '$interp
|
||||
+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pysysconfigdatadir.txt && echo $(abs_builddir)/`cat pysysconfigdatadir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/plat-$(MACHDEP) '$interp
|
||||
fi
|
||||
elif test "$cross_compiling" = maybe; then
|
||||
AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])
|
59
package/python/python-005-pyc-pyo-conditional.patch
Normal file
59
package/python/python-005-pyc-pyo-conditional.patch
Normal file
@ -0,0 +1,59 @@
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -1013,24 +1013,32 @@
|
||||
$(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
|
||||
$(DESTDIR)$(LIBDEST)/distutils/tests ; \
|
||||
fi
|
||||
+ifeq (@PYC_BUILD@,yes)
|
||||
PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
$(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST) -f \
|
||||
-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
|
||||
$(DESTDIR)$(LIBDEST)
|
||||
+endif
|
||||
+ifeq (@PYO_BUILD@,yes)
|
||||
PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
$(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST) -f \
|
||||
-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
|
||||
$(DESTDIR)$(LIBDEST)
|
||||
+endif
|
||||
+ifeq (@PYC_BUILD@,yes)
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
$(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST)/site-packages -f \
|
||||
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
||||
+endif
|
||||
+ifeq (@PYO_BUILD@,yes)
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
$(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST)/site-packages -f \
|
||||
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
||||
+endif
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -733,6 +733,17 @@
|
||||
;;
|
||||
esac
|
||||
|
||||
+AC_SUBST(PYC_BUILD)
|
||||
+
|
||||
+AC_ARG_ENABLE(pyc-build,
|
||||
+ AS_HELP_STRING([--disable-pyc-build], [disable build of pyc files]),
|
||||
+ [ PYC_BUILD="${enableval}" ], [ PYC_BUILD=yes ])
|
||||
+
|
||||
+AC_SUBST(PYO_BUILD)
|
||||
+
|
||||
+AC_ARG_ENABLE(pyo-build,
|
||||
+ AS_HELP_STRING([--disable-pyo-build], [disable build of pyo files]),
|
||||
+ [ PYO_BUILD="${enableval}" ], [ PYO_BUILD=yes ])
|
||||
|
||||
AC_SUBST(LIBRARY)
|
||||
AC_MSG_CHECKING(LIBRARY)
|
13
package/python/python-006-cross-compile-getaddrinfo.patch
Normal file
13
package/python/python-006-cross-compile-getaddrinfo.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3337,7 +3337,7 @@
|
||||
|
||||
AC_MSG_RESULT($ac_cv_buggy_getaddrinfo)
|
||||
|
||||
-if test $have_getaddrinfo = no -o "$ac_cv_buggy_getaddrinfo" = yes
|
||||
+if test $have_getaddrinfo = no || test "$cross_compiling" != "yes" -a "$ac_cv_buggy_getaddrinfo" = yes
|
||||
then
|
||||
if test $ipv6 = yes
|
||||
then
|
60
package/python/python-007-disable-extensions.patch
Normal file
60
package/python/python-007-disable-extensions.patch
Normal file
@ -0,0 +1,60 @@
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -153,6 +153,8 @@
|
||||
# configure script arguments
|
||||
CONFIG_ARGS= @CONFIG_ARGS@
|
||||
|
||||
+# disabled extensions
|
||||
+DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@
|
||||
|
||||
# Subdirectories with code
|
||||
SRCDIRS= @SRCDIRS@
|
||||
@@ -464,6 +466,7 @@
|
||||
esac; \
|
||||
$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
|
||||
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
|
||||
+ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
|
||||
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
|
||||
|
||||
# Build static library
|
||||
@@ -1154,7 +1157,8 @@
|
||||
# Install the dynamically loadable modules
|
||||
# This goes into $(exec_prefix)
|
||||
sharedinstall: sharedmods
|
||||
- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
|
||||
+ $(RUNSHARED) DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \
|
||||
+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
|
||||
--prefix=$(prefix) \
|
||||
--install-scripts=$(BINDIR) \
|
||||
--install-platlib=$(DESTSHARED) \
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2275,6 +2275,8 @@
|
||||
|
||||
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
|
||||
|
||||
+AC_SUBST(DISABLED_EXTENSIONS)
|
||||
+
|
||||
# Check for use of the system expat library
|
||||
AC_MSG_CHECKING(for --with-system-expat)
|
||||
AC_ARG_WITH(system_expat,
|
||||
Index: b/setup.py
|
||||
===================================================================
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -33,7 +33,10 @@
|
||||
COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
|
||||
|
||||
# This global variable is used to hold the list of modules to be disabled.
|
||||
-disabled_module_list = []
|
||||
+try:
|
||||
+ disabled_module_list = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ")
|
||||
+except KeyError:
|
||||
+ disabled_module_list = list()
|
||||
|
||||
def add_dir_to_list(dirlist, dir):
|
||||
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
|
54
package/python/python-008-distutils-use-python-sysroot.patch
Normal file
54
package/python/python-008-distutils-use-python-sysroot.patch
Normal file
@ -0,0 +1,54 @@
|
||||
Adjust library/header paths for cross-compilation
|
||||
|
||||
When cross-compiling third-party extensions, the get_python_inc() or
|
||||
get_python_lib() can be called, to return the path to headers or
|
||||
libraries. However, they use the sys.prefix of the host Python, which
|
||||
returns incorrect paths when cross-compiling (paths pointing to host
|
||||
headers and libraries).
|
||||
|
||||
In order to fix this, we introduce the _python_sysroot, _python_prefix
|
||||
and _python_exec_prefix variables, that allow to override these
|
||||
values, and get correct header/library paths when cross-compiling
|
||||
third-party Python modules.
|
||||
|
||||
The _python_sysroot variable is also used to prefix the LIBDIR value
|
||||
taken from the sysconfigdata module.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/Lib/distutils/sysconfig.py
|
||||
===================================================================
|
||||
--- a/Lib/distutils/sysconfig.py
|
||||
+++ b/Lib/distutils/sysconfig.py
|
||||
@@ -19,8 +19,13 @@
|
||||
from distutils.errors import DistutilsPlatformError
|
||||
|
||||
# These are needed in a couple of spots, so just compute them once.
|
||||
-PREFIX = os.path.normpath(sys.prefix)
|
||||
-EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
|
||||
+if "_python_sysroot" in os.environ:
|
||||
+ _sysroot=os.environ.get('_python_sysroot')
|
||||
+ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix'))
|
||||
+ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix'))
|
||||
+else:
|
||||
+ PREFIX = os.path.normpath(sys.prefix)
|
||||
+ EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
|
||||
|
||||
# Path to the base directory of the project. On Windows the binary may
|
||||
# live in project/PCBuild9. If we're dealing with an x64 Windows build,
|
||||
Index: b/Lib/distutils/command/build_ext.py
|
||||
===================================================================
|
||||
--- a/Lib/distutils/command/build_ext.py
|
||||
+++ b/Lib/distutils/command/build_ext.py
|
||||
@@ -237,7 +237,10 @@
|
||||
if (sysconfig.get_config_var('Py_ENABLE_SHARED')):
|
||||
if not sysconfig.python_build:
|
||||
# building third party extensions
|
||||
- self.library_dirs.append(sysconfig.get_config_var('LIBDIR'))
|
||||
+ libdir = sysconfig.get_config_var('LIBDIR')
|
||||
+ if "_python_sysroot" in os.environ:
|
||||
+ libdir = os.environ.get("_python_sysroot") + libdir
|
||||
+ self.library_dirs.append(libdir)
|
||||
else:
|
||||
# building python standard extensions
|
||||
self.library_dirs.append('.')
|
23
package/python/python-009-no-termcap-host-path.patch
Normal file
23
package/python/python-009-no-termcap-host-path.patch
Normal file
@ -0,0 +1,23 @@
|
||||
Don't look in /usr/lib/termcap for libraries
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
|
||||
Index: b/setup.py
|
||||
===================================================================
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -760,12 +760,9 @@
|
||||
pass # Issue 7384: Already linked against curses or tinfo.
|
||||
elif curses_library:
|
||||
readline_libs.append(curses_library)
|
||||
- elif self.compiler.find_library_file(lib_dirs +
|
||||
- ['/usr/lib/termcap'],
|
||||
- 'termcap'):
|
||||
+ elif self.compiler.find_library_file(lib_dirs, 'termcap'):
|
||||
readline_libs.append('termcap')
|
||||
exts.append( Extension('readline', ['readline.c'],
|
||||
- library_dirs=['/usr/lib/termcap'],
|
||||
extra_link_args=readline_extra_link_args,
|
||||
libraries=readline_libs) )
|
||||
else:
|
@ -11,19 +11,20 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
configure.in | 6 ++++++
|
||||
2 files changed, 33 insertions(+), 13 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -856,23 +856,30 @@
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -934,23 +934,40 @@
|
||||
plat-mac/lib-scriptpackages/SystemEvents \
|
||||
plat-mac/lib-scriptpackages/Terminal
|
||||
plat-mac/lib-scriptpackages/Terminal
|
||||
PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages
|
||||
-LIBSUBDIRS= lib-tk lib-tk/test lib-tk/test/test_tkinter \
|
||||
- lib-tk/test/test_ttk site-packages test test/data \
|
||||
- lib-tk/test/test_ttk site-packages test test/audiodata test/data \
|
||||
- test/cjkencodings test/decimaltestdata test/xmltestdata test/subprocessdata \
|
||||
- test/tracedmodules \
|
||||
+LIBSUBDIRS= lib-tk site-packages \
|
||||
+LIBSUBDIRS= lib-tk \
|
||||
+ site-packages \
|
||||
encodings compiler hotshot \
|
||||
- email email/mime email/test email/test/data \
|
||||
- json json/tests \
|
||||
@ -39,31 +40,40 @@ Index: Python-2.7.2/Makefile.pre.in
|
||||
+ logging bsddb csv importlib wsgiref \
|
||||
+ lib2to3 lib2to3/fixes lib2to3/pgen2 \
|
||||
+ ctypes ctypes/macholib idlelib idlelib/Icons \
|
||||
+ distutils distutils/command $(XMLLIBSUBDIRS) \
|
||||
+ distutils distutils/command $(XMLLIBSUBDIRS) \
|
||||
multiprocessing multiprocessing/dummy \
|
||||
- unittest unittest/test \
|
||||
+ unittest \
|
||||
lib-old \
|
||||
curses pydoc_data $(MACHDEPS)
|
||||
+
|
||||
+TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \
|
||||
+ lib-tk/test/test_ttk \
|
||||
+ test test/audiodata test/data \
|
||||
+ test/cjkencodings test/decimaltestdata test/xmltestdata test/subprocessdata \
|
||||
+ test/tracedmodules \
|
||||
+ email/test email/test/data \
|
||||
+ json/tests \
|
||||
+ sqlite3/test \
|
||||
+ bsddb/test \
|
||||
+ lib2to3/tests \
|
||||
+ lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \
|
||||
+ ctypes/test \
|
||||
+ distutils/tests \
|
||||
+ unittest/test
|
||||
+
|
||||
+ifeq (@TEST_MODULES@,yes)
|
||||
+LIBSUBDIRS += lib-tk/test lib-tk/test/test_tkinter \
|
||||
+ lib-tk/test/test_ttk test test/data \
|
||||
+ test/cjkencodings test/decimaltestdata test/xmltestdata test/subprocessdata \
|
||||
+ test/tracedmodules email/test email/test/data \
|
||||
+ json/tests sqlite3/test bsddb/test lib2to3/tests \
|
||||
+ lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \
|
||||
+ ctypes/test distutils/tests unittest/test
|
||||
+LIBSUBDIRS += $(TESTSUBDIRS)
|
||||
+endif
|
||||
+
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
Index: Python-2.7.2/configure.in
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2408,6 +2408,12 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2614,6 +2614,12 @@
|
||||
fi
|
||||
|
||||
|
@ -12,21 +12,21 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
setup.py | 10 +++++++---
|
||||
3 files changed, 17 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -868,7 +868,7 @@
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -947,7 +947,7 @@
|
||||
multiprocessing multiprocessing/dummy \
|
||||
unittest \
|
||||
lib-old \
|
||||
- curses pydoc_data $(MACHDEPS)
|
||||
+ curses $(MACHDEPS)
|
||||
|
||||
ifeq (@TEST_MODULES@,yes)
|
||||
LIBSUBDIRS += lib-tk/test lib-tk/test/test_tkinter \
|
||||
@@ -880,6 +880,10 @@
|
||||
ctypes/test distutils/tests unittest/test
|
||||
TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \
|
||||
lib-tk/test/test_ttk \
|
||||
@@ -968,6 +968,10 @@
|
||||
LIBSUBDIRS += $(TESTSUBDIRS)
|
||||
endif
|
||||
|
||||
+ifeq (@PYDOC@,yes)
|
||||
@ -36,12 +36,12 @@ Index: Python-2.7.2/Makefile.pre.in
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
Index: Python-2.7.2/configure.in
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2407,6 +2407,11 @@
|
||||
esac])
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2613,6 +2613,11 @@
|
||||
AC_CHECK_FUNCS(pthread_atfork)
|
||||
fi
|
||||
|
||||
+AC_SUBST(PYDOC)
|
||||
@ -52,11 +52,11 @@ Index: Python-2.7.2/configure.in
|
||||
|
||||
AC_SUBST(TEST_MODULES)
|
||||
|
||||
Index: Python-2.7.2/setup.py
|
||||
Index: b/setup.py
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/setup.py
|
||||
+++ Python-2.7.2/setup.py
|
||||
@@ -2092,6 +2092,12 @@
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -2205,6 +2205,12 @@
|
||||
# turn off warnings when deprecated modules are imported
|
||||
import warnings
|
||||
warnings.filterwarnings("ignore",category=DeprecationWarning)
|
||||
@ -69,7 +69,7 @@ Index: Python-2.7.2/setup.py
|
||||
setup(# PyPI Metadata (PEP 301)
|
||||
name = "Python",
|
||||
version = sys.version.split()[0],
|
||||
@@ -2112,9 +2118,7 @@
|
||||
@@ -2225,9 +2231,7 @@
|
||||
ext_modules=[Extension('_struct', ['_struct.c'])],
|
||||
|
||||
# Scripts to install
|
@ -12,50 +12,47 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
setup.py | 5 +++--
|
||||
3 files changed, 26 insertions(+), 9 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -862,7 +862,6 @@
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -941,7 +941,6 @@
|
||||
json \
|
||||
sqlite3 \
|
||||
logging bsddb csv importlib wsgiref \
|
||||
- lib2to3 lib2to3/fixes lib2to3/pgen2 \
|
||||
ctypes ctypes/macholib idlelib idlelib/Icons \
|
||||
distutils distutils/command $(XMLLIBSUBDIRS) \
|
||||
distutils distutils/command $(XMLLIBSUBDIRS) \
|
||||
multiprocessing multiprocessing/dummy \
|
||||
@@ -875,8 +874,7 @@
|
||||
lib-tk/test/test_ttk test test/data \
|
||||
test/cjkencodings test/decimaltestdata test/xmltestdata test/subprocessdata \
|
||||
test/tracedmodules email/test email/test/data \
|
||||
- json/tests sqlite3/test bsddb/test lib2to3/tests \
|
||||
- lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \
|
||||
+ json/tests sqlite3/test bsddb/test \
|
||||
ctypes/test distutils/tests unittest/test
|
||||
endif
|
||||
|
||||
@@ -884,6 +882,16 @@
|
||||
@@ -958,8 +957,6 @@
|
||||
json/tests \
|
||||
sqlite3/test \
|
||||
bsddb/test \
|
||||
- lib2to3/tests \
|
||||
- lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \
|
||||
ctypes/test \
|
||||
distutils/tests \
|
||||
unittest/test
|
||||
@@ -972,6 +969,14 @@
|
||||
LIBSUBDIRS += pydoc_data
|
||||
endif
|
||||
|
||||
+ifeq (@LIB2TO3@,yes)
|
||||
+LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2
|
||||
+ifeq (@TEST_MODULES@,yes)
|
||||
+LIBSUBDIRS += lib2to3/tests \
|
||||
+TESTSUBDIRS += lib2to3/tests \
|
||||
+ lib2to3/tests/data \
|
||||
+ lib2to3/tests/data/fixers \
|
||||
+ lib2to3/tests/data/fixers/myfixes
|
||||
+endif
|
||||
+endif
|
||||
+
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
Index: Python-2.7.2/configure.in
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2419,6 +2419,12 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2625,6 +2625,12 @@
|
||||
AS_HELP_STRING([--disable-test-modules], [disable test modules]),
|
||||
[ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ])
|
||||
|
||||
@ -68,11 +65,11 @@ Index: Python-2.7.2/configure.in
|
||||
# Check for enable-ipv6
|
||||
AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified])
|
||||
AC_MSG_CHECKING([if --enable-ipv6 is specified])
|
||||
Index: Python-2.7.2/setup.py
|
||||
Index: b/setup.py
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/setup.py
|
||||
+++ Python-2.7.2/setup.py
|
||||
@@ -2093,10 +2093,11 @@
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -2206,10 +2206,11 @@
|
||||
import warnings
|
||||
warnings.filterwarnings("ignore",category=DeprecationWarning)
|
||||
|
@ -8,12 +8,12 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
configure.in | 9 +++++++++
|
||||
2 file changed, 9 insertions(+)
|
||||
|
||||
Index: Python-2.7.2/configure.in
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2407,6 +2407,15 @@
|
||||
esac])
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2613,6 +2613,15 @@
|
||||
AC_CHECK_FUNCS(pthread_atfork)
|
||||
fi
|
||||
|
||||
+AC_SUBST(SQLITE3)
|
||||
@ -28,28 +28,33 @@ Index: Python-2.7.2/configure.in
|
||||
AC_SUBST(PYDOC)
|
||||
|
||||
AC_ARG_ENABLE(pydoc,
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -875,7 +874,7 @@
|
||||
lib-tk/test/test_ttk test test/data \
|
||||
test/cjkencodings test/decimaltestdata test/xmltestdata test/subprocessdata \
|
||||
test/tracedmodules email/test email/test/data \
|
||||
- json/tests sqlite3/test bsddb/test \
|
||||
+ json/tests bsddb/test \
|
||||
ctypes/test distutils/tests unittest/test
|
||||
endif
|
||||
|
||||
@@ -884,6 +882,13 @@
|
||||
LIBSUBDIRS += pydoc_data
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -939,7 +939,6 @@
|
||||
encodings compiler hotshot \
|
||||
email email/mime \
|
||||
json \
|
||||
- sqlite3 \
|
||||
logging bsddb csv importlib wsgiref \
|
||||
ctypes ctypes/macholib idlelib idlelib/Icons \
|
||||
distutils distutils/command $(XMLLIBSUBDIRS) \
|
||||
@@ -955,7 +954,6 @@
|
||||
test/tracedmodules \
|
||||
email/test email/test/data \
|
||||
json/tests \
|
||||
- sqlite3/test \
|
||||
bsddb/test \
|
||||
ctypes/test \
|
||||
distutils/tests \
|
||||
@@ -977,6 +975,11 @@
|
||||
lib2to3/tests/data/fixers/myfixes
|
||||
endif
|
||||
|
||||
+ifeq (@SQLITE3@,yes)
|
||||
+LIBSUBDIRS += sqlite3
|
||||
+ifeq (@TEST_MODULES@,yes)
|
||||
+LIBSUBDIRS += sqlite3/test
|
||||
+endif
|
||||
+TESTSUBDIRS += sqlite3/test
|
||||
+endif
|
||||
+
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
@ -8,49 +8,49 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
configure.in | 9 +++++++++
|
||||
2 files changed, 19 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -856,7 +856,7 @@
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -934,8 +934,7 @@
|
||||
plat-mac/lib-scriptpackages/SystemEvents \
|
||||
plat-mac/lib-scriptpackages/Terminal
|
||||
plat-mac/lib-scriptpackages/Terminal
|
||||
PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages
|
||||
-LIBSUBDIRS= lib-tk site-packages \
|
||||
-LIBSUBDIRS= lib-tk \
|
||||
- site-packages \
|
||||
+LIBSUBDIRS= site-packages \
|
||||
encodings compiler hotshot \
|
||||
email email/mime \
|
||||
json \
|
||||
@@ -870,8 +870,7 @@
|
||||
@@ -947,9 +946,7 @@
|
||||
lib-old \
|
||||
curses $(MACHDEPS)
|
||||
|
||||
ifeq (@TEST_MODULES@,yes)
|
||||
-LIBSUBDIRS += lib-tk/test lib-tk/test/test_tkinter \
|
||||
- lib-tk/test/test_ttk test test/data \
|
||||
+LIBSUBDIRS += test test/data \
|
||||
test/cjkencodings test/decimaltestdata test/xmltestdata test/subprocessdata \
|
||||
test/tracedmodules email/test email/test/data \
|
||||
json/tests sqlite3/test bsddb/test \
|
||||
@@ -899,6 +898,14 @@
|
||||
endif
|
||||
-TESTSUBDIRS = lib-tk/test lib-tk/test/test_tkinter \
|
||||
- lib-tk/test/test_ttk \
|
||||
- test test/audiodata test/data \
|
||||
+TESTSUBDIRS = test test/audiodata test/data \
|
||||
test/cjkencodings test/decimaltestdata test/xmltestdata test/subprocessdata \
|
||||
test/tracedmodules \
|
||||
email/test email/test/data \
|
||||
@@ -980,6 +977,12 @@
|
||||
TESTSUBDIRS += sqlite3/test
|
||||
endif
|
||||
|
||||
+ifeq (@TK@,yes)
|
||||
+LIBSUBDIRS += lib-tk
|
||||
+ifeq (@TEST_MODULES@,yes)
|
||||
+LIBSUBDIRS += lib-tk/test lib-tk/test/test_tkinter \
|
||||
+TESTSUBDIRS += lib-tk/test lib-tk/test/test_tkinter \
|
||||
+ lib-tk/test/test_ttk
|
||||
+endif
|
||||
+endif
|
||||
+
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
Index: Python-2.7.2/configure.in
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2416,6 +2416,15 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2622,6 +2622,15 @@
|
||||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
|
||||
fi
|
||||
|
@ -8,21 +8,21 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
configure.in | 9 +++++++++
|
||||
2 files changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -867,7 +867,7 @@
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -944,7 +944,7 @@
|
||||
multiprocessing multiprocessing/dummy \
|
||||
unittest \
|
||||
lib-old \
|
||||
- curses $(MACHDEPS)
|
||||
+ $(MACHDEPS)
|
||||
|
||||
ifeq (@TEST_MODULES@,yes)
|
||||
LIBSUBDIRS += test test/data \
|
||||
@@ -906,6 +906,10 @@
|
||||
endif
|
||||
TESTSUBDIRS = test test/audiodata test/data \
|
||||
test/cjkencodings test/decimaltestdata test/xmltestdata test/subprocessdata \
|
||||
@@ -983,6 +983,10 @@
|
||||
lib-tk/test/test_ttk
|
||||
endif
|
||||
|
||||
+ifeq (@CURSES@,yes)
|
||||
@ -32,11 +32,11 @@ Index: Python-2.7.2/Makefile.pre.in
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
Index: Python-2.7.2/configure.in
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2425,6 +2425,15 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2631,6 +2631,15 @@
|
||||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter"
|
||||
fi
|
||||
|
@ -15,20 +15,20 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
setup.py | 2 +-
|
||||
3 files changed, 19 insertions(+), 7 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -863,7 +863,7 @@
|
||||
sqlite3 \
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -940,7 +940,7 @@
|
||||
json \
|
||||
logging bsddb csv importlib wsgiref \
|
||||
ctypes ctypes/macholib idlelib idlelib/Icons \
|
||||
- distutils distutils/command $(XMLLIBSUBDIRS) \
|
||||
- distutils distutils/command $(XMLLIBSUBDIRS) \
|
||||
+ distutils distutils/command \
|
||||
multiprocessing multiprocessing/dummy \
|
||||
unittest \
|
||||
lib-old \
|
||||
@@ -910,6 +910,10 @@
|
||||
@@ -987,6 +987,10 @@
|
||||
LIBSUBDIRS += curses
|
||||
endif
|
||||
|
||||
@ -39,11 +39,11 @@ Index: Python-2.7.2/Makefile.pre.in
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
Index: Python-2.7.2/configure.in
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2102,13 +2102,21 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2278,13 +2278,21 @@
|
||||
AC_SUBST(DISABLED_EXTENSIONS)
|
||||
|
||||
# Check for use of the system expat library
|
||||
@ -70,11 +70,11 @@ Index: Python-2.7.2/configure.in
|
||||
|
||||
# Check for use of the system libffi library
|
||||
AC_MSG_CHECKING(for --with-system-ffi)
|
||||
Index: Python-2.7.2/setup.py
|
||||
Index: b/setup.py
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/setup.py
|
||||
+++ Python-2.7.2/setup.py
|
||||
@@ -1403,7 +1403,7 @@
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -1457,7 +1457,7 @@
|
||||
#
|
||||
# More information on Expat can be found at www.libexpat.org.
|
||||
#
|
@ -6,11 +6,11 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
configure.in | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
Index: Python-2.7.2/configure.in
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2424,6 +2424,12 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2630,6 +2630,12 @@
|
||||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
|
||||
fi
|
||||
|
@ -9,11 +9,11 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
configure.in | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
Index: Python-2.7.2/configure.in
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2430,6 +2430,12 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2636,6 +2636,12 @@
|
||||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk"
|
||||
fi])
|
||||
|
@ -6,11 +6,11 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
configure.in | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
Index: Python-2.7.2/configure.in
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2436,6 +2436,12 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2642,6 +2642,12 @@
|
||||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
|
||||
fi])
|
||||
|
@ -12,47 +12,44 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
configure.in | 22 ++++++++++++++++++++++
|
||||
2 files changed, 30 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
Index: b/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -861,7 +861,7 @@
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -938,7 +938,7 @@
|
||||
encodings compiler hotshot \
|
||||
email email/mime \
|
||||
json \
|
||||
sqlite3 \
|
||||
- logging bsddb csv importlib wsgiref \
|
||||
+ logging csv importlib wsgiref \
|
||||
ctypes ctypes/macholib idlelib idlelib/Icons \
|
||||
distutils distutils/command \
|
||||
multiprocessing multiprocessing/dummy \
|
||||
@@ -873,7 +873,7 @@
|
||||
LIBSUBDIRS += test test/data \
|
||||
test/cjkencodings test/decimaltestdata test/xmltestdata test/subprocessdata \
|
||||
test/tracedmodules email/test email/test/data \
|
||||
- json/tests bsddb/test \
|
||||
+ json/tests \
|
||||
ctypes/test distutils/tests unittest/test
|
||||
endif
|
||||
|
||||
@@ -914,6 +914,13 @@
|
||||
@@ -951,7 +951,6 @@
|
||||
test/tracedmodules \
|
||||
email/test email/test/data \
|
||||
json/tests \
|
||||
- bsddb/test \
|
||||
ctypes/test \
|
||||
distutils/tests \
|
||||
unittest/test
|
||||
@@ -991,6 +990,11 @@
|
||||
LIBSUBDIRS += $(XMLLIBSUBDIRS)
|
||||
endif
|
||||
|
||||
+ifeq (@BSDDB@,yes)
|
||||
+LIBSUBDIRS += bsddb
|
||||
+ifeq (@TEST_MODULES@,yes)
|
||||
+LIBSUBDIRS += bsddb/test
|
||||
+endif
|
||||
+TESTSUBDIRS += bsddb/test
|
||||
+endif
|
||||
+
|
||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||
do \
|
||||
Index: Python-2.7.2/configure.in
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2436,6 +2436,28 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2642,6 +2642,28 @@
|
||||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
|
||||
fi])
|
||||
|
@ -6,11 +6,11 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
configure.in | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
Index: Python-2.7.2/configure.in
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2436,6 +2436,12 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2642,6 +2642,12 @@
|
||||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
|
||||
fi])
|
||||
|
@ -5,11 +5,11 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
configure.in | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
Index: Python-2.7.2/configure.in
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2442,6 +2442,12 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2648,6 +2648,12 @@
|
||||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl"
|
||||
fi])
|
||||
|
@ -5,11 +5,11 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
configure.in | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
Index: Python-2.7.2/configure.in
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2448,6 +2448,12 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2654,6 +2654,12 @@
|
||||
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} bz2"
|
||||
fi])
|
||||
|
@ -1,154 +0,0 @@
|
||||
Add support in Python build system to specify host tools
|
||||
|
||||
Python needs a Python interpreter and a "pgen" program to build
|
||||
itself. Unfortunately, the Python build system assumes that it can use
|
||||
the interpreter and pgen program it has just built to build
|
||||
itself. Obviously, this cannot work in cross-compilation mode since
|
||||
the interpreter and the pgen program have been built for the target.
|
||||
|
||||
Therefore, this patch adds support in the Python build system for the
|
||||
new PYTHON_FOR_BUILD and PGEN_FOR_BUILD variables, so that we can
|
||||
point Python ./configure script to the Python interpreter and pgen
|
||||
program that have been previously built for the host.
|
||||
|
||||
Patch ported to python2.7 by Maxime Ripard <ripard@archos.com>, and
|
||||
later significantly reworked by Thomas Petazzoni
|
||||
<thomas.petazzoni@free-electrons.com>, with some inspiration taken
|
||||
from the Python patches of the PTXdist project.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
Makefile.pre.in | 32 +++++++++++++++++---------------
|
||||
configure.in | 17 +++++++++++++++++
|
||||
2 files changed, 34 insertions(+), 15 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -181,7 +181,8 @@
|
||||
UNICODE_OBJS= @UNICODE_OBJS@
|
||||
|
||||
PYTHON= python$(EXE)
|
||||
-BUILDPYTHON= python$(BUILDEXE)
|
||||
+BUILDPYTHON= ./python$(BUILDEXE)
|
||||
+PYTHON_FOR_BUILD=@PYTHON_FOR_BUILD@
|
||||
|
||||
# The task to run while instrument when building the profile-opt target
|
||||
PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck
|
||||
@@ -213,7 +214,8 @@
|
||||
|
||||
##########################################################################
|
||||
# Parser
|
||||
-PGEN= Parser/pgen$(EXE)
|
||||
+BUILDPGEN= Parser/pgen$(EXE)
|
||||
+PGEN_FOR_BUILD=@PGEN_FOR_BUILD@
|
||||
|
||||
POBJS= \
|
||||
Parser/acceler.o \
|
||||
@@ -407,8 +409,8 @@
|
||||
# Build the shared modules
|
||||
sharedmods: $(BUILDPYTHON)
|
||||
@case $$MAKEFLAGS in \
|
||||
- *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
|
||||
- *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
|
||||
+ *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py -q build;; \
|
||||
+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py build;; \
|
||||
esac
|
||||
|
||||
# Build static library
|
||||
@@ -540,13 +542,13 @@
|
||||
|
||||
# Use a stamp file to prevent make -j invoking pgen twice
|
||||
$(GRAMMAR_H) $(GRAMMAR_C): Parser/pgen.stamp
|
||||
-Parser/pgen.stamp: $(PGEN) $(GRAMMAR_INPUT)
|
||||
+Parser/pgen.stamp: $(PGEN_FOR_BUILD) $(GRAMMAR_INPUT)
|
||||
-@$(INSTALL) -d Include
|
||||
- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
||||
+ $(PGEN_FOR_BUILD) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
||||
-touch Parser/pgen.stamp
|
||||
|
||||
-$(PGEN): $(PGENOBJS)
|
||||
- $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
|
||||
+$(BUILDPGEN): $(PGENOBJS)
|
||||
+ $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(BUILDPGEN)
|
||||
|
||||
Parser/grammar.o: $(srcdir)/Parser/grammar.c \
|
||||
$(srcdir)/Include/token.h \
|
||||
@@ -926,25 +928,25 @@
|
||||
done
|
||||
$(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
|
||||
PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
- ./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
+ $(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST) -f \
|
||||
-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
|
||||
$(DESTDIR)$(LIBDEST)
|
||||
PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
- ./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
+ $(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST) -f \
|
||||
-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
|
||||
$(DESTDIR)$(LIBDEST)
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
- ./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
+ $(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST)/site-packages -f \
|
||||
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
- ./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
+ $(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST)/site-packages -f \
|
||||
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
- ./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
|
||||
+ $(PYTHON_FOR_BUILD) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
|
||||
|
||||
# Create the PLATDIR source directory, if one wasn't distributed..
|
||||
$(srcdir)/Lib/$(PLATDIR):
|
||||
@@ -1049,7 +1051,7 @@
|
||||
# Install the dynamically loadable modules
|
||||
# This goes into $(exec_prefix)
|
||||
sharedinstall: sharedmods
|
||||
- $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
|
||||
+ $(RUNSHARED) $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py install \
|
||||
--prefix=$(prefix) \
|
||||
--install-scripts=$(BINDIR) \
|
||||
--install-platlib=$(DESTSHARED) \
|
||||
@@ -1188,7 +1190,7 @@
|
||||
find . -name '*.gc??' -exec rm -f {} ';'
|
||||
|
||||
clobber: clean profile-removal
|
||||
- -rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
|
||||
+ -rm -f $(BUILDPYTHON) $(BUILDPGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
|
||||
tags TAGS Parser/pgen.stamp \
|
||||
config.cache config.log pyconfig.h Modules/config.c
|
||||
-rm -rf build platform
|
||||
Index: Python-2.7.2/configure.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -4305,6 +4305,23 @@
|
||||
done
|
||||
AC_MSG_RESULT(done)
|
||||
|
||||
+if test "$cross_compiling" = "yes"; then
|
||||
+ AC_MSG_CHECKING(python for build)
|
||||
+ PYTHON_FOR_BUILD="${PYTHON_FOR_BUILD}"
|
||||
+ AC_MSG_RESULT($PYTHON_FOR_BUILD)
|
||||
+ AC_MSG_CHECKING(pgen for build)
|
||||
+ PGEN_FOR_BUILD="${PGEN_FOR_BUILD}"
|
||||
+ AC_MSG_RESULT($PGEN_FOR_BUILD)
|
||||
+else
|
||||
+ PYTHON_FOR_BUILD='$(BUILDPYTHON)'
|
||||
+ PGEN_FOR_BUILD='$(BUILDPGEN)'
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(PYTHON_FOR_BUILD)
|
||||
+AC_SUBST(PGEN_FOR_BUILD)
|
||||
+AC_ARG_VAR(PYTHON_FOR_BUILD,[build system Python])
|
||||
+AC_ARG_VAR(PGEN_FOR_BUILD,[build system Python pgen])
|
||||
+
|
||||
# generate output files
|
||||
AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc)
|
||||
AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix])
|
@ -1,55 +0,0 @@
|
||||
Pass a CROSS_COMPILING variable to setup.py
|
||||
|
||||
The setup.py script in the Python source code plays a significant role
|
||||
in the Python build process. It is responsible for building all the
|
||||
modules and extensions, and due to this, does various checks that need
|
||||
to be adjusted when we are cross-compiling.
|
||||
|
||||
For that reason, this patch makes sure that a CROSS_COMPILING variable
|
||||
is passed in the environment of the setup.py script. Later patches in
|
||||
the stack make use of this variable.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
Makefile.pre.in | 6 +++---
|
||||
configure.in | 3 +++
|
||||
2 files changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -409,8 +409,8 @@
|
||||
# Build the shared modules
|
||||
sharedmods: $(BUILDPYTHON)
|
||||
@case $$MAKEFLAGS in \
|
||||
- *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py -q build;; \
|
||||
- *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py build;; \
|
||||
+ *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py -q build;; \
|
||||
+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py build;; \
|
||||
esac
|
||||
|
||||
# Build static library
|
||||
@@ -1051,7 +1051,7 @@
|
||||
# Install the dynamically loadable modules
|
||||
# This goes into $(exec_prefix)
|
||||
sharedinstall: sharedmods
|
||||
- $(RUNSHARED) $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py install \
|
||||
+ $(RUNSHARED) CROSS_COMPILING=@CROSS_COMPILING@ $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py install \
|
||||
--prefix=$(prefix) \
|
||||
--install-scripts=$(BINDIR) \
|
||||
--install-platlib=$(DESTSHARED) \
|
||||
Index: Python-2.7.2/configure.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -4322,6 +4322,9 @@
|
||||
AC_ARG_VAR(PYTHON_FOR_BUILD,[build system Python])
|
||||
AC_ARG_VAR(PGEN_FOR_BUILD,[build system Python pgen])
|
||||
|
||||
+CROSS_COMPILING=$cross_compiling
|
||||
+AC_SUBST(CROSS_COMPILING)
|
||||
+
|
||||
# generate output files
|
||||
AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc)
|
||||
AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix])
|
@ -1,26 +0,0 @@
|
||||
Disable import check when cross-compiling
|
||||
|
||||
Once Python has compiled an extension (i.e some C code, potentially
|
||||
linked to a library), it tries to import it. This cannot work in
|
||||
cross-compilation mode, so we just disable this check.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
setup.py | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
Index: Python-2.7.2/setup.py
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/setup.py
|
||||
+++ Python-2.7.2/setup.py
|
||||
@@ -304,6 +304,10 @@
|
||||
self.announce('WARNING: skipping import check for Cygwin-based "%s"'
|
||||
% ext.name)
|
||||
return
|
||||
+ if os.environ.get('CROSS_COMPILING') == 'yes':
|
||||
+ self.announce('WARNING: skipping import check for cross compiled "%s"'
|
||||
+ % ext.name)
|
||||
+ return
|
||||
ext_filename = os.path.join(
|
||||
self.build_lib,
|
||||
self.get_ext_filename(self.get_ext_fullname(ext.name)))
|
@ -1,111 +0,0 @@
|
||||
Do not look at host headers/libraries in cross-compile mode
|
||||
|
||||
When we are cross-compiling, setup.py should never look in /usr or
|
||||
/usr/local to find headers or libraries. A later patch adds a
|
||||
mechanism to tell setup.py to look in a specific directory for headers
|
||||
and libraries.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
setup.py | 39 +++++++++++++++++++++------------------
|
||||
1 file changed, 21 insertions(+), 18 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/setup.py
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/setup.py
|
||||
+++ Python-2.7.2/setup.py
|
||||
@@ -373,9 +373,10 @@
|
||||
|
||||
def detect_modules(self):
|
||||
# Ensure that /usr/local is always used
|
||||
- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
|
||||
- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
|
||||
- self.add_multiarch_paths()
|
||||
+ if os.environ.get('CROSS_COMPILING') != 'yes':
|
||||
+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
|
||||
+ add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
|
||||
+ self.add_multiarch_paths()
|
||||
|
||||
# Add paths specified in the environment variables LDFLAGS and
|
||||
# CPPFLAGS for header and library files.
|
||||
@@ -383,10 +384,7 @@
|
||||
# directly since an inconsistently reproducible issue comes up where
|
||||
# the environment variable is not set even though the value were passed
|
||||
# into configure and stored in the Makefile (issue found on OS X 10.3).
|
||||
- for env_var, arg_name, dir_list in (
|
||||
- ('LDFLAGS', '-R', self.compiler.runtime_library_dirs),
|
||||
- ('LDFLAGS', '-L', self.compiler.library_dirs),
|
||||
- ('CPPFLAGS', '-I', self.compiler.include_dirs)):
|
||||
+ for env_var, arg_name, dir_list in ():
|
||||
env_val = sysconfig.get_config_var(env_var)
|
||||
if env_val:
|
||||
# To prevent optparse from raising an exception about any
|
||||
@@ -411,17 +409,6 @@
|
||||
for directory in reversed(options.dirs):
|
||||
add_dir_to_list(dir_list, directory)
|
||||
|
||||
- if os.path.normpath(sys.prefix) != '/usr' \
|
||||
- and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
|
||||
- # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
|
||||
- # (PYTHONFRAMEWORK is set) to avoid # linking problems when
|
||||
- # building a framework with different architectures than
|
||||
- # the one that is currently installed (issue #7473)
|
||||
- add_dir_to_list(self.compiler.library_dirs,
|
||||
- sysconfig.get_config_var("LIBDIR"))
|
||||
- add_dir_to_list(self.compiler.include_dirs,
|
||||
- sysconfig.get_config_var("INCLUDEDIR"))
|
||||
-
|
||||
try:
|
||||
have_unicode = unicode
|
||||
except NameError:
|
||||
@@ -430,11 +417,16 @@
|
||||
# lib_dirs and inc_dirs are used to search for files;
|
||||
# if a file is found in one of those directories, it can
|
||||
# be assumed that no additional -I,-L directives are needed.
|
||||
- lib_dirs = self.compiler.library_dirs + [
|
||||
- '/lib64', '/usr/lib64',
|
||||
- '/lib', '/usr/lib',
|
||||
- ]
|
||||
- inc_dirs = self.compiler.include_dirs + ['/usr/include']
|
||||
+ lib_dirs = self.compiler.library_dirs
|
||||
+ inc_dirs = self.compiler.include_dirs
|
||||
+
|
||||
+ if os.environ.get('CROSS_COMPILING') != 'yes':
|
||||
+ lib_dirs += [
|
||||
+ '/lib64', '/usr/lib64',
|
||||
+ '/lib', '/usr/lib',
|
||||
+ ]
|
||||
+ inc_dirs += ['/usr/include']
|
||||
+
|
||||
exts = []
|
||||
missing = []
|
||||
|
||||
@@ -867,6 +859,9 @@
|
||||
db_inc_paths.append('/pkg/db-3.%d/include' % x)
|
||||
db_inc_paths.append('/opt/db-3.%d/include' % x)
|
||||
|
||||
+ if os.environ.get('CROSS_COMPILING') == 'yes':
|
||||
+ db_inc_paths = []
|
||||
+
|
||||
# Add some common subdirectories for Sleepycat DB to the list,
|
||||
# based on the standard include directories. This way DB3/4 gets
|
||||
# picked up when it is installed in a non-standard prefix and
|
||||
@@ -1019,6 +1014,9 @@
|
||||
MIN_SQLITE_VERSION = ".".join([str(x)
|
||||
for x in MIN_SQLITE_VERSION_NUMBER])
|
||||
|
||||
+ if os.environ.get('CROSS_COMPILING') == 'yes':
|
||||
+ sqlite_inc_paths = []
|
||||
+
|
||||
# Scan the default include directories before the SQLite specific
|
||||
# ones. This allows one to override the copy of sqlite on OSX,
|
||||
# where /usr/include contains an old version of sqlite.
|
||||
@@ -1118,6 +1116,8 @@
|
||||
# the more recent berkeleydb's db.h file first in the include path
|
||||
# when attempting to compile and it will fail.
|
||||
f = "/usr/include/db.h"
|
||||
+ if os.environ.get('CROSS_COMPILING') == 'yes':
|
||||
+ f = ''
|
||||
|
||||
if sys.platform == 'darwin':
|
||||
if is_macosx_sdk_path(f):
|
@ -1,38 +0,0 @@
|
||||
Tell setup.py the location of headers/libraries
|
||||
|
||||
Allow the libraries detection routine to look for headers and libs in
|
||||
other directories than /usr/include or /usr/lib through the
|
||||
environment variables PYTHON_MODULES_INCLUDE and PYTHON_MODULES_LIB.
|
||||
|
||||
We can then use it to look for libraries in the buildroot staging
|
||||
directory.
|
||||
|
||||
Patch ported to python2.7 by Maxime Ripard <ripard@archos.com>
|
||||
---
|
||||
setup.py | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
Index: Python-2.7.2/setup.py
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/setup.py
|
||||
+++ Python-2.7.2/setup.py
|
||||
@@ -372,6 +372,19 @@
|
||||
os.unlink(tmpfile)
|
||||
|
||||
def detect_modules(self):
|
||||
+ try:
|
||||
+ modules_include_dirs = os.environ["PYTHON_MODULES_INCLUDE"].split()
|
||||
+ except KeyError:
|
||||
+ modules_include_dirs = ['/usr/include']
|
||||
+ try:
|
||||
+ modules_lib_dirs = os.environ["PYTHON_MODULES_LIB"].split()
|
||||
+ except KeyError:
|
||||
+ modules_lib_dirs = ['/usr/lib']
|
||||
+ for dir in modules_include_dirs:
|
||||
+ add_dir_to_list(self.compiler.include_dirs, dir)
|
||||
+ for dir in modules_lib_dirs:
|
||||
+ add_dir_to_list(self.compiler.library_dirs, dir)
|
||||
+
|
||||
# Ensure that /usr/local is always used
|
||||
if os.environ.get('CROSS_COMPILING') != 'yes':
|
||||
add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
|
@ -1,102 +0,0 @@
|
||||
Add infrastructure to disable the build of certain extensions
|
||||
|
||||
Some of the extensions part of the Python core have dependencies on
|
||||
external libraries (sqlite, tk, etc.) or are relatively big and not
|
||||
necessarly always useful (CJK codecs for example). By extensions, we
|
||||
mean part of Python modules that are written in C and therefore
|
||||
compiled to binary code.
|
||||
|
||||
Therefore, we introduce a small infrastructure that allows to disable
|
||||
some of those extensions. This can be done inside the configure.in by
|
||||
adding values to the DISABLED_EXTENSIONS variable (which is a
|
||||
word-separated list of extensions).
|
||||
|
||||
The implementation works as follow :
|
||||
|
||||
* configure.in defines a DISABLED_EXTENSIONS variable, which is
|
||||
substituted (so that when Makefile.pre is generated from
|
||||
Makefile.pre.in, the value of the variable is substituted). For
|
||||
now, this DISABLED_EXTENSIONS variable is empty, later patches will
|
||||
use it.
|
||||
|
||||
* Makefile.pre.in passes the DISABLED_EXTENSIONS value down to the
|
||||
variables passed in the environment when calling the setup.py
|
||||
script that actually builds and installs those extensions.
|
||||
|
||||
* setup.py is modified so that the existing "disabled_module_list" is
|
||||
filled with those pre-disabled extensions listed in
|
||||
DISABLED_EXTENSIONS.
|
||||
|
||||
Patch ported to python2.7 by Maxime Ripard <ripard@archos.com>, and
|
||||
then extended by Thomas Petazzoni
|
||||
<thomas.petazzoni@free-electrons.com>.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
Makefile.pre.in | 8 +++++---
|
||||
configure.in | 2 ++
|
||||
setup.py | 5 ++++-
|
||||
3 files changed, 11 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -144,6 +144,8 @@
|
||||
# configure script arguments
|
||||
CONFIG_ARGS= @CONFIG_ARGS@
|
||||
|
||||
+# disabled extensions
|
||||
+DISABLED_EXTENSIONS= @DISABLED_EXTENSIONS@
|
||||
|
||||
# Subdirectories with code
|
||||
SRCDIRS= @SRCDIRS@
|
||||
@@ -409,8 +411,8 @@
|
||||
# Build the shared modules
|
||||
sharedmods: $(BUILDPYTHON)
|
||||
@case $$MAKEFLAGS in \
|
||||
- *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py -q build;; \
|
||||
- *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py build;; \
|
||||
+ *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py -q build;; \
|
||||
+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py build;; \
|
||||
esac
|
||||
|
||||
# Build static library
|
||||
@@ -1051,7 +1053,7 @@
|
||||
# Install the dynamically loadable modules
|
||||
# This goes into $(exec_prefix)
|
||||
sharedinstall: sharedmods
|
||||
- $(RUNSHARED) CROSS_COMPILING=@CROSS_COMPILING@ $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py install \
|
||||
+ $(RUNSHARED) CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py install \
|
||||
--prefix=$(prefix) \
|
||||
--install-scripts=$(BINDIR) \
|
||||
--install-platlib=$(DESTSHARED) \
|
||||
Index: Python-2.7.2/configure.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -2098,6 +2098,8 @@
|
||||
|
||||
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
|
||||
|
||||
+AC_SUBST(DISABLED_EXTENSIONS)
|
||||
+
|
||||
# Check for use of the system expat library
|
||||
AC_MSG_CHECKING(for --with-system-expat)
|
||||
AC_ARG_WITH(system_expat,
|
||||
Index: Python-2.7.2/setup.py
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/setup.py
|
||||
+++ Python-2.7.2/setup.py
|
||||
@@ -21,7 +21,10 @@
|
||||
COMPILED_WITH_PYDEBUG = hasattr(sys, 'gettotalrefcount')
|
||||
|
||||
# This global variable is used to hold the list of modules to be disabled.
|
||||
-disabled_module_list = []
|
||||
+try:
|
||||
+ disabled_module_list = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ")
|
||||
+except KeyError:
|
||||
+ disabled_module_list = list()
|
||||
|
||||
def add_dir_to_list(dirlist, dir):
|
||||
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
|
@ -1,40 +0,0 @@
|
||||
Do not generate .pyo files
|
||||
|
||||
By default, the Python installation byte-compiles all modules in two
|
||||
forms: the normal bytecode (.pyc) and an optimized bytecode (.pyo).
|
||||
|
||||
According to
|
||||
http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html,
|
||||
the optimization do not do anything useful, and generating both the
|
||||
"non-optimized" and "optimized" bytecode variants takes time.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
Makefile.pre.in | 9 ---------
|
||||
1 file changed, 9 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -934,20 +934,11 @@
|
||||
-d $(LIBDEST) -f \
|
||||
-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
|
||||
$(DESTDIR)$(LIBDEST)
|
||||
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
- $(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
- -d $(LIBDEST) -f \
|
||||
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
|
||||
- $(DESTDIR)$(LIBDEST)
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
$(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
-d $(LIBDEST)/site-packages -f \
|
||||
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
- $(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||
- -d $(LIBDEST)/site-packages -f \
|
||||
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
||||
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||
$(PYTHON_FOR_BUILD) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
|
||||
|
||||
# Create the PLATDIR source directory, if one wasn't distributed..
|
@ -1,65 +0,0 @@
|
||||
Make sure setup.py reads the correct CONFIG_ARGS
|
||||
|
||||
The setup.py script that builds and installs all the Python modules
|
||||
shipped with the interpreter looks at the CONFIG_ARGS variable stored
|
||||
in the "sysconfig" module to look at the ./configure options and
|
||||
adjust its behaviour accordingly.
|
||||
|
||||
Unfortunately, when cross-compiling, the value of CONFIG_ARGS returned
|
||||
by the sysconfig are the one passed to the ./configure script of the
|
||||
*host* Python and not the one we're currently building for the target.
|
||||
|
||||
In order to avoid that, we re-initialize the values in the sysconfig
|
||||
module by re-reading the environment at the beginning of the setup.py
|
||||
script, and we make sure that the CONFIG_ARGS variable is actually
|
||||
part of the environment of setup.py.
|
||||
|
||||
See the beginning of
|
||||
http://article.gmane.org/gmane.comp.python.devel/99772 for the
|
||||
inspiration.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
---
|
||||
Makefile.pre.in | 6 +++---
|
||||
setup.py | 3 +++
|
||||
2 files changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -411,8 +411,8 @@
|
||||
# Build the shared modules
|
||||
sharedmods: $(BUILDPYTHON)
|
||||
@case $$MAKEFLAGS in \
|
||||
- *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py -q build;; \
|
||||
- *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py build;; \
|
||||
+ *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" CONFIG_ARGS="$(CONFIG_ARGS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py -q build;; \
|
||||
+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" CONFIG_ARGS="$(CONFIG_ARGS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py build;; \
|
||||
esac
|
||||
|
||||
# Build static library
|
||||
@@ -1044,7 +1044,7 @@
|
||||
# Install the dynamically loadable modules
|
||||
# This goes into $(exec_prefix)
|
||||
sharedinstall: sharedmods
|
||||
- $(RUNSHARED) CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py install \
|
||||
+ $(RUNSHARED) CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" CONFIG_ARGS="$(CONFIG_ARGS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py install \
|
||||
--prefix=$(prefix) \
|
||||
--install-scripts=$(BINDIR) \
|
||||
--install-platlib=$(DESTSHARED) \
|
||||
Index: Python-2.7.2/setup.py
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/setup.py
|
||||
+++ Python-2.7.2/setup.py
|
||||
@@ -20,6 +20,9 @@
|
||||
# Were we compiled --with-pydebug or with #define Py_DEBUG?
|
||||
COMPILED_WITH_PYDEBUG = hasattr(sys, 'gettotalrefcount')
|
||||
|
||||
+sysconfig.get_config_vars()
|
||||
+sysconfig._CONFIG_VARS.update(os.environ)
|
||||
+
|
||||
# This global variable is used to hold the list of modules to be disabled.
|
||||
try:
|
||||
disabled_module_list = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ")
|
@ -1,76 +0,0 @@
|
||||
Change the location of pyconfig.h
|
||||
|
||||
The Python interpreter has a really strange behaviour: at *runtime*,
|
||||
it reads a Makefile and a header file named pyconfig.h to get some
|
||||
information about the configuration.
|
||||
|
||||
The Makefile is located in usr/lib/python2.7/config, which is fine
|
||||
since this location is kept on the target.
|
||||
|
||||
However, by default, the pyconfig.h is installed in
|
||||
usr/include/python2.7, but we completely remove the usr/include
|
||||
directory for the target. Since making an exception just for
|
||||
pyconfig.h is annoying, this patch also installs pyconfig.h to
|
||||
usr/lib/python2.7/config, and modifies the sysconfig module so that it
|
||||
looks in this location instead of usr/include.
|
||||
|
||||
The pyconfig.h is still kept in usr/include/python2.7, because it is
|
||||
needed in the $(STAGING_DIR) when building third-party Python
|
||||
extensions that contain C code.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
---
|
||||
Lib/distutils/sysconfig.py | 3 ++-
|
||||
Lib/sysconfig.py | 2 +-
|
||||
Makefile.pre.in | 3 ++-
|
||||
3 files changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/Lib/distutils/sysconfig.py
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Lib/distutils/sysconfig.py
|
||||
+++ Python-2.7.2/Lib/distutils/sysconfig.py
|
||||
@@ -193,7 +193,8 @@
|
||||
else:
|
||||
inc_dir = project_base
|
||||
else:
|
||||
- inc_dir = get_python_inc(plat_specific=1)
|
||||
+ lib_dir = get_python_lib(plat_specific=1, standard_lib=1)
|
||||
+ inc_dir = os.path.join(lib_dir, "config")
|
||||
if get_python_version() < '2.2':
|
||||
config_h = 'config.h'
|
||||
else:
|
||||
Index: Python-2.7.2/Lib/sysconfig.py
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Lib/sysconfig.py
|
||||
+++ Python-2.7.2/Lib/sysconfig.py
|
||||
@@ -356,7 +356,7 @@
|
||||
else:
|
||||
inc_dir = _PROJECT_BASE
|
||||
else:
|
||||
- inc_dir = get_path('platinclude')
|
||||
+ inc_dir = os.path.join(get_path('stdlib'), "config")
|
||||
return os.path.join(inc_dir, 'pyconfig.h')
|
||||
|
||||
def get_scheme_names():
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -972,7 +972,6 @@
|
||||
echo $(INSTALL_DATA) $$i $(INCLUDEPY); \
|
||||
$(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY); \
|
||||
done
|
||||
- $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h
|
||||
|
||||
# Install the library and miscellaneous stuff needed for extending/embedding
|
||||
# This goes into $(exec_prefix)
|
||||
@@ -1006,6 +1005,8 @@
|
||||
$(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o
|
||||
$(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in
|
||||
$(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile
|
||||
+ $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(LIBPL)/pyconfig.h
|
||||
+ $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h
|
||||
$(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
|
||||
$(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
|
||||
$(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config
|
@ -1,75 +0,0 @@
|
||||
Remove runtime library paths
|
||||
|
||||
For some extensions (bsddb, sqlite and dbm), Python setup.py script
|
||||
hardcode a runtime path (rpath) into the extension. However, this
|
||||
runtime path is incorrect (because it points to the location of the
|
||||
library directory on the development machine) and useless (because on
|
||||
the target, all useful libraries are in a standard directory searched
|
||||
by the dynamic loader). For those reasons, we just get rid of the
|
||||
runtime paths in cross-compilation mode.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
setup.py | 21 ++++++++++++++++++---
|
||||
1 file changed, 18 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/setup.py
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/setup.py
|
||||
+++ Python-2.7.2/setup.py
|
||||
@@ -997,6 +997,12 @@
|
||||
print "bsddb lib dir:", dblib_dir, " inc dir:", db_incdir
|
||||
db_incs = [db_incdir]
|
||||
dblibs = [dblib]
|
||||
+
|
||||
+ if os.environ.get('CROSS_COMPILING') == 'yes':
|
||||
+ bsddb_runtime_library_dir = None
|
||||
+ else:
|
||||
+ bsddb_runtime_library_dir = dblib_dir
|
||||
+
|
||||
# We add the runtime_library_dirs argument because the
|
||||
# BerkeleyDB lib we're linking against often isn't in the
|
||||
# system dynamic library search path. This is usually
|
||||
@@ -1006,7 +1012,7 @@
|
||||
exts.append(Extension('_bsddb', ['_bsddb.c'],
|
||||
depends = ['bsddb.h'],
|
||||
library_dirs=dblib_dir,
|
||||
- runtime_library_dirs=dblib_dir,
|
||||
+ runtime_library_dirs=bsddb_runtime_library_dir,
|
||||
include_dirs=db_incs,
|
||||
libraries=dblibs))
|
||||
else:
|
||||
@@ -1112,12 +1118,17 @@
|
||||
else:
|
||||
sqlite_extra_link_args = ()
|
||||
|
||||
+ if os.environ.get('CROSS_COMPILING') == 'yes':
|
||||
+ sqlite_runtime_library_dirs = None
|
||||
+ else:
|
||||
+ sqlite_runtime_library_dirs = sqlite_libdir
|
||||
+
|
||||
exts.append(Extension('_sqlite3', sqlite_srcs,
|
||||
define_macros=sqlite_defines,
|
||||
include_dirs=["Modules/_sqlite",
|
||||
sqlite_incdir],
|
||||
library_dirs=sqlite_libdir,
|
||||
- runtime_library_dirs=sqlite_libdir,
|
||||
+ runtime_library_dirs=sqlite_runtime_library_dirs,
|
||||
extra_link_args=sqlite_extra_link_args,
|
||||
libraries=["sqlite3",]))
|
||||
else:
|
||||
@@ -1218,9 +1229,13 @@
|
||||
elif cand == "bdb":
|
||||
if db_incs is not None:
|
||||
print "building dbm using bdb"
|
||||
+ if os.environ.get('CROSS_COMPILING') == 'yes':
|
||||
+ db_runtime_library_dir = None
|
||||
+ else:
|
||||
+ db_runtime_library_dir = dblib_dir
|
||||
dbmext = Extension('dbm', ['dbmmodule.c'],
|
||||
library_dirs=dblib_dir,
|
||||
- runtime_library_dirs=dblib_dir,
|
||||
+ runtime_library_dirs=db_runtime_library_dir,
|
||||
include_dirs=db_incs,
|
||||
define_macros=[
|
||||
('HAVE_BERKDB_H', None),
|
@ -1,55 +0,0 @@
|
||||
Use correct mechanism to determine 32/64 bits
|
||||
|
||||
Python setup.py builds certain extensions (dl and imageop) only on 32
|
||||
bits architecture. However, to test whether the architecture is 32
|
||||
bits or not, it was looking at the sys.maxint value of the host Python
|
||||
interpreter... which might run on a 64 bits architecture even though
|
||||
the target is 32 bits, or which might run on a 32 bits architecture
|
||||
even though the target is 64 bits.
|
||||
|
||||
Therefore, we introduce a is_arch_64_bits() function, which looks at
|
||||
the pyconfig.h file generated by ./configure for the value of
|
||||
SIZEOF_LONG to determine if the architecture is 32 or 64 bits.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
setup.py | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: Python-2.7.2/setup.py
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/setup.py
|
||||
+++ Python-2.7.2/setup.py
|
||||
@@ -29,6 +29,14 @@
|
||||
except KeyError:
|
||||
disabled_module_list = list()
|
||||
|
||||
+def is_arch_64_bits():
|
||||
+ data = open('pyconfig.h').read()
|
||||
+ m = re.search(r"#s*define\s+SIZEOF_LONG\s+4\s*", data)
|
||||
+ if m is None:
|
||||
+ return True
|
||||
+ else:
|
||||
+ return False
|
||||
+
|
||||
def add_dir_to_list(dirlist, dir):
|
||||
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
|
||||
1) 'dir' is not already in 'dirlist'
|
||||
@@ -628,7 +636,7 @@
|
||||
exts.append( Extension('audioop', ['audioop.c']) )
|
||||
|
||||
# Disabled on 64-bit platforms
|
||||
- if sys.maxint != 9223372036854775807L:
|
||||
+ if not is_arch_64_bits():
|
||||
# Operations on images
|
||||
exts.append( Extension('imageop', ['imageop.c']) )
|
||||
else:
|
||||
@@ -1444,7 +1452,7 @@
|
||||
missing.append('_codecs_%s' % loc)
|
||||
|
||||
# Dynamic loading module
|
||||
- if sys.maxint == 0x7fffffff:
|
||||
+ if not is_arch_64_bits():
|
||||
# This requires sizeof(int) == sizeof(long) == sizeof(char*)
|
||||
dl_inc = find_file('dlfcn.h', [], inc_dirs)
|
||||
if (dl_inc is not None) and (platform not in ['atheos']):
|
@ -1,24 +0,0 @@
|
||||
Index: Python-2.7.2/configure
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure
|
||||
+++ Python-2.7.2/configure
|
||||
@@ -3007,6 +3007,7 @@
|
||||
darwin*) MACHDEP="darwin";;
|
||||
atheos*) MACHDEP="atheos";;
|
||||
irix646) MACHDEP="irix6";;
|
||||
+ linux*) MACHDEP="linux2";;
|
||||
'') MACHDEP="unknown";;
|
||||
esac
|
||||
fi
|
||||
Index: Python-2.7.2/configure.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/configure.in
|
||||
+++ Python-2.7.2/configure.in
|
||||
@@ -297,6 +297,7 @@
|
||||
darwin*) MACHDEP="darwin";;
|
||||
atheos*) MACHDEP="atheos";;
|
||||
irix646) MACHDEP="irix6";;
|
||||
+ linux*) MACHDEP="linux2";;
|
||||
'') MACHDEP="unknown";;
|
||||
esac
|
||||
fi
|
@ -1,19 +0,0 @@
|
||||
Enables verbose output when building modules
|
||||
|
||||
Patch borrowed from OpenBricks.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: Python-2.7.2/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.2.orig/Makefile.pre.in
|
||||
+++ Python-2.7.2/Makefile.pre.in
|
||||
@@ -411,7 +411,7 @@
|
||||
# Build the shared modules
|
||||
sharedmods: $(BUILDPYTHON)
|
||||
@case $$MAKEFLAGS in \
|
||||
- *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" CONFIG_ARGS="$(CONFIG_ARGS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py -q build;; \
|
||||
+ *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" CONFIG_ARGS="$(CONFIG_ARGS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py build;; \
|
||||
*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" CONFIG_ARGS="$(CONFIG_ARGS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py build;; \
|
||||
esac
|
||||
|
@ -1,125 +0,0 @@
|
||||
Add some cross-compilation fixes to distutils
|
||||
|
||||
Inspired by work done by Marc Kleine-Budde <mkl@pengutronix.de> in
|
||||
PTXdist.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
Lib/distutils/sysconfig.py | 7 ++++---
|
||||
1 files changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: b/Lib/distutils/sysconfig.py
|
||||
===================================================================
|
||||
--- a/Lib/distutils/sysconfig.py
|
||||
+++ b/Lib/distutils/sysconfig.py
|
||||
@@ -18,14 +18,38 @@
|
||||
|
||||
from distutils.errors import DistutilsPlatformError
|
||||
|
||||
-# These are needed in a couple of spots, so just compute them once.
|
||||
-PREFIX = os.path.normpath(sys.prefix)
|
||||
-EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
|
||||
+if os.environ.get('CROSS_COMPILING') == 'yes':
|
||||
+ _sysroot=os.environ.get('_python_sysroot')
|
||||
+ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix'))
|
||||
+ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix'))
|
||||
+ # In the cross-compilation case, we have two cases:
|
||||
+ #
|
||||
+ # 1/ We're currently cross-compiling Python itself. In this case,
|
||||
+ # EXECUTABLE_DIRNAME should point to the source directory of the
|
||||
+ # target Python, so that the rest of the code, especially the
|
||||
+ # _python_build() function will properly understand that we are
|
||||
+ # building Python itself. In this case, _python_srcdir is
|
||||
+ # defined.
|
||||
+ #
|
||||
+ # 2/ We're currently cross-compiling third party Python
|
||||
+ # modules. In this case, EXECUTABLE_DIRNAME should point to where
|
||||
+ # the target python executable is installed in the sysroot, so
|
||||
+ # that the proper Makefile is going to be read. In this case,
|
||||
+ # _python_srcdir is not defined.
|
||||
+ #
|
||||
+ if os.environ.get('_python_srcdir') is not None:
|
||||
+ EXECUTABLE_DIRNAME = os.environ.get('_python_srcdir')
|
||||
+ else:
|
||||
+ EXECUTABLE_DIRNAME = os.path.join(_sysroot, "usr/bin")
|
||||
+else:
|
||||
+ PREFIX = os.path.normpath(sys.prefix)
|
||||
+ EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
|
||||
+ EXECUTABLE_DIRNAME = os.path.dirname(os.path.realpath(sys.executable))
|
||||
|
||||
# Path to the base directory of the project. On Windows the binary may
|
||||
# live in project/PCBuild9. If we're dealing with an x64 Windows build,
|
||||
# it'll live in project/PCbuild/amd64.
|
||||
-project_base = os.path.dirname(os.path.abspath(sys.executable))
|
||||
+project_base = EXECUTABLE_DIRNAME
|
||||
if os.name == "nt" and "pcbuild" in project_base[-8:].lower():
|
||||
project_base = os.path.abspath(os.path.join(project_base, os.path.pardir))
|
||||
# PC/VS7.1
|
||||
@@ -74,7 +98,7 @@
|
||||
|
||||
if os.name == "posix":
|
||||
if python_build:
|
||||
- buildir = os.path.dirname(sys.executable)
|
||||
+ buildir = EXECUTABLE_DIRNAME
|
||||
if plat_specific:
|
||||
# python.h is located in the buildir
|
||||
inc_dir = buildir
|
||||
@@ -245,7 +269,7 @@
|
||||
def get_makefile_filename():
|
||||
"""Return full pathname of installed Makefile from the Python build."""
|
||||
if python_build:
|
||||
- return os.path.join(os.path.dirname(sys.executable), "Makefile")
|
||||
+ return os.path.join(EXECUTABLE_DIRNAME, "Makefile")
|
||||
lib_dir = get_python_lib(plat_specific=1, standard_lib=1)
|
||||
return os.path.join(lib_dir, "config", "Makefile")
|
||||
|
||||
@@ -311,6 +335,11 @@
|
||||
# `$$' is a literal `$' in make
|
||||
tmpv = v.replace('$$', '')
|
||||
|
||||
+ # Adjust prefix and exec_prefix when we're cross compiling
|
||||
+ if os.environ.get('CROSS_COMPILING') == "yes":
|
||||
+ if n == "prefix" or n == "exec_prefix":
|
||||
+ v = _sysroot + v
|
||||
+
|
||||
if "$" in tmpv:
|
||||
notdone[n] = v
|
||||
else:
|
||||
Index: b/configure.in
|
||||
===================================================================
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -4342,6 +4342,20 @@
|
||||
CROSS_COMPILING=$cross_compiling
|
||||
AC_SUBST(CROSS_COMPILING)
|
||||
|
||||
+#
|
||||
+# Cross compiling
|
||||
+#
|
||||
+# special RUNSHARED
|
||||
+if test "$cross_compiling" = "yes"; then
|
||||
+ RUNSHARED="\
|
||||
+ CROSS_COMPILING=yes \
|
||||
+ _python_cross_host=${ac_cv_host} \
|
||||
+ _python_srcdir=\"\$(srcdir)\" \
|
||||
+ _python_prefix=\"\$(prefix)\" \
|
||||
+ _python_exec_prefix=\"\$(exec_prefix)\""
|
||||
+fi
|
||||
+
|
||||
+
|
||||
# generate output files
|
||||
AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc)
|
||||
AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix])
|
||||
Index: b/Lib/distutils/command/build_ext.py
|
||||
===================================================================
|
||||
--- a/Lib/distutils/command/build_ext.py
|
||||
+++ b/Lib/distutils/command/build_ext.py
|
||||
@@ -237,7 +237,7 @@
|
||||
if ((sys.platform.startswith('linux') or sys.platform.startswith('gnu')
|
||||
or sys.platform.startswith('sunos'))
|
||||
and sysconfig.get_config_var('Py_ENABLE_SHARED')):
|
||||
- if sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")):
|
||||
+ if not sysconfig.python_build:
|
||||
# building third party extensions
|
||||
self.library_dirs.append(sysconfig.get_config_var('LIBDIR'))
|
||||
else:
|
@ -1,15 +0,0 @@
|
||||
Disable buggy_getaddrinfo configure test when cross-compiling with IPv6 support
|
||||
|
||||
Signed-off-by: Vanya Sergeev <vsergeev at gmail.com>
|
||||
|
||||
--- python-2.7.2.orig/configure.in 2012-04-22 06:52:09.361809545 -0400
|
||||
+++ python-2.7.2/configure.in 2012-04-22 06:56:37.900634194 -0400
|
||||
@@ -3128,7 +3128,7 @@
|
||||
|
||||
AC_MSG_RESULT($ac_cv_buggy_getaddrinfo)
|
||||
|
||||
-if test $have_getaddrinfo = no -o "$ac_cv_buggy_getaddrinfo" = yes
|
||||
+if test $have_getaddrinfo = no || test "$cross_compiling" != "yes" -a "$ac_cv_buggy_getaddrinfo" = yes
|
||||
then
|
||||
if test $ipv6 = yes
|
||||
then
|
@ -5,16 +5,15 @@
|
||||
################################################################################
|
||||
|
||||
PYTHON_VERSION_MAJOR = 2.7
|
||||
PYTHON_VERSION = $(PYTHON_VERSION_MAJOR).3
|
||||
PYTHON_VERSION = $(PYTHON_VERSION_MAJOR).6
|
||||
PYTHON_SOURCE = Python-$(PYTHON_VERSION).tar.xz
|
||||
PYTHON_SITE = http://python.org/ftp/python/$(PYTHON_VERSION)
|
||||
PYTHON_LICENSE = Python software foundation license v2, others
|
||||
PYTHON_LICENSE_FILES = LICENSE
|
||||
|
||||
# Python needs itself and a "pgen" program to build itself, both being
|
||||
# provided in the Python sources. So in order to cross-compile Python,
|
||||
# we need to build a host Python first. This host Python is also
|
||||
# installed in $(HOST_DIR), as it is needed when cross-compiling
|
||||
# Python needs itself to be built, so in order to cross-compile
|
||||
# Python, we need to build a host Python first. This host Python is
|
||||
# also installed in $(HOST_DIR), as it is needed when cross-compiling
|
||||
# third-party Python modules.
|
||||
|
||||
HOST_PYTHON_CONF_OPT += \
|
||||
@ -32,12 +31,8 @@ HOST_PYTHON_CONF_OPT += \
|
||||
--disable-bsddb \
|
||||
--disable-test-modules \
|
||||
--disable-bz2 \
|
||||
--disable-ssl
|
||||
|
||||
HOST_PYTHON_MAKE_ENV = \
|
||||
PYTHON_MODULES_INCLUDE=$(HOST_DIR)/usr/include \
|
||||
PYTHON_MODULES_LIB="$(HOST_DIR)/lib $(HOST_DIR)/usr/lib"
|
||||
|
||||
--disable-ssl \
|
||||
--disable-pyo-build
|
||||
|
||||
# Building host python in parallel sometimes triggers a "Bus error"
|
||||
# during the execution of "./python setup.py build" in the
|
||||
@ -51,12 +46,6 @@ PYTHON_DEPENDENCIES = host-python libffi
|
||||
|
||||
HOST_PYTHON_DEPENDENCIES = host-expat host-zlib
|
||||
|
||||
define HOST_PYTHON_INSTALL_PGEN
|
||||
$(INSTALL) -m0755 -D $(@D)/Parser/pgen $(HOST_DIR)/usr/bin/python-pgen
|
||||
endef
|
||||
|
||||
HOST_PYTHON_POST_INSTALL_HOOKS += HOST_PYTHON_INSTALL_PGEN
|
||||
|
||||
PYTHON_INSTALL_STAGING = YES
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PYTHON_READLINE),y)
|
||||
@ -124,14 +113,9 @@ PYTHON_DEPENDENCIES += openssl
|
||||
endif
|
||||
|
||||
PYTHON_CONF_ENV += \
|
||||
PYTHON_FOR_BUILD=$(HOST_DIR)/usr/bin/python \
|
||||
PGEN_FOR_BUILD=$(HOST_DIR)/usr/bin/python-pgen \
|
||||
ac_cv_have_long_long_format=yes
|
||||
|
||||
PYTHON_MAKE_ENV += \
|
||||
_python_sysroot=$(STAGING_DIR) \
|
||||
PYTHON_MODULES_INCLUDE=$(STAGING_DIR)/usr/include \
|
||||
PYTHON_MODULES_LIB="$(STAGING_DIR)/lib $(STAGING_DIR)/usr/lib"
|
||||
ac_cv_have_long_long_format=yes \
|
||||
ac_cv_file__dev_ptmx=yes \
|
||||
ac_cv_file__dev_ptc=yes
|
||||
|
||||
PYTHON_CONF_OPT += \
|
||||
--without-cxx-main \
|
||||
@ -143,7 +127,18 @@ PYTHON_CONF_OPT += \
|
||||
--disable-gdbm \
|
||||
--disable-tk \
|
||||
--disable-nis \
|
||||
--disable-dbm
|
||||
--disable-dbm \
|
||||
--disable-pyo-build
|
||||
|
||||
# This is needed to make sure the Python build process doesn't try to
|
||||
# regenerate those files with the pgen program. Otherwise, it builds
|
||||
# pgen for the target, and tries to run it on the host.
|
||||
|
||||
define PYTHON_TOUCH_GRAMMAR_FILES
|
||||
touch $(@D)/Include/graminit.h $(@D)/Python/graminit.c
|
||||
endef
|
||||
|
||||
PYTHON_POST_PATCH_HOOKS += PYTHON_TOUCH_GRAMMAR_FILES
|
||||
|
||||
#
|
||||
# Remove useless files. In the config/ directory, only the Makefile
|
||||
@ -168,7 +163,7 @@ PYTHON_POST_INSTALL_TARGET_HOOKS += PYTHON_REMOVE_USELESS_FILES
|
||||
PYTHON_AUTORECONF = YES
|
||||
|
||||
# Provided to other packages
|
||||
PYTHON_PATH = $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/
|
||||
PYTHON_PATH = $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/sysconfigdata/:$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/
|
||||
|
||||
$(eval $(autotools-package))
|
||||
$(eval $(host-autotools-package))
|
||||
|
Loading…
Reference in New Issue
Block a user