python-sip: Compile with -fpic
[packages.git] / lang / python-sip / Makefile
1 #
2 # Copyright (C) 2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=python-sip
11 PKG_VERSION:=4.10.5
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=sip-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=http://www.riverbankcomputing.co.uk/static/Downloads/sip4
16 PKG_MD5SUM:=0a591ef6e59aa16e56822d3eb9fe21b8
17 PKG_INSTALL:=1
18 PKG_BUILD_PARALLEL:=1
19 HOST_BUILD_PARALLEL:=1
20 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/sip-$(PKG_VERSION)
21 PKG_BUILD_DIR:=$(BUILD_DIR)/sip-$(PKG_VERSION)
22
23 include $(INCLUDE_DIR)/host-build.mk
24 include $(INCLUDE_DIR)/package.mk
25 $(call include_mk, python-package.mk)
26 -include $(if $(DUMP),,./files/python-sip-package.mk)
27
28 define Package/python-sip
29   SECTION:=devel
30   CATEGORY:=Development
31   TITLE:=Python SIP
32   DEPENDS:=+python
33   MAINTAINER:=Michael Buesch <mb@bu3sch.de>
34   URL:=http://www.riverbankcomputing.co.uk/software/sip/download
35 endef
36
37
38 # ===> TARGET <===
39
40 EXTRA_CFLAGS:=\
41         $(FPIC)
42
43 define Build/Configure
44         $(INSTALL_DIR) "$(PYTHON_SIP_CONFIG_TEMPLATE_DIR)"; \
45         $(CP) ./files/sipconfig.macros.template "$(PYTHON_SIP_CONFIG_TEMPLATE)"; \
46         echo "CC                        $(TARGET_CROSS)gcc" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
47         echo "CFLAGS                    $(TARGET_CFLAGS) $(EXTRA_CFLAGS)" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
48         echo "CXX                       $(TARGET_CROSS)g++" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
49         echo "CXXFLAGS                  $(TARGET_CFLAGS) $(EXTRA_CFLAGS)" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
50         echo "LINK                      $(TARGET_CROSS)g++" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
51         echo "LINK_SHLIB                $(TARGET_CROSS)g++" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
52         echo "LFLAGS                    $(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
53         echo "AR                        $(TARGET_CROSS)ar cqs" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
54         echo "STRIP                     $(STRIP)" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
55         (       cd "$(PKG_BUILD_DIR)"; \
56                 export PYTHONDONTWRITEBYTECODE=1; \
57                 python -E ./configure.py \
58                         --bindir=$(PKG_INSTALL_DIR)/usr/bin \
59                         --destdir=$(PKG_INSTALL_DIR)/$(PYTHON_PKG_DIR) \
60                         --incdir=$(PKG_INSTALL_DIR)/usr/include \
61                         --sipdir=$(PKG_INSTALL_DIR)/usr/share/sip \
62                         --sipconfig-macros="$(PYTHON_SIP_CONFIG_TEMPLATE)" \
63         )
64 endef
65
66 define Build/Compile
67         $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
68                 CC="$(TARGET_CROSS)gcc" \
69                 CXX="$(TARGET_CROSS)g++" \
70                 LINK="$(TARGET_CROSS)g++" \
71                 CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
72                 CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)"
73 endef
74
75 define Build/InstallDev
76         $(INSTALL_DIR) $(1)/mk
77         $(INSTALL_DATA) ./files/python-sip-package.mk $(1)/mk/
78 endef
79
80 define Build/Install
81         $(MAKE) -C $(PKG_BUILD_DIR) \
82                 CC="$(TARGET_CROSS)gcc" \
83                 CXX="$(TARGET_CROSS)g++" \
84                 LINK="$(TARGET_CROSS)g++" \
85                 CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
86                 CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
87                 DESTDIR="" \
88                 install
89 endef
90
91 define Package/python-sip/install
92         # We only install the python module for now...
93         $(INSTALL_DIR) $(1)/$(PYTHON_PKG_DIR)
94         $(CP) $(PKG_INSTALL_DIR)/$(PYTHON_PKG_DIR)/* $(1)/$(PYTHON_PKG_DIR)
95 endef
96
97
98 # ===> HOST <===
99
100 define Host/Configure
101         (       cd "$(HOST_BUILD_DIR)"; \
102                 export PYTHONDONTWRITEBYTECODE=1; \
103                 python -E ./configure.py \
104                         --bindir=$(STAGING_DIR_HOST)/usr/bin \
105                         --destdir=$(STAGING_DIR_HOST)/$(PYTHON_PKG_DIR) \
106                         --incdir=$(STAGING_DIR_HOST)/usr/include \
107                         --sipdir=$(STAGING_DIR_HOST)/usr/share/sip \
108         )
109 endef
110
111 define Host/Compile
112         $(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) \
113                 CC="$(HOSTCC)" \
114                 CXX="g++" \
115                 LINK="g++" \
116                 CFLAGS="$(HOST_CFLAGS)" \
117                 CXXFLAGS="$(HOST_CFLAGS)"
118 endef
119
120 define Host/Install
121         $(MAKE) -C $(HOST_BUILD_DIR) \
122                 CC="$(HOSTCC)" \
123                 CXX="g++" \
124                 LINK="g++" \
125                 CFLAGS="$(HOST_CFLAGS)" \
126                 CXXFLAGS="$(HOST_CFLAGS)" \
127                 install
128 endef
129
130 #TODO check for host python-dev headers.
131
132 $(eval $(call RequireCommand,python, \
133         Please install Python 2.x \
134 ))
135
136 $(eval $(call HostBuild))
137 $(eval $(call BuildPackage,python-sip))