Skip to content

Commit

Permalink
ICU-20600 build icu-data-bin files
Browse files Browse the repository at this point in the history
make dist will now produce:
- icu4c-67.1-data-bin-b.zip
- icu4c-67.1-data-bin-l.zip
  • Loading branch information
srl295 committed Mar 17, 2020
1 parent 24b3cf1 commit f63a8bb
Show file tree
Hide file tree
Showing 2 changed files with 107 additions and 1 deletion.
106 changes: 106 additions & 0 deletions icu4c/source/config/dist-data.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
#!/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

VERS=$(echo ${DATFILE} | tr -d a-z/.)
VERSION=${VERSION-unknown}

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}-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}-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
2 changes: 1 addition & 1 deletion icu4c/source/config/dist.mk
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ $(DISTY_FILE_TGZ) $(DISTY_FILE_ZIP) $(DISTY_DATA_ZIP): $(DISTY_DAT) $(DISTY_TMP
ln -f $(DISTY_DATA_ZIP) $(DISTY_FILE_DIR)/icu4c-$(DISTY_VER)-data.zip
ls -l $(DISTY_FILE_TGZ) $(DISTY_FILE_ZIP) $(DISTY_DATA_ZIP)


dist-local: $(DISTY_FILES)
VERSION=$(VERSION) $(SHELL) $(top_srcdir)/config/dist-data.sh

distcheck: distcheck-tgz

Expand Down

0 comments on commit f63a8bb

Please sign in to comment.