1#!/bin/bash 2# Copyright (c) 2015 The Chromium Authors. All rights reserved. 3# # Use of this source code is governed by a BSD-style license that can be 4# # found in the LICENSE file. 5# 6# This script is tested ONLY on Linux. It may not work correctly on 7# Mac OS X. 8# 9set -e # exit if fail 10 11if [ $# -lt 1 ]; 12then 13 echo "Usage: "$0" (android|cast|chromecast_video|chromeos|common|flutter|flutter_desktop|ios)" >&2 14 exit 1 15fi 16 17TOPSRC="$(dirname "$0")/.." 18source "${TOPSRC}/scripts/data_common.sh" 19 20 21function copy_common { 22 DATA_PREFIX="data/out/tmp/icudt${VERSION}" 23 TZRES_PREFIX="data/out/build/icudt${VERSION}l" 24 25 echo "Generating the big endian data bundle" 26 LD_LIBRARY_PATH=lib bin/icupkg -tb --ignore-deps "${DATA_PREFIX}l.dat" "${DATA_PREFIX}b.dat" 27 28 echo "Copying icudtl.dat and icudtlb.dat" 29 for endian in l b 30 do 31 rm "${TOPSRC}/common/icudt${endian}.dat" 32 cp "${DATA_PREFIX}${endian}.dat" "${TOPSRC}/common/icudt${endian}.dat" 33 done 34 35 echo "Copying metaZones.res, timezoneTypes.res, zoneinfo64.res" 36 for tzfile in metaZones timezoneTypes zoneinfo64 37 do 38 rm "${TOPSRC}/tzres/${tzfile}.res" 39 cp "${TZRES_PREFIX}/${tzfile}.res" "${TOPSRC}/tzres/${tzfile}.res" 40 done 41 42 echo "Done with copying pre-built ICU data files." 43} 44 45function copy_data { 46 echo "Copying icudtl.dat for $1" 47 48 rm -f "${TOPSRC}/$2/icudtl.dat" 49 cp "data/out/tmp/icudt${VERSION}l.dat" "${TOPSRC}/$2/icudtl.dat" 50 51 echo "Done with copying pre-built ICU data file for $1." 52} 53 54 55BACKUP_DIR="dataout/$1" 56function backup_outdir { 57 rm -rf "${BACKUP_DIR}" 58 mkdir -p "${BACKUP_DIR}" 59 find "data/out" | cpio -pdmv "${BACKUP_DIR}" 60} 61 62case "$1" in 63 "chromeos") 64 copy_data ChromeOS $1 65 backup_outdir $1 66 ;; 67 "common") 68 copy_common 69 backup_outdir $1 70 ;; 71 "android") 72 copy_data Android $1 73 backup_outdir $1 74 ;; 75 "ios") 76 copy_data iOS $1 77 backup_outdir $1 78 ;; 79 "cast") 80 copy_data Cast $1 81 backup_outdir $1 82 ;; 83 "chromecast_video") 84 copy_data ChromecastVideo $1 85 backup_outdir $1 86 ;; 87 "flutter") 88 copy_data Flutter $1 89 backup_outdir $1 90 ;; 91 "flutter_desktop") 92 copy_data Flutter_Desktop $1 93 backup_outdir $1 94 ;; 95esac 96