def METHOD_NAME(self, arch):
    env = self.get_recipe_env(arch).copy()
    build_root = self.get_build_dir(arch.arch)
    def make_build_dest(dest):
        build_dest = join(build_root, dest)
        if not isdir(build_dest):
            ensure_dir(build_dest)
            return build_dest, False
        return build_dest, True
    icu_build = join(build_root, "icu_build")
    build_host, exists = make_build_dest("build_icu_host")
    host_env = os.environ.copy()
    # reduce the function set
    host_env["CPPFLAGS"] = (
        "-O3 -fno-short-wchar -DU_USING_ICU_NAMESPACE=1 -fno-short-enums "
        "-DU_HAVE_NL_LANGINFO_CODESET=0 -D__STDC_INT64__ -DU_TIMEZONE=0 "
        "-DUCONFIG_NO_LEGACY_CONVERSION=1 "
        "-DUCONFIG_NO_TRANSLITERATION=0 ")
    if not exists:
        icu4c_host_platform = platform.system()
        if icu4c_host_platform == "Darwin":
            icu4c_host_platform = "MacOSX"
        configure = sh.Command(
            join(build_root, "source", "runConfigureICU"))
        with current_directory(build_host):
            shprint(
                configure,
                icu4c_host_platform,
                "--prefix="+icu_build,
                "--enable-extras=no",
                "--enable-strict=no",
                "--enable-static=no",
                "--enable-tests=no",
                "--enable-samples=no",
                _env=host_env)
            shprint(sh.make, "-j", str(cpu_count()), _env=host_env)
            shprint(sh.make, "install", _env=host_env)
    build_android, exists = make_build_dest("build_icu_android")
    if not exists:
        configure = sh.Command(join(build_root, "source", "configure"))
        with current_directory(build_android):
            shprint(
                configure,
                "--with-cross-build="+build_host,
                "--enable-extras=no",
                "--enable-strict=no",
                "--enable-static=no",
                "--enable-tests=no",
                "--enable-samples=no",
                "--host="+arch.command_prefix,
                "--prefix="+icu_build,
                _env=env)
            shprint(sh.make, "-j", str(cpu_count()), _env=env)
            shprint(sh.make, "install", _env=env)