48 lines
1.7 KiB
Python
48 lines
1.7 KiB
Python
from .base import (
|
|
Dependency,
|
|
ReleaseDownload,
|
|
MakeBuilder
|
|
)
|
|
|
|
from kiwixbuild.utils import SkipCommand, Remotefile
|
|
from kiwixbuild._global import get_target_step
|
|
|
|
class Icu(Dependency):
|
|
name = "icu4c"
|
|
|
|
class Source(ReleaseDownload):
|
|
archive = Remotefile('icu4c_svn_58-2.tar.gz',
|
|
'fd8fcc1f1b8b2b71b879e88844480ebec107189c21076c81573f71dca5686a0d')
|
|
patches = ["icu4c_fix_static_lib_name_mingw.patch",
|
|
"icu4c_android_elf64_st_info.patch",
|
|
"icu4c_custom_data.patch",
|
|
"icu4c_noxlocale.patch",
|
|
"icu4c_rpath.patch",
|
|
"icu4c_build_config.patch"]
|
|
|
|
|
|
class Builder(MakeBuilder):
|
|
subsource_dir = "source"
|
|
make_install_target = "install"
|
|
|
|
@classmethod
|
|
def get_dependencies(cls, platformInfo, allDeps):
|
|
plt = 'native_static' if platformInfo.static else 'native_dyn'
|
|
return [(plt, 'icu4c')]
|
|
|
|
@property
|
|
def configure_option(self):
|
|
options = ("--disable-samples --disable-tests --disable-extras "
|
|
"--disable-dyload --enable-rpath "
|
|
"--disable-icuio --disable-layoutex")
|
|
platformInfo = self.buildEnv.platformInfo
|
|
if platformInfo.build != 'native':
|
|
icu_native_builder = get_target_step(
|
|
'icu4c',
|
|
'native_static' if platformInfo.static else 'native_dyn')
|
|
options += " --with-cross-build={} --disable-tools".format(
|
|
icu_native_builder.build_path)
|
|
if platformInfo.build == 'android':
|
|
options += " --with-data-packaging=archive"
|
|
return options
|