• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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