From 253e0560d4a92e219590b49f9ce0779a3f7d4dfc Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 24 May 2024 23:14:59 -0700 Subject: devtool-clang.sh: Add script for setting devtool workflow Document the process in README Signed-off-by: Khem Raj --- scripts/devtool-clang.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 scripts/devtool-clang.sh (limited to 'scripts/devtool-clang.sh') diff --git a/scripts/devtool-clang.sh b/scripts/devtool-clang.sh new file mode 100755 index 0000000..08f9214 --- /dev/null +++ b/scripts/devtool-clang.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env sh +# Clone the repository first if not already done locally +# git clone https://github.com/kraj/llvm-project -b oe/main /mnt/b/yoe/master/workspace/sources/llvm-project +# +# if local repository exists then make a clone/copy +# git clone /home/kraj/work/llvm-project /mnt/b/yoe/master/workspace/sources/llvm-project +# +layerloc="$(dirname "$0")/../conf/layer.conf" +workspace="$(dirname "$0")/../../../workspace" + +origver=$(grep "LLVMVERSION =" < "$layerloc" | awk '{print $3}' | tr -d '"') + +major=$(grep -e "set(LLVM_VERSION_MAJOR [0-9]" < "$workspace"/sources/llvm-project/cmake/Modules/LLVMVersion.cmake| cut -d ' ' -f 4 | sed "s/)//") +minor=$(grep -e "set(LLVM_VERSION_MINOR [0-9]" < "$workspace"/sources/llvm-project/cmake/Modules/LLVMVersion.cmake| cut -d ' ' -f 4 | sed "s/)//") +patch=$(grep -e "set(LLVM_VERSION_PATCH [0-9]" < "$workspace"/sources/llvm-project/cmake/Modules/LLVMVersion.cmake| cut -d ' ' -f 4 | sed "s/)//") + +recipes="\ +llvm-project-source-$origver \ +clang \ +clang-cross-riscv64 \ +clang-crosssdk-x86_64 \ +clang-cross-canadian-riscv64 \ +nativesdk-clang-glue \ +compiler-rt \ +compiler-rt-sanitizers \ +libclc \ +libcxx \ +openmp \ +" + +for recipe in $recipes; do + devtool modify -n "$recipe" "$workspace/sources/llvm-project" + sed -i "/pn-$recipe /p;s/pn-$recipe /pn-nativesdk-$recipe /g" "$workspace"/appends/"$recipe"*.bbappend + sed -i "/pn-$recipe /p;s/pn-$recipe /pn-$recipe-native /g" "$workspace"/appends/"$recipe"*.bbappend +done + +for f in "$workspace"/appends/*.bbappend; do + { echo "MAJOR_VER = \"$major\"" ; echo "MINOR_VER = \"$minor\"" ; echo "PATCH_VER = \"$patch\"" ; } >> "$f" +done + +sed -i -e "s/$origver/$major.$minor.$patch/g" "$workspace"/appends/llvm-project-source.bbappend -- cgit v1.2.3-54-g00ecf