| #!/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 |