#!/bin/bash # Copyright (c) 2015 The Chromium Authors. All rights reserved. # # Use of this source code is governed by a BSD-style license that can be # # found in the LICENSE file. # # This script is tested ONLY on Linux. It may not work correctly on # Mac OS X. # if [ $# -lt 1 ]; then echo "Usage: "$0" (android|android_small|cast|chromeos|common|flutter|ios)" >&2 exit 1 fi TOPSRC="$(dirname "$0")/.." source "${TOPSRC}/scripts/data_common.sh" function copy_common { DATA_PREFIX="data/out/tmp/icudt${VERSION}" echo "Generating the big endian data bundle" LD_LIBRARY_PATH=lib bin/icupkg -tb "${DATA_PREFIX}l.dat" "${DATA_PREFIX}b.dat" echo "Copying icudtl.dat and icudtlb.dat" for endian in l b do cp "${DATA_PREFIX}${endian}.dat" "${TOPSRC}/common/icudt${endian}.dat" done echo "Done with copying pre-built ICU data files." } function copy_chromeos { DATA_FILE="data/out/tmp/icudt${VERSION}l.dat" echo "Copying icudtl.dat" cp "${DATA_FILE}" "${TOPSRC}/chromeos/icudtl.dat" echo "Done with copying pre-built ICU data files for chromeos." } function copy_android_ios { echo "Copying icudtl.dat for $1" cp "data/out/tmp/icudt${VERSION}l.dat" "${TOPSRC}/$2/icudtl.dat" echo "Done with copying pre-built ICU data file for $1." } function copy_cast { echo "Copying icudtl.dat for $1" LD_LIBRARY_PATH=lib/ bin/icupkg -r \ "${TOPSRC}/$2/cast-removed-resources.txt" \ "data/out/tmp/icudt${VERSION}l.dat" cp "data/out/tmp/icudt${VERSION}l.dat" "${TOPSRC}/$2/icudt${VERSION}l.dat" mv "${TOPSRC}/$2/icudt${VERSION}l.dat" "${TOPSRC}/$2/icudtl.dat" echo "Done with copying pre-built ICU data file for $1." } function copy_flutter { echo "Copying icudtl.dat for Flutter" echo "Removing unused resources from icudtl.dat for Flutter" LD_LIBRARY_PATH=lib/ bin/icupkg -r \ "${TOPSRC}/flutter/flutter-removed-resources.txt" \ "data/out/tmp/icudt${VERSION}l.dat" cp "data/out/tmp/icudt${VERSION}l.dat" "${TOPSRC}/flutter/icudt${VERSION}l.dat" mv "${TOPSRC}/flutter/icudt${VERSION}l.dat" "${TOPSRC}/flutter/icudtl.dat" echo "Done with copying pre-built ICU data file for Flutter." } BACKUP_DIR="dataout/$1" function backup_outdir { rm -rf "${BACKUP_DIR}" mkdir "${BACKUP_DIR}" find "data/out" | cpio -pdmv "${BACKUP_DIR}" } case "$1" in "chromeos") copy_chromeos backup_outdir $1 ;; "common") copy_common backup_outdir $1 ;; "android") copy_android_ios Android android backup_outdir $1 ;; "android_small") copy_android_ios AndroidSmall android_small backup_outdir $1 ;; "ios") copy_android_ios iOS ios backup_outdir $1 ;; "cast") copy_cast Cast cast backup_outdir $1 ;; "flutter") copy_flutter backup_outdir $1 ;; esac