diff options
Diffstat (limited to 'intl/icu/source/config/dist-data.sh')
-rwxr-xr-x | intl/icu/source/config/dist-data.sh | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/intl/icu/source/config/dist-data.sh b/intl/icu/source/config/dist-data.sh new file mode 100755 index 0000000000..9406ebb3a6 --- /dev/null +++ b/intl/icu/source/config/dist-data.sh @@ -0,0 +1,110 @@ +#!/bin/bash +# Copyright (C) 2020 and later: Unicode, Inc. and others. + +# set VERSION to the ICU version. set top_srcdir to the parent of icurc +# Note: You need to set LD_LIBRARY_PATH/etc before calling this script. +export LD_LIBRARY_PATH=./lib:${LD_LIBRARY_PATH-/lib:/usr/lib:/usr/local/lib} +export DYLD_LIBRARY_PATH=./lib:${DYLD_LIBRARY_PATH-/lib:/usr/lib:/usr/local/lib} + +if [ ! -d "${top_srcdir}" ] +then + echo >&2 "$0: please set 'top_srcdir' to the icu/icu4c/source dir" + exit 1 +fi +LICENSE=${LICENSE-${top_srcdir}/../LICENSE} + +if [ ! -f "${LICENSE}" ] +then + echo >&2 "$0: could not load license file ${LICENSE}" + exit 1 +fi + +DATFILE=${DATFILE-$(ls data/out/tmp/icudt*.dat| head -1)} + +if [ ! -f "${DATFILE}" ] +then + echo >&2 "$0: could not find DATFILE ${DATFILE}" + exit 1 +fi + +# Short (major) version, i.e. 70 +VERS=$(echo ${DATFILE} | tr -d a-z/.) +# Version number, i.e. 70.1 +VERSION=${VERSION-unknown} +# Version number for files, i.e. 70_1 +VERSION_FILE=$(echo ${VERSION} | tr . _) + +if [[ "${VERSION}" = "unknown" ]]; +then + VERSION=${VERS}.0 + echo "$0: VERSION not set, using ${VERSION}" +else + if [[ "${VERS}" != $(echo ${VERSION} | cut -d. -f1) ]] + then + echo >&2 "$0: Warning: Expected version ${VERSION} to start with ${VERS}..." + fi +fi + +# yeah, override ENDIANS if you want a different flavor. +#ENDIANS="b l e" +ENDIANS=${ENDIANS-"b l"} +DISTY_DIR=${DISTY_DIR-./dist/} + +if [ ! -x ./bin/icupkg ] +then + echo >&2 "$0: could not find executable ./bin/icupkg" + exit 1 +fi + +echo "# Packing ${DATFILE} into data zips in dist/ for version ${VERSION}" +mkdir -p ${DISTY_DIR}/tmp + +for endian in $ENDIANS; +do + base=icu4c-${VERSION_FILE}-data-bin-${endian}.zip + filename=icudt${VERS}${endian}.dat + if [ -f ${DISTY_DIR}/${base} ]; + then + echo ${DISTY_DIR}/${base} exists, skipping + continue + fi + rm -f ${DISTY_DIR}/tmp/${filename} + echo ./bin/icupkg -t${endian} ${DATFILE} ${DISTY_DIR}/tmp/${filename} + ./bin/icupkg -t${endian} ${DATFILE} ${DISTY_DIR}/tmp/${filename} + README=icu4c-${VERSION_FILE}-data-bin-${endian}-README.md + cat >> ${DISTY_DIR}/tmp/${README} <<EOF +# ICU Data Zip for ${VERSION} + +For information on Unicode ICU, see [http://icu-project.org](http://icu-project.org) + +## Contents + +This .zip file contains: + +- this README +- [LICENSE](./LICENSE) +- ${filename} + +## How to use this file + +This file contains prebuilt data in form **${endian}**. +("l" for Little Endian, "b" for Big Endian, "e" for EBCDIC.) +It may be used to simplify build and installation of ICU. +See [http://icu-project.org](http://icu-project.org) for further information. + +## License + +See [LICENSE](./LICENSE). + +> Copyright © 2016 and later Unicode, Inc. and others. All Rights Reserved. +Unicode and the Unicode Logo are registered trademarks +of Unicode, Inc. in the U.S. and other countries. +[Terms of Use and License](http://www.unicode.org/copyright.html) + +EOF + zip -v -j ${DISTY_DIR}/${base} \ + ${LICENSE} \ + ${DISTY_DIR}/tmp/${README} \ + ${DISTY_DIR}/tmp/${filename} + ls -lh ${DISTY_DIR}/${base} +done |