- Parse PPD translation strings and decode hex escapes (e.g. CD<2F>DVD -> CD/DVD) - Populate InspectorView media type and tray dropdowns with human-readable titles while preserving computer-readable choice codes - Fix empty-array nil coalescing bug in InspectorView preventing empty tray and media type popups - Support OEM vendor PPD keywords (Canon CNIJMediaType/CNIJMediaSupply, Epson EPIJ_FdSo) - Add dual-identity lookup in PrintEngine and InspectorView for robust choice code vs title resolution - Add comprehensive PPDOptionsTests and CLI test runner Closes #1, Closes #2
32 lines
828 B
Bash
Executable File
32 lines
828 B
Bash
Executable File
#!/bin/bash
|
|
# SPEC §12 — build x86_64, arm64, and Universal 2 TargetPrint.app
|
|
# x86_64 and arm64 compile concurrently; then lipo.
|
|
set -euo pipefail
|
|
|
|
CONFIGURATION="${1:-Release}"
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
SCRIPTS="$(dirname "$0")"
|
|
|
|
echo "==> Compiling x86_64 and arm64 in parallel"
|
|
"$SCRIPTS/build_macos.sh" x86_64 "$CONFIGURATION" &
|
|
pid_x86=$!
|
|
"$SCRIPTS/build_macos.sh" arm64 "$CONFIGURATION" &
|
|
pid_arm=$!
|
|
|
|
status=0
|
|
wait "$pid_x86" || status=1
|
|
wait "$pid_arm" || status=1
|
|
if [ "$status" -ne 0 ]; then
|
|
echo "error: one or both architecture builds failed" >&2
|
|
exit 1
|
|
fi
|
|
|
|
"$SCRIPTS/make_universal.sh"
|
|
|
|
echo "==> All architectures:"
|
|
for arch in x86_64 arm64 universal; do
|
|
bin="$ROOT/build/apps/$arch/TargetPrint.app/Contents/MacOS/TargetPrint"
|
|
printf " %-10s " "$arch"
|
|
lipo -info "$bin"
|
|
done
|