fix python compile error (#1455)
[openwrt/svn-archive/archive.git] / lang / python / Makefile
1 #
2 # Copyright (C) 2006 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id$
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=python
12 PKG_VERSION:=2.4.4
13 PKG_RELEASE:=1
14
15 PKG_SOURCE:=Python-$(PKG_VERSION).tar.bz2
16 PKG_SOURCE_URL:=http://www.python.org/ftp/python/2.4.4/
17 PKG_MD5SUM:=0ba90c79175c017101100ebf5978e906
18 PKG_CAT:=bzcat
19
20 PKG_BUILD_DIR:=$(BUILD_DIR)/Python-$(PKG_VERSION)
21 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Package/python
26 SECTION:=lang
27 CATEGORY:=Languages
28 DEPENDS:=+uclibcxx
29 TITLE:=Python programming language
30 URL:=http://www.python.org/
31 endef
32
33 define Package/python/description
34 Python programming language
35 Python is a dynamic object-oriented programming language that
36 can be used for many kinds of software development. It offers
37 strong support for integration with other languages and tools,
38 comes with extensive standard libraries, and can be learned in a
39 few days. Many Python programmers report substantial productivity
40 gains and feel the language encourages the development of higher
41 quality, more maintainable code.
42 endef
43
44 define Build/Configure
45 (cd $(PKG_BUILD_DIR); \
46 CONFIG_SITE= \
47 ./configure --with-threads=no; \
48 $(MAKE) python Parser/pgen; \
49 mv python hostpython; \
50 mv Parser/pgen Parser/hostpgen; \
51 make distclean; \
52 echo "import sys" > $(PKG_BUILD_DIR)/setup.py.new; \
53 echo "sys.path.append('$(PKG_BUILD_DIR)/Lib')" >> $(PKG_BUILD_DIR)/setup.py.new; \
54 cat $(PKG_BUILD_DIR)/setup.py >> $(PKG_BUILD_DIR)/setup.py.new; \
55 mv $(PKG_BUILD_DIR)/setup.py.new $(PKG_BUILD_DIR)/setup.py; \
56 );
57 $(call Build/Configure/Default, \
58 --disable-shared \
59 --sysconfdir=/etc \
60 --with-threads=no, \
61 HOSTPYTHON=./hostpython \
62 HOSTPGEN=./Parser/hostpgen \
63 )
64 endef
65
66 MAKE_OPTS:=\
67 $(TARGET_CONFIGURE_OPTS) \
68 CFLAGS="$(TARGET_CFLAGS)" \
69 CROSS_COMPILE=yes \
70 LD="$(TARGET_CC)" \
71 BLDSHARED="$(TARGET_CC) -shared -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
72 HOSTPYTHON=./hostpython \
73 HOSTPGEN=./Parser/hostpgen
74
75 define Build/Compile
76 $(MAKE) -C $(PKG_BUILD_DIR) \
77 $(MAKE_OPTS) \
78 DESTDIR="$(PKG_INSTALL_DIR)" \
79 all install
80 endef
81
82 define Build/InstallDev
83 mkdir -p $(STAGING_DIR)/usr/bin
84 $(CP) $(PKG_BUILD_DIR)/hostpython $(STAGING_DIR)/usr/bin/
85 mkdir -p $(STAGING_DIR)/usr/include
86 $(CP) $(PKG_INSTALL_DIR)/usr/include/python2.4 $(STAGING_DIR)/usr/include/
87 mkdir -p $(STAGING_DIR)/usr/lib
88 $(CP) $(PKG_INSTALL_DIR)/usr/lib/python2.4 $(STAGING_DIR)/usr/lib/
89 endef
90
91 define Build/UninstallDev
92 rm -rf \
93 $(STAGING_DIR)/usr/{include,lib}/python2.4
94 endef
95
96 define Package/python/install
97 $(INSTALL_DIR) $(1)/usr/bin
98 $(CP) $(PKG_INSTALL_DIR)/usr/bin/python2.4 $(1)/usr/bin/
99 ln -sf python2.4 $(1)/usr/bin/python
100 $(INSTALL_DIR) $(1)/usr/lib
101 $(CP) $(PKG_INSTALL_DIR)/usr/lib/python2.4 $(1)/usr/lib/
102 rm -rf \
103 $(1)/usr/lib/python2.4/bsddb/test \
104 $(1)/usr/lib/python2.4/distutils/tests \
105 $(1)/usr/lib/python2.4/email/test \
106 $(1)/usr/lib/python2.4/idlelib \
107 $(1)/usr/lib/python2.4/lib-tk \
108 $(1)/usr/lib/python2.4/test \
109
110 endef
111
112 $(eval $(call BuildPackage,python))