2 # Copyright (C) 2006-2016 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
13 PKG_VERSION
:=$(MAJOR_VERSION
).
$(MINOR_VERSION
)
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
21 PKG_LICENSE_FILES
:=LICENSE
22 PKG_CPE_ID
:=cpe
:/a
:icu-project
:international_components_for_unicode
24 PKG_MAINTAINER
:=Hirokazu MORIKAWA
<morikw2@gmail.com
>
29 PKG_BUILD_DEPENDS
:=icu
/host
30 HOST_BUILD_DEPENDS
:=python3
/host
32 include $(INCLUDE_DIR
)/package.mk
33 include $(INCLUDE_DIR
)/host-build.mk
35 TAR_OPTIONS
+= icu
/source
--strip-components
2
36 TAR_CMD
=$(HOST_TAR
) -C
$(1) $(TAR_OPTIONS
)
41 TITLE
:=International Components for Unicode
42 URL
:=http
://icu-project.org
43 DEPENDS
:=+libstdcpp
+libpthread
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
++.
51 define Package
/icu-full-data
55 URL
:=http
://icu-project.org
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
/
65 define Package
/icu-data-tools
68 TITLE
:=ICU Data manipulation tools
69 URL
:=http
://icu-project.org
73 define Package
/icu-data-tools
/description
74 This package provides tools for manipulating ICU data.
77 CONFIGURE_CMD
:= .
/runConfigureICU
82 --target
=$(GNU_TARGET_NAME
) \
83 --host
=$(GNU_TARGET_NAME
) \
84 --build
=$(GNU_HOST_NAME
) \
94 --with-data-packaging
=archive \
97 --with-cross-build
="$(STAGING_DIR_HOSTPKG)/share/icu/$(PKG_VERSION)" \
100 HOST_CONFIGURE_CMD
:= .
/runConfigureICU
101 HOST_CONFIGURE_VARS
:=
102 HOST_CONFIGURE_ARGS
:= \
113 --prefix=$(STAGING_DIR_HOSTPKG
)
116 $(call Build
/Prepare
/Default
)
117 mkdir
-p
$(PKG_BUILD_DIR
)/data
/out
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
/
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
)
144 define Package
/icu
/install
145 $(INSTALL_DIR
) $(1)/usr
/lib
146 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/*.so
* $(1)/usr
/lib
/
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
)/
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
/
162 $(eval
$(call HostBuild
))
163 $(eval
$(call BuildPackage
,icu
))
164 $(eval
$(call BuildPackage
,icu-full-data
))
165 $(eval
$(call BuildPackage
,icu-data-tools
))