From 745f3cff329db67c7e15cddbc2df1797c7f367fe Mon Sep 17 00:00:00 2001 From: Olshevsky Vladimir Date: Mon, 24 Apr 2023 10:56:55 +0300 Subject: [PATCH] [build] build.py and env_prepare.sh updated to use clang-15.0.4 on linux Changes: 1. env_prepare.sh updated to download and unpack llvm15-based build https://mirrors.huaweicloud.com/openharmony/compiler/clang/15.0.4-025192/linux/clang_linux-x86_64-025192-20230330.tar.bz2 2. env_prepare.sh updated to detect clang version (as a suffix in dir name) and to write that version to .../prebuilts_clang_version.py 3. build.py imports file with version and sets self.CLANG_VERSION to it 4. .gitigore added to not to commit auto-generated file with version 5. Variable used for clang archive name Change-Id: Ia75758f26412a74a23a3c5c8b958eb4dbfe9e3e3 Signed-off-by: Olshevsky Vladimir --- llvm-build/.gitignore | 1 + llvm-build/build.py | 3 ++- llvm-build/env_prepare.sh | 30 ++++++++++++++++++------------ 3 files changed, 21 insertions(+), 13 deletions(-) create mode 100644 llvm-build/.gitignore diff --git a/llvm-build/.gitignore b/llvm-build/.gitignore new file mode 100644 index 000000000000..384d50511d6a --- /dev/null +++ b/llvm-build/.gitignore @@ -0,0 +1 @@ +prebuilts_clang_version.py diff --git a/llvm-build/build.py b/llvm-build/build.py index 170dae50372a..d7fe43107c9b 100755 --- a/llvm-build/build.py +++ b/llvm-build/build.py @@ -27,6 +27,7 @@ import argparse import mingw import stat +from prebuilts_clang_version import prebuilts_clang_version class BuildConfig(): # Defines public methods and functions and obtains script parameters. @@ -61,7 +62,7 @@ class BuildConfig(): self.OPENHOS_SFX = '-linux-ohos' self.LITEOS_SFX = '-liteos-ohos' self.LLDB_PY_VERSION = '3.10' - self.CLANG_VERSION = '10.0.1' + self.CLANG_VERSION = prebuilts_clang_version self.MINGW_TRIPLE = 'x86_64-windows-gnu' logging.basicConfig(level=logging.INFO) diff --git a/llvm-build/env_prepare.sh b/llvm-build/env_prepare.sh index 552fbdba4772..8d4482e7a8c4 100755 --- a/llvm-build/env_prepare.sh +++ b/llvm-build/env_prepare.sh @@ -53,10 +53,10 @@ function download_and_archive() { copy_config=""" """ +CLANG_LINUX_BUILD=clang_linux-x86_64-025192-20230330 copy_config_linux_x86_64=""" prebuilts/cmake,https://mirrors.huaweicloud.com/harmonyos/compiler/cmake/3.16.5/${host_platform}/cmake-${host_platform}-x86-3.16.5.tar.gz -prebuilts/clang/ohos/${host_platform}-${host_cpu},https://mirrors.huaweicloud.com/openharmony/compiler/clang/10.0.1-62608/${host_platform}/llvm.tar.gz -prebuilts/clang/ohos/${host_platform}-${host_cpu},https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/clang+llvm-10.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz +prebuilts/clang/ohos/${host_platform}-${host_cpu},https://mirrors.huaweicloud.com/openharmony/compiler/clang/15.0.4-025192/linux/${CLANG_LINUX_BUILD}.tar.bz2 """ @@ -95,19 +95,25 @@ do done -if [ -d "${code_dir}/prebuilts/clang/ohos/linux-x86_64/clang-62608" ];then - rm -rf "${code_dir}/prebuilts/clang/ohos/linux-x86_64/llvm" - mv "${code_dir}/prebuilts/clang/ohos/linux-x86_64/clang-62608" "${code_dir}/prebuilts/clang/ohos/linux-x86_64/llvm" - ln -snf 10.0.1 "${code_dir}/prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/current" +if [ -d "${code_dir}/prebuilts/clang/ohos/darwin-x86_64/clang+llvm-12.0.0-x86_64-apple-darwin" ];then + rm -rf "${code_dir}/prebuilts/clang/ohos/darwin-x86_64/clang-10.0.1" + mv "${code_dir}/prebuilts/clang/ohos/darwin-x86_64/clang+llvm-12.0.0-x86_64-apple-darwin" "${code_dir}/prebuilts/clang/ohos/darwin-x86_64/clang-10.0.1" fi -if [ -d "${code_dir}/prebuilts/clang/ohos/linux-x86_64/clang+llvm-10.0.1-x86_64-linux-gnu-ubuntu-16.04" ];then - rm -rf "${code_dir}/prebuilts/clang/ohos/linux-x86_64/clang-10.0.1" - mv "${code_dir}/prebuilts/clang/ohos/linux-x86_64/clang+llvm-10.0.1-x86_64-linux-gnu-ubuntu-16.04" "${code_dir}/prebuilts/clang/ohos/linux-x86_64/clang-10.0.1" +if [ -d "${code_dir}/prebuilts/clang/ohos/linux-x86_64/${CLANG_LINUX_BUILD}" ]; then + SET_CLANG_VERSION='15.0.4' + mv "${code_dir}/prebuilts/clang/ohos/linux-x86_64/${CLANG_LINUX_BUILD}" "${code_dir}/prebuilts/clang/ohos/linux-x86_64/clang-${SET_CLANG_VERSION}" fi -if [ -d "${code_dir}/prebuilts/clang/ohos/darwin-x86_64/clang+llvm-12.0.0-x86_64-apple-darwin" ];then - rm -rf "${code_dir}/prebuilts/clang/ohos/darwin-x86_64/clang-10.0.1" - mv "${code_dir}/prebuilts/clang/ohos/darwin-x86_64/clang+llvm-12.0.0-x86_64-apple-darwin" "${code_dir}/prebuilts/clang/ohos/darwin-x86_64/clang-10.0.1" +# try to detect version ... +BASE_CLANG_DIR="${code_dir}/prebuilts/clang/ohos/${host_platform}-x86_64" +CLANG_FOUND_VERSION=$(cd ${BASE_CLANG_DIR}; basename $(ls -d clang* | head -1) | sed s/clang-//) + +# check that pipe above didn't fail and that we have (any) clang version +if [ ! $? == 0 ] || [ x == x${CLANG_FOUND_VERSION} ] ; then + echo "env_prepare.sh: could not detect clang version" 2>&1 + exit 1 fi +# ... and put it to python file +echo "prebuilts_clang_version='${CLANG_FOUND_VERSION}'" > $(dirname $0)/prebuilts_clang_version.py -- Gitee