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
:=a2d2d38217092a7ed56635e34467f92f976b370e20182ad325edea6681a71d68
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
44 ABI_VERSION
:=$(MAJOR_VERSION
)
47 define Package
/icu
/description
48 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.
49 This package supports C
/C
++.
52 define Package
/icu-full-data
56 URL
:=http
://icu-project.org
58 ABI_VERSION
:=$(MAJOR_VERSION
)
61 define Package
/icu-full-data
/description
62 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.
63 This package contains the complete data library provided by ICU.
64 A custom data library can be generated at http
://apps.icu-project.org
/datacustom
/
67 define Package
/icu-data-tools
70 TITLE
:=ICU Data manipulation tools
71 URL
:=http
://icu-project.org
75 define Package
/icu-data-tools
/description
76 This package provides tools for manipulating ICU data.
79 CONFIGURE_CMD
:= .
/runConfigureICU
82 CC
="$(TARGET_CC_NOCACHE)" \
83 CXX
="$(TARGET_CXX_NOCACHE)" \
84 --target
=$(GNU_TARGET_NAME
) \
85 --host
=$(GNU_TARGET_NAME
) \
86 --build
=$(GNU_HOST_NAME
) \
96 --with-data-packaging
=archive \
99 --with-cross-build
="$(STAGING_DIR_HOSTPKG)/share/icu/$(PKG_VERSION)" \
102 HOST_CONFIGURE_CMD
:= .
/runConfigureICU
103 HOST_CONFIGURE_VARS
:=
104 ifeq ($(HOST_OS
),Darwin
)
105 HOST_CONFIGURE_ARGS
:= MacOSX
107 HOST_CONFIGURE_ARGS
:= Linux
/gcc
109 HOST_CONFIGURE_ARGS
+= \
119 --prefix=$(STAGING_DIR_HOSTPKG
)
122 $(call Build
/Prepare
/Default
)
123 mkdir
-p
$(PKG_BUILD_DIR
)/data
/out
126 define Build
/InstallDev
127 $(INSTALL_DIR
) $(1)/usr
/include
128 $(INSTALL_DIR
) $(1)/usr
/lib
129 $(INSTALL_DIR
) $(1)/usr
/bin
130 $(INSTALL_DIR
) $(2)/bin
131 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/* $(1)/usr
/include/
132 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/* $(1)/usr
/lib
/
133 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/icu-config
$(1)/usr
/bin
/
134 $(SED
) 's,^\(prefix\|execprefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr
/bin
/icu-config
135 $(LN
) $(STAGING_DIR
)/usr
/bin
/icu-config
$(2)/bin
/
139 $(INSTALL_DIR
) $(STAGING_DIR_HOSTPKG
)/share
/icu
/$(PKG_VERSION
)/config
140 $(INSTALL_DIR
) $(STAGING_DIR_HOSTPKG
)/share
/icu
/$(PKG_VERSION
)/bin
141 $(INSTALL_DIR
) $(STAGING_DIR_HOSTPKG
)/share
/icu
/$(PKG_VERSION
)/lib
142 $(INSTALL_DATA
) $(HOST_BUILD_DIR
)/config
/icucross.
* $(STAGING_DIR_HOSTPKG
)/share
/icu
/$(PKG_VERSION
)/config
/
143 $(INSTALL_BIN
) $(HOST_BUILD_DIR
)/bin
/icupkg
$(STAGING_DIR_HOSTPKG
)/share
/icu
/$(PKG_VERSION
)/bin
/
144 $(INSTALL_BIN
) $(HOST_BUILD_DIR
)/bin
/pkgdata
$(STAGING_DIR_HOSTPKG
)/share
/icu
/$(PKG_VERSION
)/bin
/
145 ifeq ($(HOST_OS
),Darwin
)
146 $(CP
) $(HOST_BUILD_DIR
)/lib
/*.dylib
* $(STAGING_DIR_HOSTPKG
)/share
/icu
/$(PKG_VERSION
)/lib
/
148 $(CP
) $(HOST_BUILD_DIR
)/lib
/*.so
* $(STAGING_DIR_HOSTPKG
)/share
/icu
/$(PKG_VERSION
)/lib
/
150 $(RM
) $(STAGING_DIR_HOSTPKG
)/share
/icu
/current
151 (cd
$(STAGING_DIR_HOSTPKG
)/share
/icu
;$(LN
) $(PKG_VERSION
) current
)
154 define Package
/icu
/install
155 $(INSTALL_DIR
) $(1)/usr
/lib
156 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/*.so
* $(1)/usr
/lib
/
159 define Package
/icu-full-data
/install
160 $(INSTALL_DIR
) $(1)/usr
/share
/icu
/$(PKG_VERSION
)
161 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/icu
/$(PKG_VERSION
)/icudt
*.dat \
162 $(1)/usr
/share
/icu
/$(PKG_VERSION
)/
165 define Package
/icu-data-tools
/install
166 $(INSTALL_DIR
) $(1)/usr
/bin
167 $(INSTALL_DIR
) $(1)/usr
/sbin
168 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/* $(1)/usr
/bin
/
169 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/* $(1)/usr
/sbin
/
172 $(eval
$(call HostBuild
))
173 $(eval
$(call BuildPackage
,icu
))
174 $(eval
$(call BuildPackage
,icu-full-data
))
175 $(eval
$(call BuildPackage
,icu-data-tools
))