| #!/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_extra|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}" | |
| TZRES_PREFIX="data/out/build/icudt${VERSION}l" | |
| echo "Generating the big endian data bundle" | |
| LD_LIBRARY_PATH=lib bin/icupkg -tb --ignore-deps "${DATA_PREFIX}l.dat" "${DATA_PREFIX}b.dat" | |
| echo "Copying icudtl.dat and icudtlb.dat" | |
| for endian in l b | |
| do | |
| rm "${TOPSRC}/common/icudt${endian}.dat" | |
| cp "${DATA_PREFIX}${endian}.dat" "${TOPSRC}/common/icudt${endian}.dat" | |
| done | |
| echo "Copying metaZones.res, timezoneTypes.res, zoneinfo64.res" | |
| for tzfile in metaZones timezoneTypes zoneinfo64 | |
| do | |
| rm "${TOPSRC}/tzres/${tzfile}.res" | |
| cp "${TZRES_PREFIX}/${tzfile}.res" "${TOPSRC}/tzres/${tzfile}.res" | |
| done | |
| echo "Done with copying pre-built ICU data files." | |
| } | |
| function copy_data { | |
| echo "Copying icudtl.dat for $1" | |
| rm "${TOPSRC}/$2/icudtl.dat" | |
| 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_android_extra { | |
| echo "Copying icudtl_extra.dat for AndroidExtra" | |
| LD_LIBRARY_PATH=lib/ bin/icupkg -r --ignore-deps \ | |
| "${TOPSRC}/filters/android-extra-removed-resources.txt" \ | |
| "data/out/tmp/icudt${VERSION}l.dat" | |
| echo "AFTER strip out the content is" | |
| LD_LIBRARY_PATH=lib/ bin/icupkg -l --ignore-deps \ | |
| "data/out/tmp/icudt${VERSION}l.dat" | |
| rm "${TOPSRC}/android_small/icudtl_extra.dat" | |
| cp "data/out/tmp/icudt${VERSION}l.dat" "${TOPSRC}/android_small/icudtl_extra.dat" | |
| echo "Done with copying pre-built ICU data file for AndroidExtra." | |
| } | |
| 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_data ChromeOS $1 | |
| backup_outdir $1 | |
| ;; | |
| "common") | |
| copy_common | |
| backup_outdir $1 | |
| ;; | |
| "android") | |
| copy_data Android $1 | |
| backup_outdir $1 | |
| ;; | |
| "android_small") | |
| copy_data AndroidSmall $1 | |
| backup_outdir $1 | |
| ;; | |
| "android_extra") | |
| copy_android_extra | |
| backup_outdir $1 | |
| ;; | |
| "ios") | |
| copy_data iOS $1 | |
| backup_outdir $1 | |
| ;; | |
| "cast") | |
| copy_data Cast $1 | |
| backup_outdir $1 | |
| ;; | |
| "flutter") | |
| copy_data Flutter $1 | |
| backup_outdir $1 | |
| ;; | |
| esac |