aboutsummaryrefslogtreecommitdiff
path: root/tools/depends/target/python3/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tools/depends/target/python3/Makefile')
-rw-r--r--tools/depends/target/python3/Makefile34
1 files changed, 23 insertions, 11 deletions
diff --git a/tools/depends/target/python3/Makefile b/tools/depends/target/python3/Makefile
index 6d9859a4ef..d6b427e35a 100644
--- a/tools/depends/target/python3/Makefile
+++ b/tools/depends/target/python3/Makefile
@@ -2,8 +2,10 @@ include ../../Makefile.include PYTHON3-VERSION ../../download-files.include
DEPS = ../../Makefile.include Makefile PYTHON3-VERSION ../../download-files.include \
apple.patch \
crosscompile.patch \
- android.patch \
darwin_embedded.patch \
+ 10-android-modules.patch \
+ 10-linux-modules.patch \
+ 10-osx-modules.patch \
modules.setup
ifeq ($(findstring apple-darwin, $(HOST)), apple-darwin)
@@ -15,8 +17,17 @@ ifeq ($(findstring apple-darwin, $(HOST)), apple-darwin)
ac_cv_func_setpriority=no ac_cv_func_sendfile=no ac_cv_header_sched_h=no \
ac_cv_func_posix_spawn=no ac_cv_func_posix_spawnp=no \
ac_cv_func_forkpty=no ac_cv_lib_util_forkpty=no \
- ac_cv_func_getgroups=no
+ ac_cv_func_getgroups=no \
+ ac_cv_func_system=no
endif
+ # required for _localemodule
+ EXTRA_CONFIGURE+= ac_cv_lib_intl_textdomain=yes
+ # uses SDK ffi
+ EXTRA_CONFIGURE+= --with-system-ffi
+endif
+
+ifeq ($(OS),android)
+ LDFLAGS+= -liconv
endif
ifeq ($(OS), linux)
@@ -30,8 +41,13 @@ CONFIGURE=./configure --prefix=$(PREFIX) \
--disable-framework \
--without-pymalloc \
--enable-ipv6 \
+ --with-build-python=$(NATIVEPREFIX)/bin/python3 \
+ --with-system-expat=yes \
+ --disable-test-modules \
+ MODULE_BUILDTYPE=static \
$(EXTRA_CONFIGURE)
+export LDFLAGS
LIBDYLIB=$(PLATFORM)/libpython$(PYTHON_VERSION).a
@@ -41,35 +57,31 @@ $(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../crosscompile.patch
- cd $(PLATFORM); patch -p1 -i ../android.patch
cd $(PLATFORM); patch -p1 -i ../apple.patch
ifeq ($(OS),darwin_embedded)
cd $(PLATFORM); patch -p1 -i ../darwin_embedded.patch
endif
cp modules.setup $(PLATFORM)/Modules/Setup
-#Add -liconv as needed, and add the _scproxy module for darwin
-# disable locale altogether for Android
ifeq ($(OS),android)
- cd $(PLATFORM); sed -ie 's|_locale -DPy_BUILD_CORE_BUILTIN _localemodule.c -lintl \$$(LINK_ICONV)|#_locale -DPy_BUILD_CORE_BUILTIN _localemodule.c -lintl \$$(LINK_ICONV)|' Modules/Setup
+ cd $(PLATFORM); patch -p1 -i ../10-android-modules.patch
endif
ifeq ($(OS),linux)
- # _posixshmem module requires librt for linux for SHM_OPEN/SHM_UNLINK
- cd $(PLATFORM); sed -ie 's|# -lrt # _posixshmem|-lrt # _posixshmem|' Modules/Setup
+ cd $(PLATFORM); patch -p1 -i ../10-linux-modules.patch
endif
ifeq ($(OS),osx)
- cd $(PLATFORM); sed -ie 's|\$$(OSX_SCPROXY)|_scproxy \$$(srcdir)/Modules/_scproxy.c -framework SystemConfiguration -framework CoreFoundation|' Modules/Setup
+ cd $(PLATFORM); patch -p1 -i ../10-osx-modules.patch
endif
cd $(PLATFORM); $(AUTORECONF)
cd $(PLATFORM); $(CONFIGURE)
$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM) $(HOSTPLATFORM) PYTHON_FOR_BUILD=$(NATIVEPREFIX)/bin/python3 CROSS_COMPILE_TARGET=yes libpython$(PYTHON_VERSION).a
+ $(MAKE) -C $(PLATFORM) $(HOSTPLATFORM) CROSS_COMPILE_TARGET=yes libpython$(PYTHON_VERSION).a
touch $@
.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) $(HOSTPLATFORM) PYTHON_FOR_BUILD=$(NATIVEPREFIX)/bin/python3 CROSS_COMPILE_TARGET=yes install
+ $(MAKE) -C $(PLATFORM) $(HOSTPLATFORM) CROSS_COMPILE_TARGET=yes install
find $(PREFIX)/lib/python$(PYTHON_VERSION) -type f -name "*.pyc" -delete
touch $(LIBDYLIB)
touch $@