Add SIP C/C++ Bindings Generator for Python
[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 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/sip-$(PKG_VERSION)
19 PKG_BUILD_DIR:=$(BUILD_DIR)/sip-$(PKG_VERSION)
20
21 include $(INCLUDE_DIR)/host-build.mk
22 include $(INCLUDE_DIR)/package.mk
23 $(call include_mk, python-package.mk)
24 -include $(if $(DUMP),,./files/python-sip-package.mk)
25
26 define Package/python-sip
27   SECTION:=devel
28   CATEGORY:=Development
29   TITLE:=Python SIP
30   URL:=http://www.riverbankcomputing.co.uk/software/sip/download
31 endef
32
33 define Build/Configure
34         $(INSTALL_DIR) "$(PYTHON_SIP_CONFIG_TEMPLATE_DIR)"; \
35         $(CP) ./files/sipconfig.macros.template "$(PYTHON_SIP_CONFIG_TEMPLATE)"; \
36         echo "CC                        $(TARGET_CROSS)gcc" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
37         echo "CFLAGS                    $(TARGET_CFLAGS) $(EXTRA_CFLAGS)" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
38         echo "CXX                       $(TARGET_CROSS)g++" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
39         echo "CXXFLAGS                  $(TARGET_CFLAGS) $(EXTRA_CFLAGS)" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
40         echo "LINK                      $(TARGET_CROSS)g++" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
41         echo "LINK_SHLIB                $(TARGET_CROSS)g++" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
42         echo "LFLAGS                    $(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
43         echo "AR                        $(TARGET_CROSS)ar cqs" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
44         echo "STRIP                     $(STRIP)" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \
45         (       cd "$(PKG_BUILD_DIR)"; \
46                 python -E -B ./configure.py \
47                         --bindir=$(PKG_INSTALL_DIR)/usr/bin \
48                         --destdir=$(PKG_INSTALL_DIR)/$(PYTHON_PKG_DIR) \
49                         --incdir=$(PKG_INSTALL_DIR)/usr/include \
50                         --sipdir=$(PKG_INSTALL_DIR)/usr/share/sip \
51                         --sipconfig-macros="$(PYTHON_SIP_CONFIG_TEMPLATE)" \
52         )
53 endef
54
55 define Build/Compile
56         $(MAKE) -C $(PKG_BUILD_DIR) \
57                 CC="$(TARGET_CROSS)gcc" \
58                 CXX="$(TARGET_CROSS)g++" \
59                 LINK="$(TARGET_CROSS)g++" \
60                 CFLAGS="$(TARGET_CFLAGS)" \
61                 CXXFLAGS="$(TARGET_CFLAGS)"
62 endef
63
64 define Build/InstallDev
65         $(INSTALL_DIR) $(1)/mk
66         $(INSTALL_DATA) ./files/python-sip-package.mk $(1)/mk/
67 endef
68
69 define Build/Install
70         $(MAKE) -C $(PKG_BUILD_DIR) \
71                 CC="$(TARGET_CROSS)gcc" \
72                 CXX="$(TARGET_CROSS)g++" \
73                 LINK="$(TARGET_CROSS)g++" \
74                 CFLAGS="$(TARGET_CFLAGS)" \
75                 CXXFLAGS="$(TARGET_CFLAGS)" \
76                 DESTDIR="" \
77                 install
78 endef
79
80 define Package/python-sip/install
81         # We only install the python module for now...
82         $(INSTALL_DIR) $(1)/$(PYTHON_PKG_DIR)
83         $(CP) $(PKG_INSTALL_DIR)/$(PYTHON_PKG_DIR)/* $(1)/$(PYTHON_PKG_DIR)
84 endef
85
86 define Host/Configure
87         (       cd "$(HOST_BUILD_DIR)"; \
88                 python -E -B ./configure.py \
89                         --bindir=$(STAGING_DIR_HOST)/usr/bin \
90                         --destdir=$(STAGING_DIR_HOST)/$(PYTHON_PKG_DIR) \
91                         --incdir=$(STAGING_DIR_HOST)/usr/include \
92                         --sipdir=$(STAGING_DIR_HOST)/usr/share/sip \
93         )
94 endef
95
96 define Host/Compile
97         $(MAKE) -C $(HOST_BUILD_DIR) \
98                 CC="$(HOSTCC)" \
99                 CXX="g++" \
100                 LINK="g++" \
101                 CFLAGS="$(HOST_CFLAGS)" \
102                 CXXFLAGS="$(HOST_CFLAGS)"
103 endef
104
105 define Host/Install
106         $(MAKE) -C $(HOST_BUILD_DIR) \
107                 CC="$(HOSTCC)" \
108                 CXX="g++" \
109                 LINK="g++" \
110                 CFLAGS="$(HOST_CFLAGS)" \
111                 CXXFLAGS="$(HOST_CFLAGS)" \
112                 install
113 endef
114
115 #TODO check for host python-dev headers.
116
117 $(eval $(call RequireCommand,python, \
118         Please install Python 2.x \
119 ))
120
121 $(eval $(call HostBuild))
122 $(eval $(call BuildPackage,python-sip))