#!/usr/bin/env bash set -euo pipefail DTK_HOME=${DTK_HOME:-/opt/dtk} backup_suffix=$(date +%Y%m%d-%H%M%S) overlay_files=( "hip/lib/cmake/hip/hip-config.cmake 0644" "hip/lib/cmake/hip/hip-config-amd.cmake 0644" "hip/lib/cmake/hip/hip-config-nvidia.cmake 0644" "lib/cmake/hiprtc/hiprtc-config.cmake 0644" ) derived_files=( "tools/dtk-amdclang-wrapper llvm/bin/amdclang 0755" "tools/dtk-amdclang-wrapper llvm/bin/amdclang++ 0755" ) backup_and_remove() { local dst=$1 if [ -e "$dst" ] || [ -L "$dst" ]; then cp -a "$dst" "$dst.bak.$backup_suffix" rm -f "$dst" fi } for item in "${overlay_files[@]}"; do rel=${item% *} mode=${item##* } src="./$rel" dst="$DTK_HOME/$rel" if [ ! -f "$src" ]; then echo "missing source: $src" >&2 exit 1 fi backup_and_remove "$dst" install -D -m "$mode" "$src" "$dst" echo "installed $src -> $dst mode=$mode" done for item in "${derived_files[@]}"; do read -r src_rel dst_rel mode <<< "$item" src="./$src_rel" dst="$DTK_HOME/$dst_rel" if [ ! -f "$src" ]; then echo "missing source: $src" >&2 exit 1 fi backup_and_remove "$dst" install -D -m "$mode" "$src" "$dst" echo "installed $src -> $dst mode=$mode" done