From 5d4eaa3960a374bf259c849acb16faebafea81e3 Mon Sep 17 00:00:00 2001 From: peshkovivan Date: Fri, 14 Jul 2023 14:53:03 +0300 Subject: [PATCH] [Build] Add rust wrappers Description: To build Rust programs it is needed to create the following wrappers and add them to the toolchain archive. Details: https://gitee.com/link?target=https%3A%2F%2Fdoc.rust-lang.org%2Fnightly%2Frustc%2Fplatform-support%2Fopenharmony.html Issue:https://gitee.com/openharmony/third_party_llvm-project/issues/I7KDGF Change-Id: Iaa78099919a08c88e705e559ae1bbabb75da779d Signed-off-by: peshkovivan Change-Id: I8aacceac67b7ff38742aab2a722fcf6b0ca437f3 Signed-off-by: peshkovivan --- llvm-build/build.py | 10 ++++++++++ .../wrappers/aarch64-unknown-linux-ohos-clang | 9 +++++++++ .../wrappers/aarch64-unknown-linux-ohos-clang++ | 9 +++++++++ llvm-build/wrappers/armv7-unknown-linux-ohos-clang | 13 +++++++++++++ .../wrappers/armv7-unknown-linux-ohos-clang++ | 13 +++++++++++++ llvm-build/wrappers/x86_64-unknown-linux-ohos-clang | 9 +++++++++ .../wrappers/x86_64-unknown-linux-ohos-clang++ | 9 +++++++++ 7 files changed, 72 insertions(+) create mode 100644 llvm-build/wrappers/aarch64-unknown-linux-ohos-clang create mode 100644 llvm-build/wrappers/aarch64-unknown-linux-ohos-clang++ create mode 100644 llvm-build/wrappers/armv7-unknown-linux-ohos-clang create mode 100644 llvm-build/wrappers/armv7-unknown-linux-ohos-clang++ create mode 100644 llvm-build/wrappers/x86_64-unknown-linux-ohos-clang create mode 100644 llvm-build/wrappers/x86_64-unknown-linux-ohos-clang++ diff --git a/llvm-build/build.py b/llvm-build/build.py index bdb95ba4eba1..46604ec106f2 100755 --- a/llvm-build/build.py +++ b/llvm-build/build.py @@ -1750,6 +1750,14 @@ class LlvmPackage(BuildUtils): self.check_copy_file(libedit_src, lib_dst_path) + def copy_wrappers(self, bin_dir): + for sh_filename in os.listdir(os.path.join(self.build_config.LLVM_BUILD_DIR, 'wrappers')): + shutil.copy(os.path.join(self.build_config.LLVM_BUILD_DIR, 'wrappers', sh_filename), + bin_dir) + st = os.stat(os.path.join(bin_dir, sh_filename)) + os.chmod(os.path.join(bin_dir, sh_filename), st.st_mode | stat.S_IEXEC | stat.S_IXGRP | stat.S_IXOTH) + + # Packing Operation. def package_operation(self, build_dir, host): @@ -1827,6 +1835,8 @@ class LlvmPackage(BuildUtils): self.notice_prebuilts_file(host, self.package_license_project_tuple(), install_dir) + self.copy_wrappers(bin_dir) + create_tar = True if create_tar: self.package_up_resulting(package_name, host, install_host_dir) diff --git a/llvm-build/wrappers/aarch64-unknown-linux-ohos-clang b/llvm-build/wrappers/aarch64-unknown-linux-ohos-clang new file mode 100644 index 000000000000..f65af6c320b0 --- /dev/null +++ b/llvm-build/wrappers/aarch64-unknown-linux-ohos-clang @@ -0,0 +1,9 @@ +#!/bin/sh + +SOURCE=$(dirname -- "$( readlink -f -- "$0"; )") + +exec $SOURCE/clang \ + -target aarch64-linux-ohos \ + --sysroot=$SOURCE/../../sysroot \ + -D__MUSL__ \ + "$@" diff --git a/llvm-build/wrappers/aarch64-unknown-linux-ohos-clang++ b/llvm-build/wrappers/aarch64-unknown-linux-ohos-clang++ new file mode 100644 index 000000000000..1982ffa02f66 --- /dev/null +++ b/llvm-build/wrappers/aarch64-unknown-linux-ohos-clang++ @@ -0,0 +1,9 @@ +#!/bin/sh + +SOURCE=$(dirname -- "$( readlink -f -- "$0"; )") + +exec $SOURCE/clang++ \ + -target aarch64-linux-ohos \ + --sysroot=$SOURCE/../../sysroot \ + -D__MUSL__ \ + "$@" diff --git a/llvm-build/wrappers/armv7-unknown-linux-ohos-clang b/llvm-build/wrappers/armv7-unknown-linux-ohos-clang new file mode 100644 index 000000000000..b4226f17d8af --- /dev/null +++ b/llvm-build/wrappers/armv7-unknown-linux-ohos-clang @@ -0,0 +1,13 @@ +#!/bin/sh + +SOURCE=$(dirname -- "$( readlink -f -- "$0"; )") + +exec $SOURCE/clang \ + -target arm-linux-ohos \ + --sysroot=$SOURCE/../../sysroot \ + -D__MUSL__ \ + -march=armv7-a \ + -mfloat-abi=softfp \ + -mtune=generic-armv7-a \ + -mthumb \ + "$@" diff --git a/llvm-build/wrappers/armv7-unknown-linux-ohos-clang++ b/llvm-build/wrappers/armv7-unknown-linux-ohos-clang++ new file mode 100644 index 000000000000..344646ae79fb --- /dev/null +++ b/llvm-build/wrappers/armv7-unknown-linux-ohos-clang++ @@ -0,0 +1,13 @@ +#!/bin/sh + +SOURCE=$(dirname -- "$( readlink -f -- "$0"; )") + +exec $SOURCE/clang++ \ + -target arm-linux-ohos \ + --sysroot=$SOURCE/../../sysroot \ + -D__MUSL__ \ + -march=armv7-a \ + -mfloat-abi=softfp \ + -mtune=generic-armv7-a \ + -mthumb \ + "$@" diff --git a/llvm-build/wrappers/x86_64-unknown-linux-ohos-clang b/llvm-build/wrappers/x86_64-unknown-linux-ohos-clang new file mode 100644 index 000000000000..bc2f1d1ef52f --- /dev/null +++ b/llvm-build/wrappers/x86_64-unknown-linux-ohos-clang @@ -0,0 +1,9 @@ +#!/bin/sh + +SOURCE=$(dirname -- "$( readlink -f -- "$0"; )") + +exec $SOURCE/clang \ + -target x86_64-linux-ohos \ + --sysroot=$SOURCE/../../sysroot \ + -D__MUSL__ \ + "$@" diff --git a/llvm-build/wrappers/x86_64-unknown-linux-ohos-clang++ b/llvm-build/wrappers/x86_64-unknown-linux-ohos-clang++ new file mode 100644 index 000000000000..5876ba547ad3 --- /dev/null +++ b/llvm-build/wrappers/x86_64-unknown-linux-ohos-clang++ @@ -0,0 +1,9 @@ +#!/bin/sh + +SOURCE=$(dirname -- "$( readlink -f -- "$0"; )") + +exec $SOURCE/clang++ \ + -target x86_64-linux-ohos \ + --sysroot=$SOURCE/../../sysroot \ + -D__MUSL__ \ + "$@" -- Gitee