2
0

finalize.sh 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/bin/sh
  2. # SPDX-License-Identifier: GPL-3.0-or-later
  3. # Copyright (c) 2012-2026 Daniele Bartolini et al.
  4. set -eu
  5. if [ $# -lt 1 ]; then
  6. echo "Usage: $0 <package-dir>"
  7. echo ""
  8. echo "e.g."
  9. echo "$0 path/to/crown-0.50.0"
  10. exit
  11. fi
  12. OUTPUT_DIR=$(realpath "$1")
  13. PKG_NAME=$(basename "${OUTPUT_DIR}")
  14. PARTIALS_DIR="${OUTPUT_DIR}/partials"
  15. PARTIAL_PKG="${PARTIALS_DIR}/${PKG_NAME}"
  16. TARGET_PLATFORMS="android-arm android-arm64 html5-wasm windows-x32"
  17. MASTER_PLATFORMS="linux-x64 windows-x64"
  18. merge_and_compress () {
  19. for mp in $MASTER_PLATFORMS; do
  20. # Merge target platforms into master ones.
  21. for tp in $TARGET_PLATFORMS; do
  22. cp -r "${PARTIAL_PKG}-${tp}"/* "${PARTIAL_PKG}-${mp}"
  23. done
  24. # Compress master platforms.
  25. if [ "${mp}" = "windows-x64" ]; then
  26. (cd "${PARTIALS_DIR}" && zip -rq "${PKG_NAME}-${mp}.zip" "${PKG_NAME}-${mp}")
  27. else
  28. (cd "${PARTIALS_DIR}" && tar -czf "${PKG_NAME}-${mp}.tar.gz" "${PKG_NAME}-${mp}")
  29. fi
  30. done
  31. }
  32. if [ ! -d "${PARTIALS_DIR}" ]; then
  33. echo "Partials dir not found."
  34. exit 1;
  35. fi
  36. merge_and_compress
  37. # Move to output dir.
  38. for zip in "${PARTIALS_DIR}"/*.gz "${PARTIALS_DIR}"/*.zip; do
  39. mv "${zip}" "${OUTPUT_DIR}"
  40. done
  41. rm -rf "${PARTIALS_DIR}" # So that sums.sh won't complain.