Переглянути джерело

Wrap clang and clang++ with ccache in action.yml

jimsterino98 4 місяців тому
батько
коміт
4124648956
1 змінених файлів з 26 додано та 0 видалено
  1. 26 0
      .github/actions/use-bazcache/action.yml

+ 26 - 0
.github/actions/use-bazcache/action.yml

@@ -30,3 +30,29 @@ runs:
       build --action_env=HOSTCXX="ccache clang++"
       EOF
       fi
+
+  - name: wrap ccache clang in directory
+    shell: bash
+    run: |
+      if [[ -d kernel_platform ]]; then
+       # Find clang bin dir dynamically
+       CLANG_BIN=$(find kernel_platform/prebuilts/clang/host/linux-x86 -type d -name bin | head -n 1)
+
+       echo "Using clang bin at: $CLANG_BIN"
+
+       # Wrap clang
+       mv "$CLANG_BIN/clang" "$CLANG_BIN/clang.real"
+       cat > "$CLANG_BIN/clang" << 'EOF'
+       #!/bin/bash
+       exec ccache "$(dirname "$0")/clang.real" "$@"
+       EOF
+       chmod +x "$CLANG_BIN/clang"
+
+       # Wrap clang++
+       mv "$CLANG_BIN/clang++" "$CLANG_BIN/clang++.real"
+       cat > "$CLANG_BIN/clang++" << 'EOF'
+       #!/bin/bash
+       exec ccache "$(dirname "$0")/clang++.real" "$@"
+       EOF
+       chmod +x "$CLANG_BIN/clang++"
+      fi