install.sh 1.2 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
#!/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"
11
  "lib/cmake/hiprtc/hiprtc-config.cmake 0644"
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
)

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