From 14a29f32c7dd801ebad2c3b2e441cffd4914af2a Mon Sep 17 00:00:00 2001 From: Sukhikh Alexander Date: Wed, 25 Dec 2024 15:39:25 +0300 Subject: [PATCH 1/3] [LLVM][Ark][AOT] Use llvm prebuilts for ark_aot Update OHOS prebuilts Issue: https://gitee.com/openharmony/arkcompiler_toolchain/issues/IBDHTB Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/IBCR2R Change-Id: I42acba3c128bb075d84ee8c7ccb511193708b640 Signed-off-by: Sukhikh Alexander --- .../prebuilts_download_config.json | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/build/prebuilts_download/prebuilts_download_config.json b/build/prebuilts_download/prebuilts_download_config.json index c2091efa..355b1760 100644 --- a/build/prebuilts_download/prebuilts_download_config.json +++ b/build/prebuilts_download/prebuilts_download_config.json @@ -3,12 +3,19 @@ "retries": 3, "file_handle_config": [ { - "src": "/prebuilts/clang/ohos/linux-x86_64/clang_linux-x86_64-ef68e8-20240229", + "src": "/prebuilts/clang/ohos/linux-x86_64/clang_linux-x86_64-6fe50d-20240902", "dest": "/prebuilts/clang/ohos/linux-x86_64/llvm", "rename": "true", "symlink_src": "/lib/clang/15.0.4", "symlink_dest": "/lib/clang/current" }, + { + "src": "/prebuilts/clang/ohos/ohos-arm64/clang_ohos-arm64-5cfa23-20241106", + "dest": "/prebuilts/clang/ohos/ohos-arm64/llvm", + "rename": "true", + "symlink_src": "/lib/clang/15.0.4", + "symlink_dest": "/lib/clang/current" + }, { "src": "/prebuilts/clang/ohos/darwin-arm64/clang_darwin-arm64-ef68e8-20240229", "dest": "/prebuilts/clang/ohos/darwin-arm64/llvm", @@ -44,7 +51,12 @@ }, { "unzip_dir": "prebuilts/clang/ohos/linux-x86_64", - "file_path": "/openharmony/compiler/clang/15.0.4-ef68e8/linux/clang_linux-x86_64-ef68e8-20240229.tar.gz", + "file_path": "/openharmony/compiler/clang/15.0.4-6fe50d/linux/clang_linux-x86_64-6fe50d-20240902.tar.gz", + "unzip_filename": "llvm" + }, + { + "unzip_dir": "prebuilts/clang/ohos/ohos-arm64", + "file_path": "/openharmony/compiler/clang/15.0.4-5cfa23_sp1/ohos_arm64/clang_ohos-arm64-5cfa23-20241106.tar.gz", "unzip_filename": "llvm" } ] -- Gitee From 476e06f8d02347899bcba8f081ee2ecc3082e5f2 Mon Sep 17 00:00:00 2001 From: Sukhikh Alexander Date: Fri, 24 Jan 2025 17:28:23 +0300 Subject: [PATCH 2/3] Download llvm_prebuilts from another repo --- build/prebuilts_download/llvm_config.json | 42 +++++++++++++++++++ .../prebuilts_download/prebuilts_download.py | 14 +++---- .../prebuilts_download/prebuilts_download.sh | 6 ++- 3 files changed, 54 insertions(+), 8 deletions(-) create mode 100644 build/prebuilts_download/llvm_config.json diff --git a/build/prebuilts_download/llvm_config.json b/build/prebuilts_download/llvm_config.json new file mode 100644 index 00000000..8705bd95 --- /dev/null +++ b/build/prebuilts_download/llvm_config.json @@ -0,0 +1,42 @@ +{ + "prebuilts_download_dir": "../openharmony_prebuilts", + "retries": 3, + "file_handle_config": [], + "linux": { + "x86_64": { + "copy_config": [ + { + "unzip_dir": "prebuilts/llvm_prebuilts_for_aot/llvm-x86-debug", + "file_path": "/llvm-15.0.4-ark18-debug-x86_64.tar.xz", + "unzip_filename": "llvm-x86-debug" + }, + { + "unzip_dir": "prebuilts/llvm_prebuilts_for_aot/llvm-x86-release", + "file_path": "/llvm-15.0.4-ark18-release-x86_64.tar.xz", + "unzip_filename": "llvm-x86-release" + }, + { + "unzip_dir": "prebuilts/llvm_prebuilts_for_aot/llvm-aarch64-debug", + "file_path": "/llvm-15.0.4-ark18-debug-aarch64.tar.xz", + "unzip_filename": "llvm-aarch64-debug" + }, + { + "unzip_dir": "prebuilts/llvm_prebuilts_for_aot/llvm-aarch64-release", + "file_path": "/llvm-15.0.4-ark18-release-aarch64.tar.xz", + "unzip_filename": "llvm-aarch64-release" + }, + { + "unzip_dir": "prebuilts/llvm_prebuilts_for_aot/llvm-ohos-release", + "file_path": "/llvm-15.0.4-ark18-release-ohos.tar.xz", + "unzip_filename": "llvm-ohos-release" + }, + { + "unzip_dir": "prebuilts/llvm_prebuilts_for_aot/llvm-ohos-gn-release", + "file_path": "/llvm-15.0.4-ark18-release-ohos-gn.tar.xz", + "unzip_filename": "llvm-ohos-gn-release" + } + ], + "linux_copy_config": [] + } + } + } diff --git a/build/prebuilts_download/prebuilts_download.py b/build/prebuilts_download/prebuilts_download.py index 74815dfd..ae4bec30 100755 --- a/build/prebuilts_download/prebuilts_download.py +++ b/build/prebuilts_download/prebuilts_download.py @@ -206,25 +206,25 @@ def _file_handle(config, code_dir): _run_cmd('chmod 755 {} -R'.format(dest_dir)) def main(): + code_dir = os.path.abspath(os.path.join(os.getcwd())) parser = argparse.ArgumentParser() parser.add_argument('--skip-ssl', action='store_true', help='skip ssl authentication') parser.add_argument('--tool-repo', default='https://repo.huaweicloud.com', help='prebuilt file download source') parser.add_argument('--host-cpu', help='host cpu', required=True) parser.add_argument('--host-platform', help='host platform', required=True) + parser.add_argument('--config-file', help='config to use to download prebuilts', + default=f'{code_dir}/arkcompiler/toolchain/build/prebuilts_download/prebuilts_download_config.json') args = parser.parse_args() - args.code_dir = os.path.abspath(os.path.join(os.getcwd())) if args.skip_ssl: ssl._create_default_https_context = ssl._create_unverified_context host_platform = args.host_platform host_cpu = args.host_cpu - tool_repo = args.tool_repo - config_file = os.path.join(args.code_dir, - 'arkcompiler/toolchain/build/prebuilts_download/prebuilts_download_config.json') + config_file = os.path.join(code_dir, args.config_file) config_info = read_json_file(config_file) file_handle_config = config_info.get('file_handle_config') - args.bin_dir = os.path.join(args.code_dir, config_info.get('prebuilts_download_dir')) + args.bin_dir = os.path.join(code_dir, config_info.get('prebuilts_download_dir')) if not os.path.exists(args.bin_dir): os.makedirs(args.bin_dir) copy_config = config_info.get(host_platform).get(host_cpu).get('copy_config') @@ -236,9 +236,9 @@ def main(): copy_config.extend(darwin_copy_config) retries = config_info.get('retries') args.retries = 1 if retries is None else retries - if not _hwcloud_download_wrapper(args, copy_config, args.bin_dir, args.code_dir, args.retries): + if not _hwcloud_download_wrapper(args, copy_config, args.bin_dir, code_dir, args.retries): return 1 - _file_handle(file_handle_config, args.code_dir) + _file_handle(file_handle_config, code_dir) return 0 diff --git a/build/prebuilts_download/prebuilts_download.sh b/build/prebuilts_download/prebuilts_download.sh index 3d0844f9..b5a63aa0 100755 --- a/build/prebuilts_download/prebuilts_download.sh +++ b/build/prebuilts_download/prebuilts_download.sh @@ -111,7 +111,11 @@ script_path=$(cd $(dirname $0);pwd) code_dir=$(dirname ${script_path}) pip3 install --trusted-host $trusted_host -i $pypi_url rich echo "prebuilts_download start" -python3 "arkcompiler/toolchain/build/prebuilts_download/prebuilts_download.py" $wget_ssl_check $tool_repo $help $cpu $platform +prebuilts_tools_dir="arkcompiler/toolchain/build/prebuilts_download" +python3 "${prebuilts_tools_dir}/prebuilts_download.py" $wget_ssl_check $tool_repo $help $cpu $platform +# download llvm prebuilts from another repo +python3 "${prebuilts_tools_dir}/prebuilts_download.py" \ + --config-file="${prebuilts_tools_dir}/llvm_config.json" --tool-repo="http://0.0.0.0:8000/" $help $cpu $platform $wget_ssl_check echo "prebuilts_download end" echo -e "\n" -- Gitee From 32e6f5ef6be4a4e96a1c49d224e3683a066f77ea Mon Sep 17 00:00:00 2001 From: Sukhikh Alexander Date: Fri, 24 Jan 2025 19:25:45 +0300 Subject: [PATCH 3/3] temp download prebuilts --- .../prebuilts_download/prebuilts_download.sh | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/build/prebuilts_download/prebuilts_download.sh b/build/prebuilts_download/prebuilts_download.sh index b5a63aa0..8d003ba9 100755 --- a/build/prebuilts_download/prebuilts_download.sh +++ b/build/prebuilts_download/prebuilts_download.sh @@ -112,10 +112,28 @@ code_dir=$(dirname ${script_path}) pip3 install --trusted-host $trusted_host -i $pypi_url rich echo "prebuilts_download start" prebuilts_tools_dir="arkcompiler/toolchain/build/prebuilts_download" -python3 "${prebuilts_tools_dir}/prebuilts_download.py" $wget_ssl_check $tool_repo $help $cpu $platform -# download llvm prebuilts from another repo -python3 "${prebuilts_tools_dir}/prebuilts_download.py" \ - --config-file="${prebuilts_tools_dir}/llvm_config.json" --tool-repo="http://0.0.0.0:8000/" $help $cpu $platform $wget_ssl_check +# python3 "${prebuilts_tools_dir}/prebuilts_download.py" $wget_ssl_check $tool_repo $help $cpu $platform + +echo PREBUILTS SCRIPT RUNNING +echo CURRENT WORKING DIR: ${PWD} +mkdir -p prebuilts/llvm_prebuilts_for_aot +cd prebuilts/llvm_prebuilts_for_aot +wget https://cidownload.openharmony.cn/version/Daily_Version/llvm/20250123_140220/version-Daily_Version-llvm-20250123_140220-llvm.tar.gz +tar -xf version-Daily_Version-llvm-20250123_140220-llvm.tar.gz +ls -la + +function untar() ( + set -x + mkdir $1 + tar -C $1 -xf $2 +) +untar llvm-x86-debug llvm-15.0.4-ark18-debug-x86_64.tar.xz +untar llvm-x86-release llvm-15.0.4-ark18-release-x86_64.tar.xz +untar llvm-aarch64-debug llvm-15.0.4-ark18-debug-aarch64.tar.xz +untar llvm-aarch64-release llvm-15.0.4-ark18-release-aarch64.tar.xz +untar llvm-ohos-release llvm-15.0.4-ark18-release-ohos.tar.xz +untar llvm-ohos-gn-release llvm-15.0.4-ark18-release-ohos-gn.tar.xz + echo "prebuilts_download end" echo -e "\n" -- Gitee