Merge pull request #11353 from kvuorine/fwknop-fixes
[feed/packages.git] / libs / icu / Makefile
1 #
2 # Copyright (C) 2006-2016 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:=icu4c
11 MAJOR_VERSION:=67
12 MINOR_VERSION:=1
13 PKG_VERSION:=$(MAJOR_VERSION).$(MINOR_VERSION)
14 PKG_RELEASE:=2
15
16 PKG_SOURCE:=$(PKG_NAME)-$(MAJOR_VERSION)_$(MINOR_VERSION)-src.tgz
17 PKG_SOURCE_URL:=https://github.com/unicode-org/icu/releases/download/release-$(MAJOR_VERSION)-$(MINOR_VERSION)
18 PKG_HASH:=94a80cd6f251a53bd2a997f6f1b5ac6653fe791dfab66e1eb0227740fb86d5dc
19
20 PKG_LICENSE:=ICU
21 PKG_LICENSE_FILES:=LICENSE
22 PKG_CPE_ID:=cpe:/a:icu-project:international_components_for_unicode
23
24 PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>
25
26 PKG_INSTALL:=1
27 PKG_BUILD_PARALLEL:=1
28
29 PKG_BUILD_DEPENDS:=icu/host
30 HOST_BUILD_DEPENDS:=python3/host
31
32 include $(INCLUDE_DIR)/package.mk
33 include $(INCLUDE_DIR)/host-build.mk
34
35 TAR_OPTIONS+= icu/source --strip-components 2
36 TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
37
38 define Package/icu
39 SECTION:=libs
40 CATEGORY:=Libraries
41 TITLE:=International Components for Unicode
42 URL:=http://icu-project.org
43 DEPENDS:=+libstdcpp +libpthread
44 endef
45
46 define Package/icu/description
47 ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications. ICU is widely portable and gives applications the same results on all platforms and between C/C++ and Java software.
48 This package supports C/C++.
49 endef
50
51 define Package/icu-full-data
52 SECTION:=libs
53 CATEGORY:=Libraries
54 TITLE:=Full ICU Data
55 URL:=http://icu-project.org
56 DEPENDS:=+icu
57 endef
58
59 define Package/icu-full-data/description
60 ICU makes use of a wide variety of data tables to provide many of its services. Examples include converter mapping tables, collation rules, transliteration rules, break iterator rules and dictionaries, and other locale data.
61 This package contains the complete data library provided by ICU.
62 A custom data library can be generated at http://apps.icu-project.org/datacustom/
63 endef
64
65 define Package/icu-data-tools
66 SECTION:=libs
67 CATEGORY:=Libraries
68 TITLE:=ICU Data manipulation tools
69 URL:=http://icu-project.org
70 DEPENDS:=+icu
71 endef
72
73 define Package/icu-data-tools/description
74 This package provides tools for manipulating ICU data.
75 endef
76
77 CONFIGURE_CMD:= ./runConfigureICU
78 CONFIGURE_ARGS:= \
79 Linux/gcc \
80 CC="$(TARGET_CC)" \
81 CXX="$(TARGET_CXX)" \
82 --target=$(GNU_TARGET_NAME) \
83 --host=$(GNU_TARGET_NAME) \
84 --build=$(GNU_HOST_NAME) \
85 --disable-debug \
86 --enable-release \
87 --enable-shared \
88 --enable-static \
89 --enable-draft \
90 --enable-renaming \
91 --disable-tracing \
92 --disable-extras \
93 --enable-dyload \
94 --with-data-packaging=archive \
95 --disable-tests \
96 --disable-samples \
97 --with-cross-build="$(STAGING_DIR_HOSTPKG)/share/icu/$(PKG_VERSION)" \
98 --prefix=/usr
99
100 HOST_CONFIGURE_CMD:= ./runConfigureICU
101 HOST_CONFIGURE_VARS:=
102 HOST_CONFIGURE_ARGS:= \
103 Linux/gcc \
104 --disable-debug \
105 --enable-release \
106 --enable-shared \
107 --enable-static \
108 --enable-draft \
109 --enable-renaming \
110 --disable-tracing \
111 --disable-extras \
112 --enable-dyload \
113 --prefix=$(STAGING_DIR_HOSTPKG)
114
115 define Build/Prepare
116 $(call Build/Prepare/Default)
117 mkdir -p $(PKG_BUILD_DIR)/data/out
118 endef
119
120 define Build/InstallDev
121 $(INSTALL_DIR) $(1)/usr/include
122 $(INSTALL_DIR) $(1)/usr/lib
123 $(INSTALL_DIR) $(1)/usr/bin
124 $(INSTALL_DIR) $(2)/bin
125 $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
126 $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
127 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/icu-config $(1)/usr/bin/
128 $(SED) 's,^\(prefix\|execprefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/icu-config
129 $(LN) $(STAGING_DIR)/usr/bin/icu-config $(2)/bin/
130 endef
131
132 define Host/Install
133 $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/share/icu/$(PKG_VERSION)/config
134 $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/share/icu/$(PKG_VERSION)/bin
135 $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/share/icu/$(PKG_VERSION)/lib
136 $(INSTALL_DATA) $(HOST_BUILD_DIR)/config/icucross.* $(STAGING_DIR_HOSTPKG)/share/icu/$(PKG_VERSION)/config/
137 $(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/icupkg $(STAGING_DIR_HOSTPKG)/share/icu/$(PKG_VERSION)/bin/
138 $(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/pkgdata $(STAGING_DIR_HOSTPKG)/share/icu/$(PKG_VERSION)/bin/
139 $(CP) $(HOST_BUILD_DIR)/lib/*.so* $(STAGING_DIR_HOSTPKG)/share/icu/$(PKG_VERSION)/lib/
140 $(RM) $(STAGING_DIR_HOSTPKG)/share/icu/current
141 (cd $(STAGING_DIR_HOSTPKG)/share/icu;$(LN) $(PKG_VERSION) current)
142 endef
143
144 define Package/icu/install
145 $(INSTALL_DIR) $(1)/usr/lib
146 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
147 endef
148
149 define Package/icu-full-data/install
150 $(INSTALL_DIR) $(1)/usr/share/icu/$(PKG_VERSION)
151 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/icu/$(PKG_VERSION)/icudt*.dat \
152 $(1)/usr/share/icu/$(PKG_VERSION)/
153 endef
154
155 define Package/icu-data-tools/install
156 $(INSTALL_DIR) $(1)/usr/bin
157 $(INSTALL_DIR) $(1)/usr/sbin
158 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
159 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/
160 endef
161
162 $(eval $(call HostBuild))
163 $(eval $(call BuildPackage,icu))
164 $(eval $(call BuildPackage,icu-full-data))
165 $(eval $(call BuildPackage,icu-data-tools))