source: packages/lang/python-sip/Makefile @ 23484

Last change on this file since 23484 was 23484, checked in by mb, 6 years ago

python-sip: Compile with -fpic

File size: 3.8 KB
Line 
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
8include $(TOPDIR)/rules.mk
9
10PKG_NAME:=python-sip
11PKG_VERSION:=4.10.5
12PKG_RELEASE:=1
13
14PKG_SOURCE:=sip-$(PKG_VERSION).tar.gz
15PKG_SOURCE_URL:=http://www.riverbankcomputing.co.uk/static/Downloads/sip4
16PKG_MD5SUM:=0a591ef6e59aa16e56822d3eb9fe21b8
17PKG_INSTALL:=1
18PKG_BUILD_PARALLEL:=1
19HOST_BUILD_PARALLEL:=1
20HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/sip-$(PKG_VERSION)
21PKG_BUILD_DIR:=$(BUILD_DIR)/sip-$(PKG_VERSION)
22
23include $(INCLUDE_DIR)/host-build.mk
24include $(INCLUDE_DIR)/package.mk
25$(call include_mk, python-package.mk)
26-include $(if $(DUMP),,./files/python-sip-package.mk)
27
28define 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
35endef
36
37
38# ===> TARGET <===
39
40EXTRA_CFLAGS:=\
41        $(FPIC)
42
43define 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        )
64endef
65
66define 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)"
73endef
74
75define Build/InstallDev
76        $(INSTALL_DIR) $(1)/mk
77        $(INSTALL_DATA) ./files/python-sip-package.mk $(1)/mk/
78endef
79
80define 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
89endef
90
91define 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)
95endef
96
97
98# ===> HOST <===
99
100define 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        )
109endef
110
111define 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)"
118endef
119
120define 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
128endef
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))
Note: See TracBrowser for help on using the repository browser.