summaryrefslogtreecommitdiffstats
path: root/rules/python3.make
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2010-04-19 20:50:16 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2010-04-21 07:30:03 +0200
commit6c79cb5ac373b1cccf531e8be3ed1b9722ed1622 (patch)
tree4b51ce4c13129450c7abb96883a1407e8a7d9638 /rules/python3.make
parent12aab9286219400de76c73ae6a33eb4495253b20 (diff)
downloadptxdist-6c79cb5ac373b1cccf531e8be3ed1b9722ed1622.tar.gz
ptxdist-6c79cb5ac373b1cccf531e8be3ed1b9722ed1622.tar.xz
[python3] create a separate python3 package
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'rules/python3.make')
-rw-r--r--rules/python3.make146
1 files changed, 146 insertions, 0 deletions
diff --git a/rules/python3.make b/rules/python3.make
new file mode 100644
index 000000000..c819fae2f
--- /dev/null
+++ b/rules/python3.make
@@ -0,0 +1,146 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2009 by Marc Kleine-Budde <mkl@pengutronix.de>
+# 2010 by Michael Olbrich <m.olbrich@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_PYTHON3) += python3
+
+#
+# Paths and names
+#
+PYTHON3_VERSION := 3.1.2
+PYTHON3_MAJORMINOR := 3.1
+PYTHON3 := Python-$(PYTHON3_VERSION)
+PYTHON3_SUFFIX := tar.bz2
+PYTHON3_SOURCE := $(SRCDIR)/$(PYTHON3).$(PYTHON3_SUFFIX)
+PYTHON3_DIR := $(BUILDDIR)/$(PYTHON3)
+
+PYTHON3_URL := \
+ http://python.org/ftp/python3/$(PYTHON3_VERSION)/$(PYTHON3).$(PYTHON3_SUFFIX) \
+ http://python.org/ftp/python3/$(PYTHON3_MAJORMINOR)/$(PYTHON3).$(PYTHON3_SUFFIX)
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+$(PYTHON3_SOURCE):
+ @$(call targetinfo)
+ @$(call get, PYTHON3)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+PYTHON3_PATH := PATH=$(CROSS_PATH)
+PYTHON3_ENV := \
+ $(CROSS_ENV) \
+ PYTHON3_FOR_BUILD=$(PTXCONF_SYSROOT_HOST)/bin/python$(PYTHON3_MAJORMINOR) \
+ ac_cv_have_chflags=no \
+ ac_cv_have_lchflags=no \
+ ac_cv_py_format_size_t=yes \
+ ac_cv_broken_sem_getvalue=no
+
+PYTHON3_BINCONFIG_GLOB := ""
+
+#
+# autoconf
+#
+PYTHON3_AUTOCONF := \
+ $(CROSS_AUTOCONF_USR) \
+ --enable-shared \
+ --with-cyclic-gc \
+ --with-pymalloc \
+ --with-signal-module \
+ --with-threads \
+ --with-wctype-functions \
+ --without-cxx
+
+PYTHON3_MAKEVARS := \
+ PGEN_FOR_BUILD=$(PTXCONF_SYSROOT_HOST)/bin/pgen
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/python3.install.post:
+ @$(call targetinfo)
+ @$(call world/install.post, PYTHON3)
+
+ @cp "$(PYTHON3_DIR)/cross-python-wrapper" "$(PTXCONF_SYSROOT_CROSS)/bin/python$(PYTHON3_MAJORMINOR)"
+ @chmod a+x "$(PTXCONF_SYSROOT_CROSS)/bin/python$(PYTHON3_MAJORMINOR)"
+ @ln -sf "python$(PYTHON3_MAJORMINOR)" \
+ "$(PTXCONF_SYSROOT_CROSS)/bin/python3"
+
+ @echo "#!/bin/sh" \
+ > "$(PTXCONF_SYSROOT_CROSS)/bin/python$(PYTHON3_MAJORMINOR)-config"
+ @echo "exec \
+ \"$(PTXCONF_SYSROOT_CROSS)/bin/python$(PYTHON3_MAJORMINOR)\" \
+ \"$(PTXCONF_SYSROOT_HOST)/bin/python$(PYTHON3_MAJORMINOR)-config\" \
+ \"\$${@}\"" \
+ >> "$(PTXCONF_SYSROOT_CROSS)/bin/python$(PYTHON3_MAJORMINOR)-config"
+ @chmod a+x "$(PTXCONF_SYSROOT_CROSS)/bin/python$(PYTHON3_MAJORMINOR)-config"
+ @ln -sf "python$(PYTHON3_MAJORMINOR)-config" \
+ "$(PTXCONF_SYSROOT_CROSS)/bin/python3-config"
+
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+PYTHON3_SKIP-$(call ptx/opt-dis, PTXCONF_PYTHON3_LIBTK) += lib-tk
+PYTHON3_SKIP-$(call ptx/opt-dis, PTXCONF_PYTHON3_IDLELIB) += idlelib
+PYTHON3_SKIP-$(call ptx/opt-dis, PTXCONF_PYTHON3_DISTUTILS) += distutils
+
+ifneq ($(PYTHON3_SKIP-y),)
+PYTHON3_SKIP_LIST_PRE :=-a \! -wholename $(quote)*/
+PYTHON3_SKIP_LIST_POST :=/*$(quote)
+
+PYTHON3_SKIP_LIST := $(subst $(space),$(PYTHON3_SKIP_LIST_POST) $(PYTHON3_SKIP_LIST_PRE),$(PYTHON3_SKIP-y))
+PYTHON3_SKIP_LIST := $(PYTHON3_SKIP_LIST_PRE)$(PYTHON3_SKIP_LIST)$(PYTHON3_SKIP_LIST_POST)
+endif
+
+$(STATEDIR)/python3.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, python3)
+ @$(call install_fixup, python3,PACKAGE,python3)
+ @$(call install_fixup, python3,PRIORITY,optional)
+ @$(call install_fixup, python3,VERSION,$(PYTHON3_VERSION))
+ @$(call install_fixup, python3,SECTION,base)
+ @$(call install_fixup, python3,AUTHOR,"Marc Kleine-Budde <mkl@pengutronix.de>")
+ @$(call install_fixup, python3,DEPENDS,)
+ @$(call install_fixup, python3,DESCRIPTION,missing)
+
+ @cd $(PYTHON3_PKGDIR) && \
+ find ./usr/lib/python$(PYTHON3_MAJORMINOR) \
+ \! -wholename "*/test/*" -a \! -wholename "*/tests/*" \
+ $(PYTHON3_SKIP_LIST) \
+ -a \( -name "*.so" -o -name "*.pyc" \) | \
+ while read file; do \
+ $(call install_copy, python3, 0, 0, 644, -, $${file##.}); \
+ done
+
+ @$(call install_copy, python3, 0, 0, 755, -, /usr/bin/python$(PYTHON3_MAJORMINOR))
+ @$(call install_copy, python3, 0, 0, 644, -, /usr/lib/libpython$(PYTHON3_MAJORMINOR).so.1.0)
+ @$(call install_link, python3, libpython$(PYTHON3_MAJORMINOR).so.1.0, \
+ /usr/lib/libpython$(PYTHON3_MAJORMINOR).so)
+
+ifdef PTXCONF_PYTHON3_SYMLINK
+ @$(call install_link, python3, python$(PYTHON3_MAJORMINOR), /usr/bin/python3)
+endif
+
+ @$(call install_finish, python3)
+
+ @$(call touch)
+
+# vim: syntax=make