From 76c0ce3437066c1ff96f96d5eee6a4651998fb78 Mon Sep 17 00:00:00 2001 From: Markus Kalkbrenner Date: Sat, 27 Jun 2026 19:37:34 +0200 Subject: [PATCH 1/5] development-friendly build system --- platforms/android/arm64-v8a/build.sh | 5 ++ platforms/android/arm64-v8a/external.sh | 56 +++++++------- platforms/build-common.sh | 36 +++++++++ platforms/config.sh | 50 ++++++++++++ platforms/ios-simulator/arm64/build.sh | 5 ++ platforms/ios-simulator/arm64/external.sh | 56 +++++++------- platforms/ios/arm64/build.sh | 5 ++ platforms/ios/arm64/external.sh | 56 +++++++------- platforms/linux/aarch64/build.sh | 5 ++ platforms/linux/aarch64/external.sh | 70 ++++++++--------- platforms/linux/x64/build.sh | 5 ++ platforms/linux/x64/external.sh | 70 ++++++++--------- platforms/macos/arm64/build.sh | 5 ++ platforms/macos/arm64/external.sh | 70 ++++++++--------- platforms/macos/x64/build.sh | 5 ++ platforms/macos/x64/external.sh | 70 ++++++++--------- platforms/tvos/arm64/build.sh | 5 ++ platforms/tvos/arm64/external.sh | 56 +++++++------- platforms/win-mingw/x64/build.sh | 5 ++ platforms/win-mingw/x64/external.sh | 92 ++++++++++++----------- platforms/win/x64/build.sh | 5 ++ platforms/win/x64/external.sh | 92 ++++++++++++----------- platforms/win/x86/build.sh | 5 ++ platforms/win/x86/external.sh | 92 ++++++++++++----------- 24 files changed, 542 insertions(+), 379 deletions(-) create mode 100755 platforms/android/arm64-v8a/build.sh create mode 100755 platforms/build-common.sh create mode 100755 platforms/ios-simulator/arm64/build.sh create mode 100755 platforms/ios/arm64/build.sh create mode 100755 platforms/linux/aarch64/build.sh create mode 100755 platforms/linux/x64/build.sh create mode 100755 platforms/macos/arm64/build.sh create mode 100755 platforms/macos/x64/build.sh create mode 100755 platforms/tvos/arm64/build.sh create mode 100755 platforms/win-mingw/x64/build.sh create mode 100755 platforms/win/x64/build.sh create mode 100755 platforms/win/x86/build.sh diff --git a/platforms/android/arm64-v8a/build.sh b/platforms/android/arm64-v8a/build.sh new file mode 100755 index 0000000..4dea8cc --- /dev/null +++ b/platforms/android/arm64-v8a/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +./platforms/build-common.sh android arm64-v8a diff --git a/platforms/android/arm64-v8a/external.sh b/platforms/android/arm64-v8a/external.sh index 2047256..949872c 100755 --- a/platforms/android/arm64-v8a/external.sh +++ b/platforms/android/arm64-v8a/external.sh @@ -6,9 +6,12 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" +ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" +ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" +ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" echo "" if [[ $(uname) == "Linux" ]]; then @@ -19,17 +22,20 @@ else NUM_PROCS=1 fi + rm -rf external -mkdir external +mkdir -p \ + external \ + third-party/include \ + third-party/build-libs/android/arm64-v8a \ + third-party/runtime-libs/android/arm64-v8a cd external # # build libzedmd and copy to external # -curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz -tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz -mv libzedmd-${LIBZEDMD_SHA} libzedmd +ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/android/arm64-v8a/external.sh cmake \ @@ -40,12 +46,12 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ../../third-party/include/ -cp -r third-party/include/komihash ../../third-party/include/ -cp -r third-party/include/sockpp ../../third-party/include/ -cp third-party/include/FrameUtil.h ../../third-party/include/ -cp third-party/runtime-libs/android/arm64-v8a/libsockpp.so ../../third-party/runtime-libs/android/arm64-v8a/ -cp build/libzedmd.so ../../third-party/runtime-libs/android/arm64-v8a/ +cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/runtime-libs/android/arm64-v8a/libsockpp.so ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ +cp build/libzedmd.so ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ cp -r test ../../ cd .. @@ -53,9 +59,7 @@ cd .. # build libserum and copy to external # -curl -sL https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz -tar xzf libserum-${LIBSERUM_SHA}.tar.gz -mv libserum-${LIBSERUM_SHA} libserum +ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" cd libserum cmake \ -DPLATFORM=android \ @@ -65,13 +69,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ../../third-party/include/ -cp src/LZ4Stream.h ../../third-party/include/ -cp src/SceneGenerator.h ../../third-party/include/ -cp src/serum.h ../../third-party/include/ -cp src/TimeUtils.h ../../third-party/include/ -cp src/serum-decode.h ../../third-party/include/ -cp build/libserum.so ../../third-party/runtime-libs/android/arm64-v8a/ +cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/libserum.so ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ cd .. # @@ -89,17 +93,15 @@ cmake -DPLATFORM=android \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ../../third-party/include/ -cp build/libpupdmd.so ../../third-party/runtime-libs/android/arm64-v8a/ +cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/libpupdmd.so ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ cd .. # # build libvni and copy to external # -curl -sL https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz -o libvni-${LIBVNI_SHA}.tar.gz -tar xzf libvni-${LIBVNI_SHA}.tar.gz -mv libvni-${LIBVNI_SHA} libvni +ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" cd libvni platforms/android/arm64-v8a/external.sh cmake \ @@ -110,6 +112,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ../../third-party/include/ -cp build/libvni.so ../../third-party/runtime-libs/android/arm64-v8a/ +cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/libvni.so ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ cd .. diff --git a/platforms/build-common.sh b/platforms/build-common.sh new file mode 100755 index 0000000..7276eeb --- /dev/null +++ b/platforms/build-common.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +set -e + +if [ "$#" -lt 2 ]; then + echo "Usage: $0 [extra-cmake-args...]" + exit 1 +fi + +PLATFORM_NAME="$1" +ARCH_NAME="$2" +shift 2 + +if [ -z "${BUILD_TYPE}" ]; then + BUILD_TYPE="Release" +fi + +EXTERNAL_SCRIPT="./platforms/${PLATFORM_NAME}/${ARCH_NAME}/external.sh" +if [ -f "${EXTERNAL_SCRIPT}" ]; then + BUILD_TYPE=${BUILD_TYPE} "${EXTERNAL_SCRIPT}" +fi + +if [ "${PLATFORM_NAME}" = "win" ]; then + if [ "${ARCH_NAME}" = "x86" ]; then + cmake -G "Visual Studio 17 2022" -A Win32 -DPLATFORM=${PLATFORM_NAME} -DARCH=${ARCH_NAME} "$@" -B build + else + cmake -G "Visual Studio 17 2022" -DPLATFORM=${PLATFORM_NAME} -DARCH=${ARCH_NAME} "$@" -B build + fi + cmake --build build --config ${BUILD_TYPE} +elif [ "${PLATFORM_NAME}" = "win-mingw" ]; then + cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DPLATFORM=${PLATFORM_NAME} -DARCH=${ARCH_NAME} "$@" -B build + cmake --build build -- -j$(nproc) +else + cmake -DPLATFORM=${PLATFORM_NAME} -DARCH=${ARCH_NAME} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} "$@" -B build + cmake --build build +fi diff --git a/platforms/config.sh b/platforms/config.sh index fbd2dcb..99caca8 100755 --- a/platforms/config.sh +++ b/platforms/config.sh @@ -8,6 +8,56 @@ LIBPUPDMD_SHA=4a1123220e6dce73c87cc584494df2ac82cb6f4c LIBVNI_SHA=7258e2fa0d086e1224d6510d44a61879e6b344b1 LIBUSB_SHA=15a7ebb4d426c5ce196684347d2b7cafad862626 +PPUC_SOURCE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +PPUC_LOCAL_DEPS_ROOT="${PPUC_LOCAL_DEPS_ROOT:-$(cd "${PPUC_SOURCE_ROOT}/.." && pwd)}" +PPUC_USE_LOCAL_DEPS="${PPUC_USE_LOCAL_DEPS:-1}" + +ppuc_local_dependency_dir() { + local name="$1" + local dir="${PPUC_LOCAL_DEPS_ROOT}/${name}" + + if [ "${PPUC_USE_LOCAL_DEPS}" != "0" ] && [ -d "${dir}" ] && [ "${dir}" != "${PPUC_SOURCE_ROOT}" ]; then + echo "${dir}" + fi +} + +ppuc_print_dependency_source() { + local label="$1" + local name="$2" + local sha="$3" + local local_dir + + local_dir="$(ppuc_local_dependency_dir "${name}")" + if [ -n "${local_dir}" ]; then + echo " ${label}_SOURCE: local ${local_dir}" + else + echo " ${label}_SOURCE: archive ${sha}" + fi +} + +ppuc_prepare_dependency_source() { + local name="$1" + local sha="$2" + local url="$3" + local archive_type="${4:-tar}" + local local_dir + + local_dir="$(ppuc_local_dependency_dir "${name}")" + if [ -n "${local_dir}" ]; then + echo "Using local ${name}: ${local_dir}" + ln -s "${local_dir}" "${name}" + elif [ "${archive_type}" = "zip" ]; then + curl -sL "${url}" -o "${name}.zip" + unzip "${name}.zip" + mv "${name}-${sha}" "${name}" + else + curl -sL "${url}" -o "${name}-${sha}.tar.gz" + tar xzf "${name}-${sha}.tar.gz" + mv "${name}-${sha}" "${name}" + fi +} + + if [ -z "${BUILD_TYPE}" ]; then BUILD_TYPE="Release" fi diff --git a/platforms/ios-simulator/arm64/build.sh b/platforms/ios-simulator/arm64/build.sh new file mode 100755 index 0000000..d863d57 --- /dev/null +++ b/platforms/ios-simulator/arm64/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +./platforms/build-common.sh ios-simulator arm64 diff --git a/platforms/ios-simulator/arm64/external.sh b/platforms/ios-simulator/arm64/external.sh index 0953bc1..d01d9ec 100755 --- a/platforms/ios-simulator/arm64/external.sh +++ b/platforms/ios-simulator/arm64/external.sh @@ -6,24 +6,30 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" +ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" +ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" +ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" echo "" NUM_PROCS=$(sysctl -n hw.ncpu) + rm -rf external -mkdir external +mkdir -p \ + external \ + third-party/include \ + third-party/build-libs/ios-simulator/arm64 \ + third-party/runtime-libs/ios-simulator/arm64 cd external # # build libzedmd and copy to external # -curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz -tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz -mv libzedmd-${LIBZEDMD_SHA} libzedmd +ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/ios-simulator/arm64/external.sh cmake \ @@ -34,12 +40,12 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ../../third-party/include/ -cp -r third-party/include/komihash ../../third-party/include/ -cp -r third-party/include/sockpp ../../third-party/include/ -cp third-party/include/FrameUtil.h ../../third-party/include/ -cp -a third-party/build-libs/ios-simulator/arm64/libsockpp.a ../../third-party/build-libs/ios-simulator/arm64/ -cp build/libzedmd.a ../../third-party/build-libs/ios-simulator/arm64/ +cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a third-party/build-libs/ios-simulator/arm64/libsockpp.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ +cp build/libzedmd.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ cp -r test ../../ cd .. @@ -47,9 +53,7 @@ cd .. # build libserum and copy to external # -curl -sL https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz -tar xzf libserum-${LIBSERUM_SHA}.tar.gz -mv libserum-${LIBSERUM_SHA} libserum +ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" cd libserum cmake \ -DPLATFORM=ios-simulator \ @@ -59,13 +63,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ../../third-party/include/ -cp src/LZ4Stream.h ../../third-party/include/ -cp src/SceneGenerator.h ../../third-party/include/ -cp src/serum.h ../../third-party/include/ -cp src/TimeUtils.h ../../third-party/include/ -cp src/serum-decode.h ../../third-party/include/ -cp build/libserum.a ../../third-party/build-libs/ios-simulator/arm64/ +cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/libserum.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ cd .. # @@ -84,17 +88,15 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ../../third-party/include/ -cp build/libpupdmd.a ../../third-party/build-libs/ios-simulator/arm64/ +cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/libpupdmd.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ cd .. # # build libvni and copy to external # -curl -sL https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz -o libvni-${LIBVNI_SHA}.tar.gz -tar xzf libvni-${LIBVNI_SHA}.tar.gz -mv libvni-${LIBVNI_SHA} libvni +ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" cd libvni platforms/ios-simulator/arm64/external.sh cmake \ @@ -105,6 +107,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ../../third-party/include/ -cp build/libvni.a ../../third-party/build-libs/ios-simulator/arm64/ +cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/libvni.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ cd .. diff --git a/platforms/ios/arm64/build.sh b/platforms/ios/arm64/build.sh new file mode 100755 index 0000000..4a261a9 --- /dev/null +++ b/platforms/ios/arm64/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +./platforms/build-common.sh ios arm64 diff --git a/platforms/ios/arm64/external.sh b/platforms/ios/arm64/external.sh index 06a7855..a7448f5 100755 --- a/platforms/ios/arm64/external.sh +++ b/platforms/ios/arm64/external.sh @@ -6,24 +6,30 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" +ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" +ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" +ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" echo "" NUM_PROCS=$(sysctl -n hw.ncpu) + rm -rf external -mkdir external +mkdir -p \ + external \ + third-party/include \ + third-party/build-libs/ios/arm64 \ + third-party/runtime-libs/ios/arm64 cd external # # build libzedmd and copy to external # -curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz -tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz -mv libzedmd-${LIBZEDMD_SHA} libzedmd +ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/ios/arm64/external.sh cmake \ @@ -34,12 +40,12 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ../../third-party/include/ -cp -r third-party/include/komihash ../../third-party/include/ -cp -r third-party/include/sockpp ../../third-party/include/ -cp third-party/include/FrameUtil.h ../../third-party/include/ -cp -a third-party/build-libs/ios/arm64/libsockpp.a ../../third-party/build-libs/ios/arm64/ -cp build/libzedmd.a ../../third-party/build-libs/ios/arm64/ +cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a third-party/build-libs/ios/arm64/libsockpp.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ +cp build/libzedmd.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ cp -r test ../../ cd .. @@ -47,9 +53,7 @@ cd .. # build libserum and copy to external # -curl -sL https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz -tar xzf libserum-${LIBSERUM_SHA}.tar.gz -mv libserum-${LIBSERUM_SHA} libserum +ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" cd libserum cmake \ -DPLATFORM=ios \ @@ -59,13 +63,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ../../third-party/include/ -cp src/LZ4Stream.h ../../third-party/include/ -cp src/SceneGenerator.h ../../third-party/include/ -cp src/serum.h ../../third-party/include/ -cp src/TimeUtils.h ../../third-party/include/ -cp src/serum-decode.h ../../third-party/include/ -cp build/libserum.a ../../third-party/build-libs/ios/arm64/ +cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/libserum.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ cd .. # @@ -84,17 +88,15 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ../../third-party/include/ -cp build/libpupdmd.a ../../third-party/build-libs/ios/arm64/ +cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/libpupdmd.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ cd .. # # build libvni and copy to external # -curl -sL https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz -o libvni-${LIBVNI_SHA}.tar.gz -tar xzf libvni-${LIBVNI_SHA}.tar.gz -mv libvni-${LIBVNI_SHA} libvni +ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" cd libvni platforms/ios/arm64/external.sh cmake \ @@ -105,6 +107,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ../../third-party/include/ -cp build/libvni.a ../../third-party/build-libs/ios/arm64/ +cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/libvni.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ cd .. diff --git a/platforms/linux/aarch64/build.sh b/platforms/linux/aarch64/build.sh new file mode 100755 index 0000000..3e71c09 --- /dev/null +++ b/platforms/linux/aarch64/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +./platforms/build-common.sh linux aarch64 diff --git a/platforms/linux/aarch64/external.sh b/platforms/linux/aarch64/external.sh index e9214b6..1acfd87 100755 --- a/platforms/linux/aarch64/external.sh +++ b/platforms/linux/aarch64/external.sh @@ -7,15 +7,23 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" +ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" +ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" +ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" echo "" NUM_PROCS=$(nproc) + rm -rf external -mkdir external +mkdir -p \ + external \ + third-party/include \ + third-party/build-libs/linux/aarch64 \ + third-party/runtime-libs/linux/aarch64 cd external # @@ -30,18 +38,16 @@ cd libusb ./configure \ --enable-shared make -j${NUM_PROCS} -mkdir -p ../../third-party/include/libusb-1.0 -cp libusb/libusb.h ../../third-party/include/libusb-1.0 -cp -a libusb/.libs/libusb-1.0.{so,so.*} ../../third-party/runtime-libs/linux/aarch64/ +mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp -a libusb/.libs/libusb-1.0.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ cd .. # # build libzedmd and copy to external # -curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz -tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz -mv libzedmd-${LIBZEDMD_SHA} libzedmd +ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/linux/aarch64/external.sh cmake \ @@ -53,16 +59,16 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ../../third-party/include/ -cp third-party/include/libserialport.h ../../third-party/include/ -cp third-party/include/cargs.h ../../third-party/include/ -cp -r third-party/include/komihash ../../third-party/include/ -cp -r third-party/include/sockpp ../../third-party/include/ -cp third-party/include/FrameUtil.h ../../third-party/include/ -cp third-party/runtime-libs/linux/aarch64/libcargs.so ../../third-party/runtime-libs/linux/aarch64/ -cp -a third-party/runtime-libs/linux/aarch64/libserialport.{so,so.*} ../../third-party/runtime-libs/linux/aarch64/ -cp -a third-party/runtime-libs/linux/aarch64/libsockpp.{so,so.*} ../../third-party/runtime-libs/linux/aarch64/ -cp -a build/libzedmd.{so,so.*} ../../third-party/runtime-libs/linux/aarch64/ +cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/libserialport.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/cargs.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/runtime-libs/linux/aarch64/libcargs.so ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ +cp -a third-party/runtime-libs/linux/aarch64/libserialport.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ +cp -a third-party/runtime-libs/linux/aarch64/libsockpp.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ +cp -a build/libzedmd.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ cp -r test ../../ cd .. @@ -70,9 +76,7 @@ cd .. # build libserum and copy to external # -curl -sL https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz -tar xzf libserum-${LIBSERUM_SHA}.tar.gz -mv libserum-${LIBSERUM_SHA} libserum +ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" cd libserum cmake \ -DPLATFORM=linux \ @@ -82,13 +86,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ../../third-party/include/ -cp src/LZ4Stream.h ../../third-party/include/ -cp src/SceneGenerator.h ../../third-party/include/ -cp src/serum.h ../../third-party/include/ -cp src/TimeUtils.h ../../third-party/include/ -cp src/serum-decode.h ../../third-party/include/ -cp -a build/libserum.{so,so.*} ../../third-party/runtime-libs/linux/aarch64/ +cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a build/libserum.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ cd .. # @@ -107,17 +111,15 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ../../third-party/include/ -cp -a build/libpupdmd.{so,so.*} ../../third-party/runtime-libs/linux/aarch64/ +cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a build/libpupdmd.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ cd .. # # build libvni and copy to external # -curl -sL https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz -o libvni-${LIBVNI_SHA}.tar.gz -tar xzf libvni-${LIBVNI_SHA}.tar.gz -mv libvni-${LIBVNI_SHA} libvni +ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" cd libvni platforms/linux/aarch64/external.sh cmake \ @@ -128,6 +130,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ../../third-party/include/ -cp -a build/libvni.{so,so.*} ../../third-party/runtime-libs/linux/aarch64/ +cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a build/libvni.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ cd .. diff --git a/platforms/linux/x64/build.sh b/platforms/linux/x64/build.sh new file mode 100755 index 0000000..be4359d --- /dev/null +++ b/platforms/linux/x64/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +./platforms/build-common.sh linux x64 diff --git a/platforms/linux/x64/external.sh b/platforms/linux/x64/external.sh index 2661ed1..a84041c 100755 --- a/platforms/linux/x64/external.sh +++ b/platforms/linux/x64/external.sh @@ -7,15 +7,23 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" +ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" +ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" +ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" echo "" NUM_PROCS=$(nproc) + rm -rf external -mkdir external +mkdir -p \ + external \ + third-party/include \ + third-party/build-libs/linux/x64 \ + third-party/runtime-libs/linux/x64 cd external # @@ -30,18 +38,16 @@ cd libusb ./configure \ --enable-shared make -j${NUM_PROCS} -mkdir -p ../../third-party/include/libusb-1.0 -cp libusb/libusb.h ../../third-party/include/libusb-1.0 -cp -a libusb/.libs/libusb-1.0.{so,so.*} ../../third-party/runtime-libs/linux/x64/ +mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp -a libusb/.libs/libusb-1.0.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ cd .. # # build libzedmd and copy to external # -curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz -tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz -mv libzedmd-${LIBZEDMD_SHA} libzedmd +ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/linux/x64/external.sh cmake \ @@ -52,16 +58,16 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ../../third-party/include/ -cp third-party/include/libserialport.h ../../third-party/include/ -cp third-party/include/cargs.h ../../third-party/include/ -cp -r third-party/include/komihash ../../third-party/include/ -cp -r third-party/include/sockpp ../../third-party/include/ -cp third-party/include/FrameUtil.h ../../third-party/include/ -cp third-party/runtime-libs/linux/x64/libcargs.so ../../third-party/runtime-libs/linux/x64/ -cp -a third-party/runtime-libs/linux/x64/libserialport.{so,so.*} ../../third-party/runtime-libs/linux/x64/ -cp -a third-party/runtime-libs/linux/x64/libsockpp.{so,so.*} ../../third-party/runtime-libs/linux/x64/ -cp -a build/libzedmd.{so,so.*} ../../third-party/runtime-libs/linux/x64/ +cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/libserialport.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/cargs.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/runtime-libs/linux/x64/libcargs.so ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ +cp -a third-party/runtime-libs/linux/x64/libserialport.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ +cp -a third-party/runtime-libs/linux/x64/libsockpp.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ +cp -a build/libzedmd.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ cp -r test ../../ cd .. @@ -69,9 +75,7 @@ cd .. # build libserum and copy to external # -curl -sL https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz -tar xzf libserum-${LIBSERUM_SHA}.tar.gz -mv libserum-${LIBSERUM_SHA} libserum +ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" cd libserum cmake \ -DPLATFORM=linux \ @@ -81,13 +85,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ../../third-party/include/ -cp src/LZ4Stream.h ../../third-party/include/ -cp src/SceneGenerator.h ../../third-party/include/ -cp src/serum.h ../../third-party/include/ -cp src/TimeUtils.h ../../third-party/include/ -cp src/serum-decode.h ../../third-party/include/ -cp -a build/libserum.{so,so.*} ../../third-party/runtime-libs/linux/x64/ +cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a build/libserum.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ cd .. # @@ -106,17 +110,15 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ../../third-party/include/ -cp -a build/libpupdmd.{so,so.*} ../../third-party/runtime-libs/linux/x64/ +cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a build/libpupdmd.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ cd .. # # build libvni and copy to external # -curl -sL https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz -o libvni-${LIBVNI_SHA}.tar.gz -tar xzf libvni-${LIBVNI_SHA}.tar.gz -mv libvni-${LIBVNI_SHA} libvni +ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" cd libvni platforms/linux/x64/external.sh cmake \ @@ -127,6 +129,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ../../third-party/include/ -cp -a build/libvni.{so,so.*} ../../third-party/runtime-libs/linux/x64/ +cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a build/libvni.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ cd .. diff --git a/platforms/macos/arm64/build.sh b/platforms/macos/arm64/build.sh new file mode 100755 index 0000000..9743dfb --- /dev/null +++ b/platforms/macos/arm64/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +./platforms/build-common.sh macos arm64 diff --git a/platforms/macos/arm64/external.sh b/platforms/macos/arm64/external.sh index e50850a..21722a7 100755 --- a/platforms/macos/arm64/external.sh +++ b/platforms/macos/arm64/external.sh @@ -7,15 +7,23 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" +ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" +ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" +ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" echo "" NUM_PROCS=$(sysctl -n hw.ncpu) + rm -rf external -mkdir external +mkdir -p \ + external \ + third-party/include \ + third-party/build-libs/macos/arm64 \ + third-party/runtime-libs/macos/arm64 cd external # @@ -32,18 +40,16 @@ cd libusb CFLAGS="-arch arm64" \ LDFLAGS="-Wl,-install_name,@rpath/libusb-1.0.dylib" make -j${NUM_PROCS} -mkdir -p ../../third-party/include/libusb-1.0 -cp libusb/libusb.h ../../third-party/include/libusb-1.0 -cp -a libusb/.libs/libusb*.dylib ../../third-party/runtime-libs/macos/arm64/ +mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp -a libusb/.libs/libusb*.dylib ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ cd .. # # build libzedmd and copy to external # -curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz -tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz -mv libzedmd-${LIBZEDMD_SHA} libzedmd +ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/macos/arm64/external.sh cmake \ @@ -56,16 +62,16 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ../../third-party/include/ -cp third-party/include/libserialport.h ../../third-party/include/ -cp third-party/include/cargs.h ../../third-party/include/ -cp -r third-party/include/komihash ../../third-party/include/ -cp -r third-party/include/sockpp ../../third-party/include/ -cp third-party/include/FrameUtil.h ../../third-party/include/ -cp third-party/runtime-libs/macos/arm64/libcargs.dylib ../../third-party/runtime-libs/macos/arm64/ -cp -a third-party/runtime-libs/macos/arm64/libserialport.{dylib,*.dylib} ../../third-party/runtime-libs/macos/arm64/ -cp -a third-party/runtime-libs/macos/arm64/libsockpp.{dylib,*.dylib} ../../third-party/runtime-libs/macos/arm64/ -cp -a build/libzedmd.{dylib,*.dylib} ../../third-party/runtime-libs/macos/arm64/ +cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/libserialport.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/cargs.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/runtime-libs/macos/arm64/libcargs.dylib ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ +cp -a third-party/runtime-libs/macos/arm64/libserialport.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ +cp -a third-party/runtime-libs/macos/arm64/libsockpp.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ +cp -a build/libzedmd.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ cp -r test ../../ cd .. @@ -73,9 +79,7 @@ cd .. # build libserum and copy to external # -curl -sL https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz -tar xzf libserum-${LIBSERUM_SHA}.tar.gz -mv libserum-${LIBSERUM_SHA} libserum +ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" cd libserum cmake \ -DPLATFORM=macos \ @@ -85,13 +89,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ../../third-party/include/ -cp src/LZ4Stream.h ../../third-party/include/ -cp src/SceneGenerator.h ../../third-party/include/ -cp src/serum.h ../../third-party/include/ -cp src/TimeUtils.h ../../third-party/include/ -cp src/serum-decode.h ../../third-party/include/ -cp -a build/libserum.{dylib,*.dylib} ../../third-party/runtime-libs/macos/arm64/ +cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a build/libserum.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ cd .. # @@ -110,17 +114,15 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ../../third-party/include/ -cp -a build/libpupdmd.{dylib,*.dylib} ../../third-party/runtime-libs/macos/arm64/ +cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a build/libpupdmd.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ cd .. # # build libvni and copy to external # -curl -sL https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz -o libvni-${LIBVNI_SHA}.tar.gz -tar xzf libvni-${LIBVNI_SHA}.tar.gz -mv libvni-${LIBVNI_SHA} libvni +ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" cd libvni platforms/macos/arm64/external.sh cmake \ @@ -131,6 +133,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ../../third-party/include/ -cp -a build/libvni.{dylib,*.dylib} ../../third-party/runtime-libs/macos/arm64/ +cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a build/libvni.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ cd .. diff --git a/platforms/macos/x64/build.sh b/platforms/macos/x64/build.sh new file mode 100755 index 0000000..3f0546e --- /dev/null +++ b/platforms/macos/x64/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +./platforms/build-common.sh macos x64 diff --git a/platforms/macos/x64/external.sh b/platforms/macos/x64/external.sh index 980f5e4..0c5ff7d 100755 --- a/platforms/macos/x64/external.sh +++ b/platforms/macos/x64/external.sh @@ -7,15 +7,23 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" +ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" +ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" +ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" echo "" NUM_PROCS=$(sysctl -n hw.ncpu) + rm -rf external -mkdir external +mkdir -p \ + external \ + third-party/include \ + third-party/build-libs/macos/x64 \ + third-party/runtime-libs/macos/x64 cd external # @@ -32,18 +40,16 @@ cd libusb CFLAGS="-arch x86_64" \ LDFLAGS="-Wl,-install_name,@rpath/libusb-1.0.dylib" make -j${NUM_PROCS} -mkdir -p ../../third-party/include/libusb-1.0 -cp libusb/libusb.h ../../third-party/include/libusb-1.0 -cp -a libusb/.libs/libusb*.dylib ../../third-party/runtime-libs/macos/x64/ +mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp -a libusb/.libs/libusb*.dylib ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ cd .. # # build libzedmd and copy to external # -curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz -tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz -mv libzedmd-${LIBZEDMD_SHA} libzedmd +ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/macos/x64/external.sh cmake \ @@ -54,16 +60,16 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ../../third-party/include/ -cp third-party/include/libserialport.h ../../third-party/include/ -cp third-party/include/cargs.h ../../third-party/include/ -cp -r third-party/include/komihash ../../third-party/include/ -cp -r third-party/include/sockpp ../../third-party/include/ -cp third-party/include/FrameUtil.h ../../third-party/include/ -cp third-party/runtime-libs/macos/x64/libcargs.dylib ../../third-party/runtime-libs/macos/x64/ -cp -a third-party/runtime-libs/macos/x64/libserialport.{dylib,*.dylib} ../../third-party/runtime-libs/macos/x64/ -cp -a third-party/runtime-libs/macos/x64/libsockpp.{dylib,*.dylib} ../../third-party/runtime-libs/macos/x64/ -cp -a build/libzedmd.{dylib,*.dylib} ../../third-party/runtime-libs/macos/x64/ +cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/libserialport.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/cargs.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/runtime-libs/macos/x64/libcargs.dylib ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ +cp -a third-party/runtime-libs/macos/x64/libserialport.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ +cp -a third-party/runtime-libs/macos/x64/libsockpp.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ +cp -a build/libzedmd.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ cp -r test ../../ cd .. @@ -71,9 +77,7 @@ cd .. # build libserum and copy to external # -curl -sL https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz -tar xzf libserum-${LIBSERUM_SHA}.tar.gz -mv libserum-${LIBSERUM_SHA} libserum +ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" cd libserum cmake \ -DPLATFORM=macos \ @@ -83,13 +87,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ../../third-party/include/ -cp src/LZ4Stream.h ../../third-party/include/ -cp src/SceneGenerator.h ../../third-party/include/ -cp src/serum.h ../../third-party/include/ -cp src/TimeUtils.h ../../third-party/include/ -cp src/serum-decode.h ../../third-party/include/ -cp -a build/libserum.{dylib,*.dylib} ../../third-party/runtime-libs/macos/x64/ +cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a build/libserum.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ cd .. # @@ -108,17 +112,15 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ../../third-party/include/ -cp -a build/libpupdmd.{dylib,*.dylib} ../../third-party/runtime-libs/macos/x64/ +cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a build/libpupdmd.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ cd .. # # build libvni and copy to external # -curl -sL https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz -o libvni-${LIBVNI_SHA}.tar.gz -tar xzf libvni-${LIBVNI_SHA}.tar.gz -mv libvni-${LIBVNI_SHA} libvni +ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" cd libvni platforms/macos/x64/external.sh cmake \ @@ -129,6 +131,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ../../third-party/include/ -cp -a build/libvni.{dylib,*.dylib} ../../third-party/runtime-libs/macos/x64/ +cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a build/libvni.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ cd .. diff --git a/platforms/tvos/arm64/build.sh b/platforms/tvos/arm64/build.sh new file mode 100755 index 0000000..24aec36 --- /dev/null +++ b/platforms/tvos/arm64/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +./platforms/build-common.sh tvos arm64 diff --git a/platforms/tvos/arm64/external.sh b/platforms/tvos/arm64/external.sh index 0f6dfeb..647122c 100755 --- a/platforms/tvos/arm64/external.sh +++ b/platforms/tvos/arm64/external.sh @@ -6,24 +6,30 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" +ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" +ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" +ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" echo "" NUM_PROCS=$(sysctl -n hw.ncpu) + rm -rf external -mkdir external +mkdir -p \ + external \ + third-party/include \ + third-party/build-libs/tvos/arm64 \ + third-party/runtime-libs/tvos/arm64 cd external # # build libzedmd and copy to external # -curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz -tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz -mv libzedmd-${LIBZEDMD_SHA} libzedmd +ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/tvos/arm64/external.sh cmake \ @@ -34,12 +40,12 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ../../third-party/include/ -cp -r third-party/include/komihash ../../third-party/include/ -cp -r third-party/include/sockpp ../../third-party/include/ -cp third-party/include/FrameUtil.h ../../third-party/include/ -cp -a third-party/build-libs/tvos/arm64/libsockpp.a ../../third-party/build-libs/tvos/arm64/ -cp build/libzedmd.a ../../third-party/build-libs/tvos/arm64/ +cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -a third-party/build-libs/tvos/arm64/libsockpp.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ +cp build/libzedmd.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ cp -r test ../../ cd .. @@ -47,9 +53,7 @@ cd .. # build libserum and copy to external # -curl -sL https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz -tar xzf libserum-${LIBSERUM_SHA}.tar.gz -mv libserum-${LIBSERUM_SHA} libserum +ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" cd libserum cmake \ -DPLATFORM=tvos \ @@ -59,13 +63,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ../../third-party/include/ -cp src/LZ4Stream.h ../../third-party/include/ -cp src/SceneGenerator.h ../../third-party/include/ -cp src/serum.h ../../third-party/include/ -cp src/TimeUtils.h ../../third-party/include/ -cp src/serum-decode.h ../../third-party/include/ -cp build/libserum.a ../../third-party/build-libs/tvos/arm64/ +cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/libserum.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ cd .. # @@ -84,17 +88,15 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ../../third-party/include/ -cp build/libpupdmd.a ../../third-party/build-libs/tvos/arm64/ +cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/libpupdmd.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ cd .. # # build libvni and copy to external # -curl -sL https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz -o libvni-${LIBVNI_SHA}.tar.gz -tar xzf libvni-${LIBVNI_SHA}.tar.gz -mv libvni-${LIBVNI_SHA} libvni +ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" cd libvni platforms/tvos/arm64/external.sh cmake \ @@ -105,6 +107,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ../../third-party/include/ -cp build/libvni.a ../../third-party/build-libs/tvos/arm64/ +cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/libvni.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ cd .. diff --git a/platforms/win-mingw/x64/build.sh b/platforms/win-mingw/x64/build.sh new file mode 100755 index 0000000..195abc5 --- /dev/null +++ b/platforms/win-mingw/x64/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +./platforms/build-common.sh win-mingw x64 diff --git a/platforms/win-mingw/x64/external.sh b/platforms/win-mingw/x64/external.sh index 449db16..faee1eb 100755 --- a/platforms/win-mingw/x64/external.sh +++ b/platforms/win-mingw/x64/external.sh @@ -7,15 +7,23 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" +ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" +ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" +ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" echo "" NUM_PROCS=$(nproc) + rm -rf external -mkdir external +mkdir -p \ + external \ + third-party/include \ + third-party/build-libs/win-mingw/x64 \ + third-party/runtime-libs/win-mingw/x64 cd external # @@ -36,19 +44,17 @@ sed -i.bak 's/libusb-1\.0/libusb64-1.0/g' libusb/libusb64-1.0.rc ./configure \ --enable-shared make -j${NUM_PROCS} -mkdir -p ../../third-party/include/libusb-1.0 -cp libusb/libusb.h ../../third-party/include/libusb-1.0 -cp libusb/.libs/libusb64-1.0.dll.a ../../third-party/build-libs/win-mingw/x64/ -cp libusb/.libs/libusb64-1.0.dll ../../third-party/runtime-libs/win-mingw/x64/ +mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/.libs/libusb64-1.0.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp libusb/.libs/libusb64-1.0.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ cd .. # # build libzedmd and copy to external # -curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz -tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz -mv libzedmd-${LIBZEDMD_SHA} libzedmd +ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/win-mingw/x64/external.sh cmake \ @@ -59,20 +65,20 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ../../third-party/include/ -cp third-party/include/cargs.h ../../third-party/include/ -cp -r third-party/include/komihash ../../third-party/include/ -cp -r third-party/include/sockpp ../../third-party/include/ -cp third-party/include/FrameUtil.h ../../third-party/include/ -cp third-party/include/libserialport.h ../../third-party/include/ -cp third-party/build-libs/win-mingw/x64/libcargs64.dll.a ../../third-party/build-libs/win-mingw/x64/ -cp third-party/runtime-libs/win-mingw/x64/libcargs64.dll ../../third-party/runtime-libs/win-mingw/x64/ -cp third-party/build-libs/win-mingw/x64/libserialport64.dll.a ../../third-party/build-libs/win-mingw/x64/ -cp third-party/runtime-libs/win-mingw/x64/libserialport64-0.dll ../../third-party/runtime-libs/win-mingw/x64/ -cp third-party/build-libs/win-mingw/x64/libsockpp64.dll.a ../../third-party/build-libs/win-mingw/x64/ -cp third-party/runtime-libs/win-mingw/x64/libsockpp64.dll ../../third-party/runtime-libs/win-mingw/x64/ -cp build/zedmd64.dll.a ../../third-party/build-libs/win-mingw/x64/ -cp build/zedmd64.dll ../../third-party/runtime-libs/win-mingw/x64/ +cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/cargs.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/libserialport.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/build-libs/win-mingw/x64/libcargs64.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp third-party/runtime-libs/win-mingw/x64/libcargs64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp third-party/build-libs/win-mingw/x64/libserialport64.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp third-party/runtime-libs/win-mingw/x64/libserialport64-0.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp third-party/build-libs/win-mingw/x64/libsockpp64.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp third-party/runtime-libs/win-mingw/x64/libsockpp64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp build/zedmd64.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp build/zedmd64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ cp -r test ../../ cd .. @@ -80,9 +86,7 @@ cd .. # build libserum and copy to external # -curl -sL https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz -tar xzf libserum-${LIBSERUM_SHA}.tar.gz -mv libserum-${LIBSERUM_SHA} libserum +ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" cd libserum cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ @@ -92,14 +96,14 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ../../third-party/include/ -cp src/LZ4Stream.h ../../third-party/include/ -cp src/SceneGenerator.h ../../third-party/include/ -cp src/serum.h ../../third-party/include/ -cp src/TimeUtils.h ../../third-party/include/ -cp src/serum-decode.h ../../third-party/include/ -cp build/serum64.dll.a ../../third-party/build-libs/win-mingw/x64/ -cp build/serum64.dll ../../third-party/runtime-libs/win-mingw/x64/ +cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/serum64.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp build/serum64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ cd .. # @@ -118,18 +122,16 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ../../third-party/include/ -cp build/pupdmd64.dll.a ../../third-party/build-libs/win-mingw/x64/ -cp build/pupdmd64.dll ../../third-party/runtime-libs/win-mingw/x64/ +cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/pupdmd64.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp build/pupdmd64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ cd .. # # build libvni and copy to external # -curl -sL https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz -o libvni-${LIBVNI_SHA}.tar.gz -tar xzf libvni-${LIBVNI_SHA}.tar.gz -mv libvni-${LIBVNI_SHA} libvni +ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" cd libvni platforms/win-mingw/x64/external.sh cmake \ @@ -140,9 +142,9 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ../../third-party/include/ -cp build/vni64.dll.a ../../third-party/build-libs/win-mingw/x64/ -cp build/vni64.dll ../../third-party/runtime-libs/win-mingw/x64/ +cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/vni64.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp build/vni64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ cd .. # @@ -151,6 +153,6 @@ cd .. UCRT64_BIN="${MINGW_PREFIX}/bin" -cp "${UCRT64_BIN}/libgcc_s_seh-1.dll" ../third-party/runtime-libs/win-mingw/x64/ -cp "${UCRT64_BIN}/libstdc++-6.dll" ../third-party/runtime-libs/win-mingw/x64/ -cp "${UCRT64_BIN}/libwinpthread-1.dll" ../third-party/runtime-libs/win-mingw/x64/ +cp "${UCRT64_BIN}/libgcc_s_seh-1.dll" ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp "${UCRT64_BIN}/libstdc++-6.dll" ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp "${UCRT64_BIN}/libwinpthread-1.dll" ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ diff --git a/platforms/win/x64/build.sh b/platforms/win/x64/build.sh new file mode 100755 index 0000000..a259ccd --- /dev/null +++ b/platforms/win/x64/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +./platforms/build-common.sh win x64 diff --git a/platforms/win/x64/external.sh b/platforms/win/x64/external.sh index a206e7e..b399b43 100755 --- a/platforms/win/x64/external.sh +++ b/platforms/win/x64/external.sh @@ -14,13 +14,21 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" +ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" +ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" +ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" echo "" + rm -rf external -mkdir external +mkdir -p \ + external \ + third-party/include \ + third-party/build-libs/win/x64 \ + third-party/runtime-libs/win/x64 cd external # @@ -44,19 +52,17 @@ MSYSTEM=UCRT64 "${MSYS2_PATH}/usr/bin/bash.exe" -l -c " ./configure --enable-shared && make -j\$(nproc) " -mkdir -p ../../third-party/include/libusb-1.0 -cp libusb/libusb.h ../../third-party/include/libusb-1.0 -cp libusb/.libs/libusb64-1.0.dll.a ../../third-party/build-libs/win/x64/libusb64-1.0.lib -cp libusb/.libs/libusb64-1.0.dll ../../third-party/runtime-libs/win/x64/ +mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/.libs/libusb64-1.0.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/libusb64-1.0.lib +cp libusb/.libs/libusb64-1.0.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ cd .. # # build libzedmd and copy to external # -curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz -tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz -mv libzedmd-${LIBZEDMD_SHA} libzedmd +ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/win/x64/external.sh cmake \ @@ -67,23 +73,23 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp src/ZeDMD.h ../../third-party/include/ -cp third-party/include/cargs.h ../../third-party/include/ -cp -r third-party/include/komihash ../../third-party/include/ -cp -r third-party/include/sockpp ../../third-party/include/ -cp third-party/include/FrameUtil.h ../../third-party/include/ -cp third-party/include/libserialport.h ../../third-party/include/ -cp third-party/build-libs/win/x64/cargs64.lib ../../third-party/build-libs/win/x64/ -cp third-party/runtime-libs/win/x64/cargs64.dll ../../third-party/runtime-libs/win/x64/ -cp third-party/build-libs/win/x64/libserialport64.lib ../../third-party/build-libs/win/x64/ -cp third-party/runtime-libs/win/x64/libserialport64-0.dll ../../third-party/runtime-libs/win/x64/ -cp third-party/build-libs/win/x64/sockpp64.lib ../../third-party/build-libs/win/x64/ -cp third-party/runtime-libs/win/x64/sockpp64.dll ../../third-party/runtime-libs/win/x64/ -cp third-party/runtime-libs/win/x64/libgcc_s_seh-1.dll ../../third-party/runtime-libs/win/x64/ -cp third-party/runtime-libs/win/x64/libstdc++-6.dll ../../third-party/runtime-libs/win/x64/ -cp third-party/runtime-libs/win/x64/libwinpthread-1.dll ../../third-party/runtime-libs/win/x64/ -cp build/${BUILD_TYPE}/zedmd64.lib ../../third-party/build-libs/win/x64/ -cp build/${BUILD_TYPE}/zedmd64.dll ../../third-party/runtime-libs/win/x64/ +cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/cargs.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/libserialport.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/build-libs/win/x64/cargs64.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/ +cp third-party/runtime-libs/win/x64/cargs64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp third-party/build-libs/win/x64/libserialport64.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/ +cp third-party/runtime-libs/win/x64/libserialport64-0.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp third-party/build-libs/win/x64/sockpp64.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/ +cp third-party/runtime-libs/win/x64/sockpp64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp third-party/runtime-libs/win/x64/libgcc_s_seh-1.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp third-party/runtime-libs/win/x64/libstdc++-6.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp third-party/runtime-libs/win/x64/libwinpthread-1.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp build/${BUILD_TYPE}/zedmd64.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/ +cp build/${BUILD_TYPE}/zedmd64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ cp -r test ../../ cd .. @@ -91,9 +97,7 @@ cd .. # build libserum and copy to external # -curl -sL https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz -tar xzf libserum-${LIBSERUM_SHA}.tar.gz -mv libserum-${LIBSERUM_SHA} libserum +ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" cd libserum cmake \ -G "Visual Studio 18 2026" \ @@ -103,14 +107,14 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp -r third-party/include/lz4 ../../third-party/include/ -cp src/LZ4Stream.h ../../third-party/include/ -cp src/SceneGenerator.h ../../third-party/include/ -cp src/serum.h ../../third-party/include/ -cp src/TimeUtils.h ../../third-party/include/ -cp src/serum-decode.h ../../third-party/include/ -cp build/${BUILD_TYPE}/serum64.lib ../../third-party/build-libs/win/x64/ -cp build/${BUILD_TYPE}/serum64.dll ../../third-party/runtime-libs/win/x64/ +cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/${BUILD_TYPE}/serum64.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/ +cp build/${BUILD_TYPE}/serum64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ cd .. # @@ -129,18 +133,16 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp src/pupdmd.h ../../third-party/include/ -cp build/${BUILD_TYPE}/pupdmd64.lib ../../third-party/build-libs/win/x64/ -cp build/${BUILD_TYPE}/pupdmd64.dll ../../third-party/runtime-libs/win/x64/ +cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/${BUILD_TYPE}/pupdmd64.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/ +cp build/${BUILD_TYPE}/pupdmd64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ cd .. # # build libvni and copy to external # -curl -sL https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz -o libvni-${LIBVNI_SHA}.tar.gz -tar xzf libvni-${LIBVNI_SHA}.tar.gz -mv libvni-${LIBVNI_SHA} libvni +ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" cd libvni platforms/win/x64/external.sh cmake \ @@ -151,7 +153,7 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp src/vni.h ../../third-party/include/ -cp build/${BUILD_TYPE}/vni64.lib ../../third-party/build-libs/win/x64/ -cp build/${BUILD_TYPE}/vni64.dll ../../third-party/runtime-libs/win/x64/ +cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/${BUILD_TYPE}/vni64.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/ +cp build/${BUILD_TYPE}/vni64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ cd .. diff --git a/platforms/win/x86/build.sh b/platforms/win/x86/build.sh new file mode 100755 index 0000000..46d0bdd --- /dev/null +++ b/platforms/win/x86/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +./platforms/build-common.sh win x86 diff --git a/platforms/win/x86/external.sh b/platforms/win/x86/external.sh index 593addb..519c378 100755 --- a/platforms/win/x86/external.sh +++ b/platforms/win/x86/external.sh @@ -14,13 +14,21 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" +ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" +ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" +ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" echo "" + rm -rf external -mkdir external +mkdir -p \ + external \ + third-party/include \ + third-party/build-libs/win/x86 \ + third-party/runtime-libs/win/x86 cd external # @@ -38,19 +46,17 @@ MSYSTEM=MINGW32 "${MSYS2_PATH}/usr/bin/bash.exe" -l -c " ./configure --enable-shared && make -j\$(nproc) " -mkdir -p ../../third-party/include/libusb-1.0 -cp libusb/libusb.h ../../third-party/include/libusb-1.0 -cp libusb/.libs/libusb-1.0.dll.a ../../third-party/build-libs/win/x86/libusb-1.0.lib -cp libusb/.libs/libusb-1.0.dll ../../third-party/runtime-libs/win/x86/ +mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/.libs/libusb-1.0.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/libusb-1.0.lib +cp libusb/.libs/libusb-1.0.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ cd .. # # build libzedmd and copy to external # -curl -sL https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz -o libzedmd-${LIBZEDMD_SHA}.tar.gz -tar xzf libzedmd-${LIBZEDMD_SHA}.tar.gz -mv libzedmd-${LIBZEDMD_SHA} libzedmd +ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/win/x86/external.sh cmake \ @@ -62,23 +68,23 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp src/ZeDMD.h ../../third-party/include/ -cp third-party/include/libserialport.h ../../third-party/include/ -cp third-party/include/cargs.h ../../third-party/include/ -cp -r third-party/include/komihash ../../third-party/include/ -cp -r third-party/include/sockpp ../../third-party/include/ -cp third-party/include/FrameUtil.h ../../third-party/include/ -cp third-party/build-libs/win/x86/cargs.lib ../../third-party/build-libs/win/x86/ -cp third-party/runtime-libs/win/x86/cargs.dll ../../third-party/runtime-libs/win/x86/ -cp third-party/build-libs/win/x86/libserialport.lib ../../third-party/build-libs/win/x86/ -cp third-party/runtime-libs/win/x86/libserialport-0.dll ../../third-party/runtime-libs/win/x86/ -cp third-party/build-libs/win/x86/sockpp.lib ../../third-party/build-libs/win/x86/ -cp third-party/runtime-libs/win/x86/sockpp.dll ../../third-party/runtime-libs/win/x86/ -cp third-party/runtime-libs/win/x86/libgcc_s_dw2-1.dll ../../third-party/runtime-libs/win/x86/ -cp third-party/runtime-libs/win/x86/libstdc++-6.dll ../../third-party/runtime-libs/win/x86/ -cp third-party/runtime-libs/win/x86/libwinpthread-1.dll ../../third-party/runtime-libs/win/x86/ -cp build/${BUILD_TYPE}/zedmd.lib ../../third-party/build-libs/win/x86/ -cp build/${BUILD_TYPE}/zedmd.dll ../../third-party/runtime-libs/win/x86/ +cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/libserialport.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/cargs.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp third-party/build-libs/win/x86/cargs.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/ +cp third-party/runtime-libs/win/x86/cargs.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp third-party/build-libs/win/x86/libserialport.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/ +cp third-party/runtime-libs/win/x86/libserialport-0.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp third-party/build-libs/win/x86/sockpp.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/ +cp third-party/runtime-libs/win/x86/sockpp.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp third-party/runtime-libs/win/x86/libgcc_s_dw2-1.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp third-party/runtime-libs/win/x86/libstdc++-6.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp third-party/runtime-libs/win/x86/libwinpthread-1.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp build/${BUILD_TYPE}/zedmd.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/ +cp build/${BUILD_TYPE}/zedmd.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ cp -r test ../../ cd .. @@ -86,9 +92,7 @@ cd .. # build libserum and copy to external # -curl -sL https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz -o libserum-${LIBSERUM_SHA}.tar.gz -tar xzf libserum-${LIBSERUM_SHA}.tar.gz -mv libserum-${LIBSERUM_SHA} libserum +ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" cd libserum cmake \ -G "Visual Studio 18 2026" \ @@ -99,14 +103,14 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp -r third-party/include/lz4 ../../third-party/include/ -cp src/LZ4Stream.h ../../third-party/include/ -cp src/SceneGenerator.h ../../third-party/include/ -cp src/serum.h ../../third-party/include/ -cp src/TimeUtils.h ../../third-party/include/ -cp src/serum-decode.h ../../third-party/include/ -cp build/${BUILD_TYPE}/serum.lib ../../third-party/build-libs/win/x86/ -cp build/${BUILD_TYPE}/serum.dll ../../third-party/runtime-libs/win/x86/ +cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/${BUILD_TYPE}/serum.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/ +cp build/${BUILD_TYPE}/serum.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ cd .. # @@ -126,18 +130,16 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp src/pupdmd.h ../../third-party/include/ -cp build/${BUILD_TYPE}/pupdmd.lib ../../third-party/build-libs/win/x86/ -cp build/${BUILD_TYPE}/pupdmd.dll ../../third-party/runtime-libs/win/x86/ +cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/${BUILD_TYPE}/pupdmd.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/ +cp build/${BUILD_TYPE}/pupdmd.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ cd .. # # build libvni and copy to external # -curl -sL https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz -o libvni-${LIBVNI_SHA}.tar.gz -tar xzf libvni-${LIBVNI_SHA}.tar.gz -mv libvni-${LIBVNI_SHA} libvni +ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" cd libvni platforms/win/x86/external.sh cmake \ @@ -149,7 +151,7 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp src/vni.h ../../third-party/include/ -cp build/${BUILD_TYPE}/vni.lib ../../third-party/build-libs/win/x86/ -cp build/${BUILD_TYPE}/vni.dll ../../third-party/runtime-libs/win/x86/ +cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ +cp build/${BUILD_TYPE}/vni.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/ +cp build/${BUILD_TYPE}/vni.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ cd .. From 4f3acbdd9b2230db934cdeb54c275cf9ebef9a61 Mon Sep 17 00:00:00 2001 From: Markus Kalkbrenner Date: Tue, 30 Jun 2026 21:51:48 +0200 Subject: [PATCH 2/5] macos deployment target --- platforms/macos/arm64/external.sh | 13 +++++++++++-- platforms/macos/x64/external.sh | 13 +++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/platforms/macos/arm64/external.sh b/platforms/macos/arm64/external.sh index 21722a7..6d18eb9 100755 --- a/platforms/macos/arm64/external.sh +++ b/platforms/macos/arm64/external.sh @@ -4,6 +4,7 @@ set -e source ./platforms/config.sh +export MACOSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET:-${PPUC_MACOS_DEPLOYMENT_TARGET:-$(xcrun --sdk macosx --show-sdk-version 2>/dev/null || echo 14.0)}}" echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" @@ -37,8 +38,8 @@ cd libusb ./autogen.sh ./configure \ --host=arm-apple-darwin \ - CFLAGS="-arch arm64" \ - LDFLAGS="-Wl,-install_name,@rpath/libusb-1.0.dylib" + CFLAGS="-arch arm64 -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" \ + LDFLAGS="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -Wl,-install_name,@rpath/libusb-1.0.dylib" make -j${NUM_PROCS} mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 @@ -59,6 +60,8 @@ cmake \ -DBUILD_STATIC=OFF \ -DCMAKE_C_VISIBILITY_PRESET=default \ -DCMAKE_CXX_VISIBILITY_PRESET=default \ + -DCMAKE_OSX_ARCHITECTURES=arm64 \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} @@ -86,6 +89,8 @@ cmake \ -DARCH=arm64 \ -DBUILD_SHARED=ON \ -DBUILD_STATIC=OFF \ + -DCMAKE_OSX_ARCHITECTURES=arm64 \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} @@ -111,6 +116,8 @@ cmake \ -DARCH=arm64 \ -DBUILD_SHARED=ON \ -DBUILD_STATIC=OFF \ + -DCMAKE_OSX_ARCHITECTURES=arm64 \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} @@ -130,6 +137,8 @@ cmake \ -DARCH=arm64 \ -DBUILD_SHARED=ON \ -DBUILD_STATIC=OFF \ + -DCMAKE_OSX_ARCHITECTURES=arm64 \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} diff --git a/platforms/macos/x64/external.sh b/platforms/macos/x64/external.sh index 0c5ff7d..b5fc8bc 100755 --- a/platforms/macos/x64/external.sh +++ b/platforms/macos/x64/external.sh @@ -4,6 +4,7 @@ set -e source ./platforms/config.sh +export MACOSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET:-${PPUC_MACOS_DEPLOYMENT_TARGET:-$(xcrun --sdk macosx --show-sdk-version 2>/dev/null || echo 14.0)}}" echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" @@ -37,8 +38,8 @@ cd libusb ./autogen.sh ./configure \ --host=x86_64-apple-darwin \ - CFLAGS="-arch x86_64" \ - LDFLAGS="-Wl,-install_name,@rpath/libusb-1.0.dylib" + CFLAGS="-arch x86_64 -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" \ + LDFLAGS="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -Wl,-install_name,@rpath/libusb-1.0.dylib" make -j${NUM_PROCS} mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 @@ -57,6 +58,8 @@ cmake \ -DARCH=x64 \ -DBUILD_SHARED=ON \ -DBUILD_STATIC=OFF \ + -DCMAKE_OSX_ARCHITECTURES=x86_64 \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} @@ -84,6 +87,8 @@ cmake \ -DARCH=x64 \ -DBUILD_SHARED=ON \ -DBUILD_STATIC=OFF \ + -DCMAKE_OSX_ARCHITECTURES=x86_64 \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} @@ -109,6 +114,8 @@ cmake \ -DARCH=x64 \ -DBUILD_SHARED=ON \ -DBUILD_STATIC=OFF \ + -DCMAKE_OSX_ARCHITECTURES=x86_64 \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} @@ -128,6 +135,8 @@ cmake \ -DARCH=x64 \ -DBUILD_SHARED=ON \ -DBUILD_STATIC=OFF \ + -DCMAKE_OSX_ARCHITECTURES=x86_64 \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} From eeb909217ec75c011059e1a1b991601471bbf5b1 Mon Sep 17 00:00:00 2001 From: Markus Kalkbrenner Date: Thu, 2 Jul 2026 20:09:20 +0200 Subject: [PATCH 3/5] removed PPUC naming --- platforms/android/arm64-v8a/external.sh | 46 ++++++------- platforms/config.sh | 46 +++++++------ platforms/ios-simulator/arm64/external.sh | 46 ++++++------- platforms/ios/arm64/external.sh | 46 ++++++------- platforms/linux/aarch64/external.sh | 60 ++++++++--------- platforms/linux/x64/external.sh | 60 ++++++++--------- platforms/macos/arm64/external.sh | 60 ++++++++--------- platforms/macos/x64/external.sh | 60 ++++++++--------- platforms/tvos/arm64/external.sh | 46 ++++++------- platforms/win-mingw/x64/external.sh | 82 +++++++++++------------ platforms/win/x64/external.sh | 82 +++++++++++------------ platforms/win/x86/external.sh | 82 +++++++++++------------ 12 files changed, 359 insertions(+), 357 deletions(-) diff --git a/platforms/android/arm64-v8a/external.sh b/platforms/android/arm64-v8a/external.sh index 949872c..e922d4a 100755 --- a/platforms/android/arm64-v8a/external.sh +++ b/platforms/android/arm64-v8a/external.sh @@ -6,12 +6,12 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" -ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" +print_dependency_source LIBZEDMD "${LIBZEDMD_SHA}" LIBZEDMD_SOURCE_DIR echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" -ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" +print_dependency_source LIBSERUM "${LIBSERUM_SHA}" LIBSERUM_SOURCE_DIR echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" -ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" +print_dependency_source LIBVNI "${LIBVNI_SHA}" LIBVNI_SOURCE_DIR echo "" if [[ $(uname) == "Linux" ]]; then @@ -35,7 +35,7 @@ cd external # build libzedmd and copy to external # -ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" +prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" tar LIBZEDMD_SOURCE_DIR cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/android/arm64-v8a/external.sh cmake \ @@ -46,12 +46,12 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/runtime-libs/android/arm64-v8a/libsockpp.so ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ -cp build/libzedmd.so ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ +cp src/ZeDMD.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/runtime-libs/android/arm64-v8a/libsockpp.so ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ +cp build/libzedmd.so ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ cp -r test ../../ cd .. @@ -59,7 +59,7 @@ cd .. # build libserum and copy to external # -ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" +prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" tar LIBSERUM_SOURCE_DIR cd libserum cmake \ -DPLATFORM=android \ @@ -69,13 +69,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/libserum.so ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ +cp -r third-party/include/lz4 ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/libserum.so ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ cd .. # @@ -93,15 +93,15 @@ cmake -DPLATFORM=android \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/libpupdmd.so ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ +cp src/pupdmd.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/libpupdmd.so ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ cd .. # # build libvni and copy to external # -ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" +prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" tar LIBVNI_SOURCE_DIR cd libvni platforms/android/arm64-v8a/external.sh cmake \ @@ -112,6 +112,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/libvni.so ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ +cp src/vni.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/libvni.so ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/android/arm64-v8a/ cd .. diff --git a/platforms/config.sh b/platforms/config.sh index 99caca8..3cf7566 100755 --- a/platforms/config.sh +++ b/platforms/config.sh @@ -2,50 +2,51 @@ set -e -LIBZEDMD_SHA=5c44646f2af4b1419b4cdcaed3a2799ca9439221 +LIBZEDMD_SHA=7b22b44c2cc02d5c6779510b1011b20ab6fe5940 LIBSERUM_SHA=21b28325c4272724e719ab2d17481d851eaf9fd8 LIBPUPDMD_SHA=4a1123220e6dce73c87cc584494df2ac82cb6f4c LIBVNI_SHA=7258e2fa0d086e1224d6510d44a61879e6b344b1 LIBUSB_SHA=15a7ebb4d426c5ce196684347d2b7cafad862626 -PPUC_SOURCE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -PPUC_LOCAL_DEPS_ROOT="${PPUC_LOCAL_DEPS_ROOT:-$(cd "${PPUC_SOURCE_ROOT}/.." && pwd)}" -PPUC_USE_LOCAL_DEPS="${PPUC_USE_LOCAL_DEPS:-1}" +PROJECT_SOURCE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd -P)" -ppuc_local_dependency_dir() { - local name="$1" - local dir="${PPUC_LOCAL_DEPS_ROOT}/${name}" +dependency_source_dir() { + local var_name="$1" + local source_dir="${!var_name:-}" - if [ "${PPUC_USE_LOCAL_DEPS}" != "0" ] && [ -d "${dir}" ] && [ "${dir}" != "${PPUC_SOURCE_ROOT}" ]; then - echo "${dir}" + if [ -z "${source_dir}" ]; then + return 0 fi + + (cd "${PROJECT_SOURCE_ROOT}" && cd "${source_dir}" && pwd -P) } -ppuc_print_dependency_source() { +print_dependency_source() { local label="$1" - local name="$2" - local sha="$3" - local local_dir + local sha="$2" + local source_var="$3" + local source_dir - local_dir="$(ppuc_local_dependency_dir "${name}")" - if [ -n "${local_dir}" ]; then - echo " ${label}_SOURCE: local ${local_dir}" + source_dir="$(dependency_source_dir "${source_var}")" + if [ -n "${source_dir}" ]; then + echo " ${label}_SOURCE_DIR: ${source_dir}" else echo " ${label}_SOURCE: archive ${sha}" fi } -ppuc_prepare_dependency_source() { +prepare_dependency_source() { local name="$1" local sha="$2" local url="$3" local archive_type="${4:-tar}" - local local_dir + local source_var="$5" + local source_dir - local_dir="$(ppuc_local_dependency_dir "${name}")" - if [ -n "${local_dir}" ]; then - echo "Using local ${name}: ${local_dir}" - ln -s "${local_dir}" "${name}" + source_dir="$(dependency_source_dir "${source_var}")" + if [ -n "${source_dir}" ]; then + echo "Using ${source_var}: ${source_dir}" + ln -s "${source_dir}" "${name}" elif [ "${archive_type}" = "zip" ]; then curl -sL "${url}" -o "${name}.zip" unzip "${name}.zip" @@ -58,6 +59,7 @@ ppuc_prepare_dependency_source() { } + if [ -z "${BUILD_TYPE}" ]; then BUILD_TYPE="Release" fi diff --git a/platforms/ios-simulator/arm64/external.sh b/platforms/ios-simulator/arm64/external.sh index d01d9ec..6593a50 100755 --- a/platforms/ios-simulator/arm64/external.sh +++ b/platforms/ios-simulator/arm64/external.sh @@ -6,12 +6,12 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" -ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" +print_dependency_source LIBZEDMD "${LIBZEDMD_SHA}" LIBZEDMD_SOURCE_DIR echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" -ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" +print_dependency_source LIBSERUM "${LIBSERUM_SHA}" LIBSERUM_SOURCE_DIR echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" -ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" +print_dependency_source LIBVNI "${LIBVNI_SHA}" LIBVNI_SOURCE_DIR echo "" NUM_PROCS=$(sysctl -n hw.ncpu) @@ -29,7 +29,7 @@ cd external # build libzedmd and copy to external # -ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" +prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" tar LIBZEDMD_SOURCE_DIR cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/ios-simulator/arm64/external.sh cmake \ @@ -40,12 +40,12 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a third-party/build-libs/ios-simulator/arm64/libsockpp.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ -cp build/libzedmd.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ +cp src/ZeDMD.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a third-party/build-libs/ios-simulator/arm64/libsockpp.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ +cp build/libzedmd.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ cp -r test ../../ cd .. @@ -53,7 +53,7 @@ cd .. # build libserum and copy to external # -ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" +prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" tar LIBSERUM_SOURCE_DIR cd libserum cmake \ -DPLATFORM=ios-simulator \ @@ -63,13 +63,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/libserum.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ +cp -r third-party/include/lz4 ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/libserum.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ cd .. # @@ -88,15 +88,15 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/libpupdmd.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ +cp src/pupdmd.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/libpupdmd.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ cd .. # # build libvni and copy to external # -ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" +prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" tar LIBVNI_SOURCE_DIR cd libvni platforms/ios-simulator/arm64/external.sh cmake \ @@ -107,6 +107,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/libvni.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ +cp src/vni.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/libvni.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/ios-simulator/arm64/ cd .. diff --git a/platforms/ios/arm64/external.sh b/platforms/ios/arm64/external.sh index a7448f5..15eed99 100755 --- a/platforms/ios/arm64/external.sh +++ b/platforms/ios/arm64/external.sh @@ -6,12 +6,12 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" -ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" +print_dependency_source LIBZEDMD "${LIBZEDMD_SHA}" LIBZEDMD_SOURCE_DIR echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" -ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" +print_dependency_source LIBSERUM "${LIBSERUM_SHA}" LIBSERUM_SOURCE_DIR echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" -ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" +print_dependency_source LIBVNI "${LIBVNI_SHA}" LIBVNI_SOURCE_DIR echo "" NUM_PROCS=$(sysctl -n hw.ncpu) @@ -29,7 +29,7 @@ cd external # build libzedmd and copy to external # -ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" +prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" tar LIBZEDMD_SOURCE_DIR cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/ios/arm64/external.sh cmake \ @@ -40,12 +40,12 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a third-party/build-libs/ios/arm64/libsockpp.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ -cp build/libzedmd.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ +cp src/ZeDMD.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a third-party/build-libs/ios/arm64/libsockpp.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ +cp build/libzedmd.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ cp -r test ../../ cd .. @@ -53,7 +53,7 @@ cd .. # build libserum and copy to external # -ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" +prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" tar LIBSERUM_SOURCE_DIR cd libserum cmake \ -DPLATFORM=ios \ @@ -63,13 +63,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/libserum.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ +cp -r third-party/include/lz4 ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/libserum.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ cd .. # @@ -88,15 +88,15 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/libpupdmd.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ +cp src/pupdmd.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/libpupdmd.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ cd .. # # build libvni and copy to external # -ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" +prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" tar LIBVNI_SOURCE_DIR cd libvni platforms/ios/arm64/external.sh cmake \ @@ -107,6 +107,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/libvni.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ +cp src/vni.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/libvni.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/ios/arm64/ cd .. diff --git a/platforms/linux/aarch64/external.sh b/platforms/linux/aarch64/external.sh index 1acfd87..973241d 100755 --- a/platforms/linux/aarch64/external.sh +++ b/platforms/linux/aarch64/external.sh @@ -7,12 +7,12 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" -ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" +print_dependency_source LIBZEDMD "${LIBZEDMD_SHA}" LIBZEDMD_SOURCE_DIR echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" -ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" +print_dependency_source LIBSERUM "${LIBSERUM_SHA}" LIBSERUM_SOURCE_DIR echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" -ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" +print_dependency_source LIBVNI "${LIBVNI_SHA}" LIBVNI_SOURCE_DIR echo "" NUM_PROCS=$(nproc) @@ -38,16 +38,16 @@ cd libusb ./configure \ --enable-shared make -j${NUM_PROCS} -mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 -cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 -cp -a libusb/.libs/libusb-1.0.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ +mkdir -p ${PROJECT_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/libusb.h ${PROJECT_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp -a libusb/.libs/libusb-1.0.{so,so.*} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ cd .. # # build libzedmd and copy to external # -ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" +prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" tar LIBZEDMD_SOURCE_DIR cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/linux/aarch64/external.sh cmake \ @@ -59,16 +59,16 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/libserialport.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/cargs.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/runtime-libs/linux/aarch64/libcargs.so ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ -cp -a third-party/runtime-libs/linux/aarch64/libserialport.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ -cp -a third-party/runtime-libs/linux/aarch64/libsockpp.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ -cp -a build/libzedmd.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ +cp src/ZeDMD.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/libserialport.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/cargs.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/runtime-libs/linux/aarch64/libcargs.so ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ +cp -a third-party/runtime-libs/linux/aarch64/libserialport.{so,so.*} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ +cp -a third-party/runtime-libs/linux/aarch64/libsockpp.{so,so.*} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ +cp -a build/libzedmd.{so,so.*} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ cp -r test ../../ cd .. @@ -76,7 +76,7 @@ cd .. # build libserum and copy to external # -ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" +prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" tar LIBSERUM_SOURCE_DIR cd libserum cmake \ -DPLATFORM=linux \ @@ -86,13 +86,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a build/libserum.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ +cp -r third-party/include/lz4 ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a build/libserum.{so,so.*} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ cd .. # @@ -111,15 +111,15 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a build/libpupdmd.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ +cp src/pupdmd.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a build/libpupdmd.{so,so.*} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ cd .. # # build libvni and copy to external # -ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" +prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" tar LIBVNI_SOURCE_DIR cd libvni platforms/linux/aarch64/external.sh cmake \ @@ -130,6 +130,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a build/libvni.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ +cp src/vni.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a build/libvni.{so,so.*} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/aarch64/ cd .. diff --git a/platforms/linux/x64/external.sh b/platforms/linux/x64/external.sh index a84041c..6d770bf 100755 --- a/platforms/linux/x64/external.sh +++ b/platforms/linux/x64/external.sh @@ -7,12 +7,12 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" -ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" +print_dependency_source LIBZEDMD "${LIBZEDMD_SHA}" LIBZEDMD_SOURCE_DIR echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" -ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" +print_dependency_source LIBSERUM "${LIBSERUM_SHA}" LIBSERUM_SOURCE_DIR echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" -ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" +print_dependency_source LIBVNI "${LIBVNI_SHA}" LIBVNI_SOURCE_DIR echo "" NUM_PROCS=$(nproc) @@ -38,16 +38,16 @@ cd libusb ./configure \ --enable-shared make -j${NUM_PROCS} -mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 -cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 -cp -a libusb/.libs/libusb-1.0.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ +mkdir -p ${PROJECT_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/libusb.h ${PROJECT_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp -a libusb/.libs/libusb-1.0.{so,so.*} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ cd .. # # build libzedmd and copy to external # -ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" +prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" tar LIBZEDMD_SOURCE_DIR cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/linux/x64/external.sh cmake \ @@ -58,16 +58,16 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/libserialport.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/cargs.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/runtime-libs/linux/x64/libcargs.so ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ -cp -a third-party/runtime-libs/linux/x64/libserialport.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ -cp -a third-party/runtime-libs/linux/x64/libsockpp.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ -cp -a build/libzedmd.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ +cp src/ZeDMD.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/libserialport.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/cargs.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/runtime-libs/linux/x64/libcargs.so ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ +cp -a third-party/runtime-libs/linux/x64/libserialport.{so,so.*} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ +cp -a third-party/runtime-libs/linux/x64/libsockpp.{so,so.*} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ +cp -a build/libzedmd.{so,so.*} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ cp -r test ../../ cd .. @@ -75,7 +75,7 @@ cd .. # build libserum and copy to external # -ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" +prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" tar LIBSERUM_SOURCE_DIR cd libserum cmake \ -DPLATFORM=linux \ @@ -85,13 +85,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a build/libserum.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ +cp -r third-party/include/lz4 ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a build/libserum.{so,so.*} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ cd .. # @@ -110,15 +110,15 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a build/libpupdmd.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ +cp src/pupdmd.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a build/libpupdmd.{so,so.*} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ cd .. # # build libvni and copy to external # -ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" +prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" tar LIBVNI_SOURCE_DIR cd libvni platforms/linux/x64/external.sh cmake \ @@ -129,6 +129,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a build/libvni.{so,so.*} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ +cp src/vni.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a build/libvni.{so,so.*} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/linux/x64/ cd .. diff --git a/platforms/macos/arm64/external.sh b/platforms/macos/arm64/external.sh index 6d18eb9..7130bf4 100755 --- a/platforms/macos/arm64/external.sh +++ b/platforms/macos/arm64/external.sh @@ -8,12 +8,12 @@ export MACOSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET:-${PPUC_MACOS_DEPLOY echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" -ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" +print_dependency_source LIBZEDMD "${LIBZEDMD_SHA}" LIBZEDMD_SOURCE_DIR echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" -ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" +print_dependency_source LIBSERUM "${LIBSERUM_SHA}" LIBSERUM_SOURCE_DIR echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" -ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" +print_dependency_source LIBVNI "${LIBVNI_SHA}" LIBVNI_SOURCE_DIR echo "" NUM_PROCS=$(sysctl -n hw.ncpu) @@ -41,16 +41,16 @@ cd libusb CFLAGS="-arch arm64 -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" \ LDFLAGS="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -Wl,-install_name,@rpath/libusb-1.0.dylib" make -j${NUM_PROCS} -mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 -cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 -cp -a libusb/.libs/libusb*.dylib ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ +mkdir -p ${PROJECT_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/libusb.h ${PROJECT_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp -a libusb/.libs/libusb*.dylib ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ cd .. # # build libzedmd and copy to external # -ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" +prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" tar LIBZEDMD_SOURCE_DIR cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/macos/arm64/external.sh cmake \ @@ -65,16 +65,16 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/libserialport.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/cargs.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/runtime-libs/macos/arm64/libcargs.dylib ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ -cp -a third-party/runtime-libs/macos/arm64/libserialport.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ -cp -a third-party/runtime-libs/macos/arm64/libsockpp.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ -cp -a build/libzedmd.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ +cp src/ZeDMD.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/libserialport.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/cargs.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/runtime-libs/macos/arm64/libcargs.dylib ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ +cp -a third-party/runtime-libs/macos/arm64/libserialport.{dylib,*.dylib} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ +cp -a third-party/runtime-libs/macos/arm64/libsockpp.{dylib,*.dylib} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ +cp -a build/libzedmd.{dylib,*.dylib} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ cp -r test ../../ cd .. @@ -82,7 +82,7 @@ cd .. # build libserum and copy to external # -ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" +prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" tar LIBSERUM_SOURCE_DIR cd libserum cmake \ -DPLATFORM=macos \ @@ -94,13 +94,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a build/libserum.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ +cp -r third-party/include/lz4 ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a build/libserum.{dylib,*.dylib} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ cd .. # @@ -121,15 +121,15 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a build/libpupdmd.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ +cp src/pupdmd.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a build/libpupdmd.{dylib,*.dylib} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ cd .. # # build libvni and copy to external # -ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" +prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" tar LIBVNI_SOURCE_DIR cd libvni platforms/macos/arm64/external.sh cmake \ @@ -142,6 +142,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a build/libvni.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ +cp src/vni.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a build/libvni.{dylib,*.dylib} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/arm64/ cd .. diff --git a/platforms/macos/x64/external.sh b/platforms/macos/x64/external.sh index b5fc8bc..e2a2501 100755 --- a/platforms/macos/x64/external.sh +++ b/platforms/macos/x64/external.sh @@ -8,12 +8,12 @@ export MACOSX_DEPLOYMENT_TARGET="${MACOSX_DEPLOYMENT_TARGET:-${PPUC_MACOS_DEPLOY echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" -ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" +print_dependency_source LIBZEDMD "${LIBZEDMD_SHA}" LIBZEDMD_SOURCE_DIR echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" -ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" +print_dependency_source LIBSERUM "${LIBSERUM_SHA}" LIBSERUM_SOURCE_DIR echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" -ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" +print_dependency_source LIBVNI "${LIBVNI_SHA}" LIBVNI_SOURCE_DIR echo "" NUM_PROCS=$(sysctl -n hw.ncpu) @@ -41,16 +41,16 @@ cd libusb CFLAGS="-arch x86_64 -mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" \ LDFLAGS="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -Wl,-install_name,@rpath/libusb-1.0.dylib" make -j${NUM_PROCS} -mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 -cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 -cp -a libusb/.libs/libusb*.dylib ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ +mkdir -p ${PROJECT_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/libusb.h ${PROJECT_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp -a libusb/.libs/libusb*.dylib ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ cd .. # # build libzedmd and copy to external # -ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" +prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" tar LIBZEDMD_SOURCE_DIR cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/macos/x64/external.sh cmake \ @@ -63,16 +63,16 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/libserialport.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/cargs.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/runtime-libs/macos/x64/libcargs.dylib ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ -cp -a third-party/runtime-libs/macos/x64/libserialport.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ -cp -a third-party/runtime-libs/macos/x64/libsockpp.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ -cp -a build/libzedmd.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ +cp src/ZeDMD.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/libserialport.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/cargs.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/runtime-libs/macos/x64/libcargs.dylib ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ +cp -a third-party/runtime-libs/macos/x64/libserialport.{dylib,*.dylib} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ +cp -a third-party/runtime-libs/macos/x64/libsockpp.{dylib,*.dylib} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ +cp -a build/libzedmd.{dylib,*.dylib} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ cp -r test ../../ cd .. @@ -80,7 +80,7 @@ cd .. # build libserum and copy to external # -ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" +prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" tar LIBSERUM_SOURCE_DIR cd libserum cmake \ -DPLATFORM=macos \ @@ -92,13 +92,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a build/libserum.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ +cp -r third-party/include/lz4 ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a build/libserum.{dylib,*.dylib} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ cd .. # @@ -119,15 +119,15 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a build/libpupdmd.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ +cp src/pupdmd.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a build/libpupdmd.{dylib,*.dylib} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ cd .. # # build libvni and copy to external # -ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" +prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" tar LIBVNI_SOURCE_DIR cd libvni platforms/macos/x64/external.sh cmake \ @@ -140,6 +140,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a build/libvni.{dylib,*.dylib} ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ +cp src/vni.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a build/libvni.{dylib,*.dylib} ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/macos/x64/ cd .. diff --git a/platforms/tvos/arm64/external.sh b/platforms/tvos/arm64/external.sh index 647122c..09f8d60 100755 --- a/platforms/tvos/arm64/external.sh +++ b/platforms/tvos/arm64/external.sh @@ -6,12 +6,12 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" -ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" +print_dependency_source LIBZEDMD "${LIBZEDMD_SHA}" LIBZEDMD_SOURCE_DIR echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" -ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" +print_dependency_source LIBSERUM "${LIBSERUM_SHA}" LIBSERUM_SOURCE_DIR echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" -ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" +print_dependency_source LIBVNI "${LIBVNI_SHA}" LIBVNI_SOURCE_DIR echo "" NUM_PROCS=$(sysctl -n hw.ncpu) @@ -29,7 +29,7 @@ cd external # build libzedmd and copy to external # -ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" +prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" tar LIBZEDMD_SOURCE_DIR cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/tvos/arm64/external.sh cmake \ @@ -40,12 +40,12 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -a third-party/build-libs/tvos/arm64/libsockpp.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ -cp build/libzedmd.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ +cp src/ZeDMD.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -a third-party/build-libs/tvos/arm64/libsockpp.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ +cp build/libzedmd.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ cp -r test ../../ cd .. @@ -53,7 +53,7 @@ cd .. # build libserum and copy to external # -ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" +prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" tar LIBSERUM_SOURCE_DIR cd libserum cmake \ -DPLATFORM=tvos \ @@ -63,13 +63,13 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/libserum.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ +cp -r third-party/include/lz4 ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/libserum.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ cd .. # @@ -88,15 +88,15 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/libpupdmd.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ +cp src/pupdmd.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/libpupdmd.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ cd .. # # build libvni and copy to external # -ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" +prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" tar LIBVNI_SOURCE_DIR cd libvni platforms/tvos/arm64/external.sh cmake \ @@ -107,6 +107,6 @@ cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/libvni.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ +cp src/vni.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/libvni.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/tvos/arm64/ cd .. diff --git a/platforms/win-mingw/x64/external.sh b/platforms/win-mingw/x64/external.sh index faee1eb..89ab0c8 100755 --- a/platforms/win-mingw/x64/external.sh +++ b/platforms/win-mingw/x64/external.sh @@ -7,12 +7,12 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" -ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" +print_dependency_source LIBZEDMD "${LIBZEDMD_SHA}" LIBZEDMD_SOURCE_DIR echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" -ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" +print_dependency_source LIBSERUM "${LIBSERUM_SHA}" LIBSERUM_SOURCE_DIR echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" -ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" +print_dependency_source LIBVNI "${LIBVNI_SHA}" LIBVNI_SOURCE_DIR echo "" NUM_PROCS=$(nproc) @@ -44,17 +44,17 @@ sed -i.bak 's/libusb-1\.0/libusb64-1.0/g' libusb/libusb64-1.0.rc ./configure \ --enable-shared make -j${NUM_PROCS} -mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 -cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 -cp libusb/.libs/libusb64-1.0.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ -cp libusb/.libs/libusb64-1.0.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +mkdir -p ${PROJECT_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/libusb.h ${PROJECT_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/.libs/libusb64-1.0.dll.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp libusb/.libs/libusb64-1.0.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ cd .. # # build libzedmd and copy to external # -ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" +prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" tar LIBZEDMD_SOURCE_DIR cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/win-mingw/x64/external.sh cmake \ @@ -65,20 +65,20 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/cargs.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/libserialport.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/build-libs/win-mingw/x64/libcargs64.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ -cp third-party/runtime-libs/win-mingw/x64/libcargs64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ -cp third-party/build-libs/win-mingw/x64/libserialport64.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ -cp third-party/runtime-libs/win-mingw/x64/libserialport64-0.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ -cp third-party/build-libs/win-mingw/x64/libsockpp64.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ -cp third-party/runtime-libs/win-mingw/x64/libsockpp64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ -cp build/zedmd64.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ -cp build/zedmd64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp src/ZeDMD.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/cargs.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/libserialport.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/build-libs/win-mingw/x64/libcargs64.dll.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp third-party/runtime-libs/win-mingw/x64/libcargs64.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp third-party/build-libs/win-mingw/x64/libserialport64.dll.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp third-party/runtime-libs/win-mingw/x64/libserialport64-0.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp third-party/build-libs/win-mingw/x64/libsockpp64.dll.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp third-party/runtime-libs/win-mingw/x64/libsockpp64.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp build/zedmd64.dll.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp build/zedmd64.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ cp -r test ../../ cd .. @@ -86,7 +86,7 @@ cd .. # build libserum and copy to external # -ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" +prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" tar LIBSERUM_SOURCE_DIR cd libserum cmake \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ @@ -96,14 +96,14 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build -- -j${NUM_PROCS} -cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/serum64.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ -cp build/serum64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp -r third-party/include/lz4 ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/serum64.dll.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp build/serum64.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ cd .. # @@ -122,16 +122,16 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/pupdmd64.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ -cp build/pupdmd64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp src/pupdmd.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/pupdmd64.dll.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp build/pupdmd64.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ cd .. # # build libvni and copy to external # -ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" +prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" tar LIBVNI_SOURCE_DIR cd libvni platforms/win-mingw/x64/external.sh cmake \ @@ -142,9 +142,9 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build -- -j${NUM_PROCS} -cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/vni64.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ -cp build/vni64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp src/vni.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/vni64.dll.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win-mingw/x64/ +cp build/vni64.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ cd .. # @@ -153,6 +153,6 @@ cd .. UCRT64_BIN="${MINGW_PREFIX}/bin" -cp "${UCRT64_BIN}/libgcc_s_seh-1.dll" ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ -cp "${UCRT64_BIN}/libstdc++-6.dll" ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ -cp "${UCRT64_BIN}/libwinpthread-1.dll" ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp "${UCRT64_BIN}/libgcc_s_seh-1.dll" ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp "${UCRT64_BIN}/libstdc++-6.dll" ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ +cp "${UCRT64_BIN}/libwinpthread-1.dll" ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win-mingw/x64/ diff --git a/platforms/win/x64/external.sh b/platforms/win/x64/external.sh index b399b43..af124ba 100755 --- a/platforms/win/x64/external.sh +++ b/platforms/win/x64/external.sh @@ -14,12 +14,12 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" -ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" +print_dependency_source LIBZEDMD "${LIBZEDMD_SHA}" LIBZEDMD_SOURCE_DIR echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" -ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" +print_dependency_source LIBSERUM "${LIBSERUM_SHA}" LIBSERUM_SOURCE_DIR echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" -ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" +print_dependency_source LIBVNI "${LIBVNI_SHA}" LIBVNI_SOURCE_DIR echo "" @@ -52,17 +52,17 @@ MSYSTEM=UCRT64 "${MSYS2_PATH}/usr/bin/bash.exe" -l -c " ./configure --enable-shared && make -j\$(nproc) " -mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 -cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 -cp libusb/.libs/libusb64-1.0.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/libusb64-1.0.lib -cp libusb/.libs/libusb64-1.0.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +mkdir -p ${PROJECT_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/libusb.h ${PROJECT_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/.libs/libusb64-1.0.dll.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x64/libusb64-1.0.lib +cp libusb/.libs/libusb64-1.0.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ cd .. # # build libzedmd and copy to external # -ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" +prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" tar LIBZEDMD_SOURCE_DIR cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/win/x64/external.sh cmake \ @@ -73,23 +73,23 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/cargs.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/libserialport.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/build-libs/win/x64/cargs64.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/ -cp third-party/runtime-libs/win/x64/cargs64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ -cp third-party/build-libs/win/x64/libserialport64.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/ -cp third-party/runtime-libs/win/x64/libserialport64-0.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ -cp third-party/build-libs/win/x64/sockpp64.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/ -cp third-party/runtime-libs/win/x64/sockpp64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ -cp third-party/runtime-libs/win/x64/libgcc_s_seh-1.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ -cp third-party/runtime-libs/win/x64/libstdc++-6.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ -cp third-party/runtime-libs/win/x64/libwinpthread-1.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ -cp build/${BUILD_TYPE}/zedmd64.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/ -cp build/${BUILD_TYPE}/zedmd64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp src/ZeDMD.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/cargs.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/libserialport.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/build-libs/win/x64/cargs64.lib ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x64/ +cp third-party/runtime-libs/win/x64/cargs64.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp third-party/build-libs/win/x64/libserialport64.lib ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x64/ +cp third-party/runtime-libs/win/x64/libserialport64-0.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp third-party/build-libs/win/x64/sockpp64.lib ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x64/ +cp third-party/runtime-libs/win/x64/sockpp64.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp third-party/runtime-libs/win/x64/libgcc_s_seh-1.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp third-party/runtime-libs/win/x64/libstdc++-6.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp third-party/runtime-libs/win/x64/libwinpthread-1.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp build/${BUILD_TYPE}/zedmd64.lib ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x64/ +cp build/${BUILD_TYPE}/zedmd64.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ cp -r test ../../ cd .. @@ -97,7 +97,7 @@ cd .. # build libserum and copy to external # -ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" +prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" tar LIBSERUM_SOURCE_DIR cd libserum cmake \ -G "Visual Studio 18 2026" \ @@ -107,14 +107,14 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/${BUILD_TYPE}/serum64.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/ -cp build/${BUILD_TYPE}/serum64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp -r third-party/include/lz4 ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/${BUILD_TYPE}/serum64.lib ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x64/ +cp build/${BUILD_TYPE}/serum64.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ cd .. # @@ -133,16 +133,16 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/${BUILD_TYPE}/pupdmd64.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/ -cp build/${BUILD_TYPE}/pupdmd64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp src/pupdmd.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/${BUILD_TYPE}/pupdmd64.lib ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x64/ +cp build/${BUILD_TYPE}/pupdmd64.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ cd .. # # build libvni and copy to external # -ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" +prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" tar LIBVNI_SOURCE_DIR cd libvni platforms/win/x64/external.sh cmake \ @@ -153,7 +153,7 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/${BUILD_TYPE}/vni64.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x64/ -cp build/${BUILD_TYPE}/vni64.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ +cp src/vni.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/${BUILD_TYPE}/vni64.lib ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x64/ +cp build/${BUILD_TYPE}/vni64.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x64/ cd .. diff --git a/platforms/win/x86/external.sh b/platforms/win/x86/external.sh index 519c378..e6c33d6 100755 --- a/platforms/win/x86/external.sh +++ b/platforms/win/x86/external.sh @@ -14,12 +14,12 @@ source ./platforms/config.sh echo "Building libraries..." echo " LIBUSB_SHA: ${LIBUSB_SHA}" echo " LIBZEDMD_SHA: ${LIBZEDMD_SHA}" -ppuc_print_dependency_source LIBZEDMD libzedmd "${LIBZEDMD_SHA}" +print_dependency_source LIBZEDMD "${LIBZEDMD_SHA}" LIBZEDMD_SOURCE_DIR echo " LIBSERUM_SHA: ${LIBSERUM_SHA}" -ppuc_print_dependency_source LIBSERUM libserum "${LIBSERUM_SHA}" +print_dependency_source LIBSERUM "${LIBSERUM_SHA}" LIBSERUM_SOURCE_DIR echo " LIBPUPDMD_SHA: ${LIBPUPDMD_SHA}" echo " LIBVNI_SHA: ${LIBVNI_SHA}" -ppuc_print_dependency_source LIBVNI libvni "${LIBVNI_SHA}" +print_dependency_source LIBVNI "${LIBVNI_SHA}" LIBVNI_SOURCE_DIR echo "" @@ -46,17 +46,17 @@ MSYSTEM=MINGW32 "${MSYS2_PATH}/usr/bin/bash.exe" -l -c " ./configure --enable-shared && make -j\$(nproc) " -mkdir -p ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 -cp libusb/libusb.h ${PPUC_SOURCE_ROOT}/third-party/include/libusb-1.0 -cp libusb/.libs/libusb-1.0.dll.a ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/libusb-1.0.lib -cp libusb/.libs/libusb-1.0.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +mkdir -p ${PROJECT_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/libusb.h ${PROJECT_SOURCE_ROOT}/third-party/include/libusb-1.0 +cp libusb/.libs/libusb-1.0.dll.a ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x86/libusb-1.0.lib +cp libusb/.libs/libusb-1.0.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ cd .. # # build libzedmd and copy to external # -ppuc_prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" +prepare_dependency_source libzedmd "${LIBZEDMD_SHA}" "https://github.com/PPUC/libzedmd/archive/${LIBZEDMD_SHA}.tar.gz" tar LIBZEDMD_SOURCE_DIR cd libzedmd BUILD_TYPE=${BUILD_TYPE} platforms/win/x86/external.sh cmake \ @@ -68,23 +68,23 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp src/ZeDMD.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/libserialport.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/cargs.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/komihash ${PPUC_SOURCE_ROOT}/third-party/include/ -cp -r third-party/include/sockpp ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/include/FrameUtil.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp third-party/build-libs/win/x86/cargs.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/ -cp third-party/runtime-libs/win/x86/cargs.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ -cp third-party/build-libs/win/x86/libserialport.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/ -cp third-party/runtime-libs/win/x86/libserialport-0.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ -cp third-party/build-libs/win/x86/sockpp.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/ -cp third-party/runtime-libs/win/x86/sockpp.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ -cp third-party/runtime-libs/win/x86/libgcc_s_dw2-1.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ -cp third-party/runtime-libs/win/x86/libstdc++-6.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ -cp third-party/runtime-libs/win/x86/libwinpthread-1.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ -cp build/${BUILD_TYPE}/zedmd.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/ -cp build/${BUILD_TYPE}/zedmd.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp src/ZeDMD.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/libserialport.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/cargs.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/komihash ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp -r third-party/include/sockpp ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/include/FrameUtil.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp third-party/build-libs/win/x86/cargs.lib ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x86/ +cp third-party/runtime-libs/win/x86/cargs.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp third-party/build-libs/win/x86/libserialport.lib ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x86/ +cp third-party/runtime-libs/win/x86/libserialport-0.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp third-party/build-libs/win/x86/sockpp.lib ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x86/ +cp third-party/runtime-libs/win/x86/sockpp.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp third-party/runtime-libs/win/x86/libgcc_s_dw2-1.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp third-party/runtime-libs/win/x86/libstdc++-6.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp third-party/runtime-libs/win/x86/libwinpthread-1.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp build/${BUILD_TYPE}/zedmd.lib ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x86/ +cp build/${BUILD_TYPE}/zedmd.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ cp -r test ../../ cd .. @@ -92,7 +92,7 @@ cd .. # build libserum and copy to external # -ppuc_prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" +prepare_dependency_source libserum "${LIBSERUM_SHA}" "https://github.com/PPUC/libserum/archive/${LIBSERUM_SHA}.tar.gz" tar LIBSERUM_SOURCE_DIR cd libserum cmake \ -G "Visual Studio 18 2026" \ @@ -103,14 +103,14 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp -r third-party/include/lz4 ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/LZ4Stream.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/SceneGenerator.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/TimeUtils.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp src/serum-decode.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/${BUILD_TYPE}/serum.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/ -cp build/${BUILD_TYPE}/serum.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp -r third-party/include/lz4 ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/LZ4Stream.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/SceneGenerator.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/TimeUtils.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp src/serum-decode.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/${BUILD_TYPE}/serum.lib ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x86/ +cp build/${BUILD_TYPE}/serum.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ cd .. # @@ -130,16 +130,16 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp src/pupdmd.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/${BUILD_TYPE}/pupdmd.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/ -cp build/${BUILD_TYPE}/pupdmd.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp src/pupdmd.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/${BUILD_TYPE}/pupdmd.lib ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x86/ +cp build/${BUILD_TYPE}/pupdmd.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ cd .. # # build libvni and copy to external # -ppuc_prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" +prepare_dependency_source libvni "${LIBVNI_SHA}" "https://github.com/PPUC/libvni/archive/${LIBVNI_SHA}.tar.gz" tar LIBVNI_SOURCE_DIR cd libvni platforms/win/x86/external.sh cmake \ @@ -151,7 +151,7 @@ cmake \ -DBUILD_STATIC=OFF \ -B build cmake --build build --config ${BUILD_TYPE} -cp src/vni.h ${PPUC_SOURCE_ROOT}/third-party/include/ -cp build/${BUILD_TYPE}/vni.lib ${PPUC_SOURCE_ROOT}/third-party/build-libs/win/x86/ -cp build/${BUILD_TYPE}/vni.dll ${PPUC_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ +cp src/vni.h ${PROJECT_SOURCE_ROOT}/third-party/include/ +cp build/${BUILD_TYPE}/vni.lib ${PROJECT_SOURCE_ROOT}/third-party/build-libs/win/x86/ +cp build/${BUILD_TYPE}/vni.dll ${PROJECT_SOURCE_ROOT}/third-party/runtime-libs/win/x86/ cd .. From 53b6db7b997bedbeade8e3589f43f676efeddb3d Mon Sep 17 00:00:00 2001 From: Markus Kalkbrenner Date: Wed, 8 Jul 2026 11:22:26 +0200 Subject: [PATCH 4/5] fixed upscaling of 128x32 if the colorization has no 256x64 frame --- include/DMDUtil/DMD.h | 10 +++++----- src/DMD.cpp | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/DMDUtil/DMD.h b/include/DMDUtil/DMD.h index 4988e8e..17f4a4f 100644 --- a/include/DMDUtil/DMD.h +++ b/include/DMDUtil/DMD.h @@ -85,11 +85,11 @@ class DMDUTILAPI DMD RGB24 = 2, // RGB888 RGB16 = 3, // RGB565 AlphaNumeric = 4, - SerumV1 = 5, - SerumV2_32 = 6, - SerumV2_32_64 = 7, - SerumV2_64 = 8, - SerumV2_64_32 = 9, + SerumV1 = 5, // Serum v1 indexed color frame plus palette in segData. + SerumV2_32 = 6, // Serum v2 RGB565 32p frame only, typically 128x32. + SerumV2_32_64 = 7, // Serum v2 RGB565 32p frame when a matching 64p frame is also queued. + SerumV2_64 = 8, // Serum v2 RGB565 64p frame only, typically 256x64. + SerumV2_64_32 = 9, // Serum v2 RGB565 64p frame when a matching 32p frame is also queued. NotColorized = 10, Vni = 11, SerumCommand = 12, diff --git a/src/DMD.cpp b/src/DMD.cpp index a2c48ca..694676b 100644 --- a/src/DMD.cpp +++ b/src/DMD.cpp @@ -1956,7 +1956,7 @@ void DMD::QueueSerumFrames(Update* dmdUpdate, bool render32, bool render64, bool { if (m_pSerum->width32 > 0 && m_pSerum->width64 == 0) { - if (render32) + if (render32 || render64) { const size_t frameWords32 = (size_t)m_pSerum->width32 * 32u; if (frameWords32 > (sizeof(serumUpdate->segData) / sizeof(serumUpdate->segData[0]))) From 5fbfaaf42f9d2aabd2060ba9abc6f1dc5e913b12 Mon Sep 17 00:00:00 2001 From: Markus Kalkbrenner Date: Mon, 20 Jul 2026 09:15:20 +0200 Subject: [PATCH 5/5] don't start vni thread if disabled --- src/DMD.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/DMD.cpp b/src/DMD.cpp index 694676b..524061d 100644 --- a/src/DMD.cpp +++ b/src/DMD.cpp @@ -325,7 +325,11 @@ DMD::DMD() m_pDmdFrameThread = new std::thread(&DMD::DmdFrameThread, this); m_pPupDMDThread = new std::thread(&DMD::PupDMDThread, this); m_pSerumThread = new std::thread(&DMD::SerumThread, this); +#ifdef DMDUTIL_ENABLE_VNI m_pVniThread = new std::thread(&DMD::VniThread, this); +#else + m_pVniThread = nullptr; +#endif m_pDMDServerConnector = nullptr; }