浏览代码

Change clang variables to use ccache clang

jimsterino98 4 月之前
父节点
当前提交
f713c80ea5
共有 1 个文件被更改,包括 74 次插入0 次删除
  1. 74 0
      .github/actions/use-ccache.yml

+ 74 - 0
.github/actions/use-ccache.yml

@@ -0,0 +1,74 @@
+name: change clang variables to ccache clang
+description: change clang cariable to ccache clang
+
+runs:
+ using: composite
+ steps:
+  - name: change variables
+    shell: bash
+    run: |
+      cd "$CONFIG"
+      if [[ -f kernel_platform/build/kernel/build.sh ]]; then
+       sed -i -E \
+        -e 's/^CC[[:space:]]*[:?+]?=.*/CC = ccache clang/' \
+        -e 's/^CXX[[:space:]]*[:?+]?=.*/CXX = ccache clang++/' \
+        -e 's/^HOSTCC[[:space:]]*[:?+]?=.*/HOSTCC = ccache clang/' \
+        -e 's/^HOSTCXX[[:space:]]*[:?+]?=.*/HOSTCXX = ccache clang++/' \
+        kernel_platform/build/kernel/build.sh
+      elif [[ -f kernel_platform/build/kernel/_setup_env.sh ]]; then
+       sed -i -E \
+        -e 's/^CC[[:space:]]*[:?+]?=.*/CC = ccache clang/' \
+        -e 's/^CXX[[:space:]]*[:?+]?=.*/CXX = ccache clang++/' \
+        -e 's/^HOSTCC[[:space:]]*[:?+]?=.*/HOSTCC = ccache clang/' \
+        -e 's/^HOSTCXX[[:space:]]*[:?+]?=.*/HOSTCXX = ccache clang++/' \
+        kernel_platform/build/kernel/_setup_env.sh
+      elif [[ -f /build/kernel/build.sh ]]; then
+       sed -i -E \
+        -e 's/^CC[[:space:]]*[:?+]?=.*/CC = ccache clang/' \
+        -e 's/^CXX[[:space:]]*[:?+]?=.*/CXX = ccache clang++/' \
+        -e 's/^HOSTCC[[:space:]]*[:?+]?=.*/HOSTCC = ccache clang/' \
+        -e 's/^HOSTCXX[[:space:]]*[:?+]?=.*/HOSTCXX = ccache clang++/' \
+        build/kernel/build.sh
+      elif [[-f build/kernel/_setup_env.sh ]]; then
+       sed -i -E \
+        -e 's/^CC[[:space:]]*[:?+]?=.*/CC = ccache clang/' \
+        -e 's/^CXX[[:space:]]*[:?+]?=.*/CXX = ccache clang++/' \
+        -e 's/^HOSTCC[[:space:]]*[:?+]?=.*/HOSTCC = ccache clang/' \
+        -e 's/^HOSTCXX[[:space:]]*[:?+]?=.*/HOSTCXX = ccache clang++/' \
+        build/kernel/_setup_env.sh
+      elif [[-f kernel/build/kernel/build.sh ]]; then
+       sed -i -E \
+        -e 's/^CC[[:space:]]*[:?+]?=.*/CC = ccache clang/' \
+        -e 's/^CXX[[:space:]]*[:?+]?=.*/CXX = ccache clang++/' \
+        -e 's/^HOSTCC[[:space:]]*[:?+]?=.*/HOSTCC = ccache clang/' \
+        -e 's/^HOSTCXX[[:space:]]*[:?+]?=.*/HOSTCXX = ccache clang++/' \
+        kernel/build/kernel/build.sh
+      elif [[-f kernel/build/kernel/_setup_env.sh ]]; then
+       sed -i -E \
+        -e 's/^CC[[:space:]]*[:?+]?=.*/CC = ccache clang/' \
+        -e 's/^CXX[[:space:]]*[:?+]?=.*/CXX = ccache clang++/' \
+        -e 's/^HOSTCC[[:space:]]*[:?+]?=.*/HOSTCC = ccache clang/' \
+        -e 's/^HOSTCXX[[:space:]]*[:?+]?=.*/HOSTCXX = ccache clang++/' \
+        kernel/build/kernel/_setup_env.sh
+      elif [[-f build/kernel/build.sh ]]; then
+       sed -i -E \
+        -e 's/^CC[[:space:]]*[:?+]?=.*/CC = ccache clang/' \
+        -e 's/^CXX[[:space:]]*[:?+]?=.*/CXX = ccache clang++/' \
+        -e 's/^HOSTCC[[:space:]]*[:?+]?=.*/HOSTCC = ccache clang/' \
+        -e 's/^HOSTCXX[[:space:]]*[:?+]?=.*/HOSTCXX = ccache clang++/' \
+        kernel/build/kernel/build.sh
+      elif [[-f build/kernel/_setup_env.sh ]]; then
+       sed -i -E \
+        -e 's/^CC[[:space:]]*[:?+]?=.*/CC = ccache clang/' \
+        -e 's/^CXX[[:space:]]*[:?+]?=.*/CXX = ccache clang++/' \
+        -e 's/^HOSTCC[[:space:]]*[:?+]?=.*/HOSTCC = ccache clang/' \
+        -e 's/^HOSTCXX[[:space:]]*[:?+]?=.*/HOSTCXX = ccache clang++/' \
+        kernel/build/kernel/_setup_env.sh
+      else
+        sed -i -E \
+        -e 's/^CC[[:space:]]*[:?+]?=.*/CC = ccache clang/' \
+        -e 's/^CXX[[:space:]]*[:?+]?=.*/CXX = ccache clang++/' \
+        -e 's/^HOSTCC[[:space:]]*[:?+]?=.*/HOSTCC = ccache clang/' \
+        -e 's/^HOSTCXX[[:space:]]*[:?+]?=.*/HOSTCXX = ccache clang++/' \
+        Makefile
+      fi