diff --git a/llvm-build/README.md b/llvm-build/README.md index 587457d7446e146c6dba69e1290f9f9fcaddd287..d8bf781233354ec0c9a8573f72a2a29c69b14da9 100644 --- a/llvm-build/README.md +++ b/llvm-build/README.md @@ -20,7 +20,7 @@ MacOS X >= 10.15.4 ubuntu ``` -sudo apt-get install build-essential swig python3-dev libedit-dev libncurses5-dev binutils-dev gcc-multilib abigail-tools +sudo apt-get install build-essential swig python3-dev libedit-dev libncurses5-dev binutils-dev gcc-multilib abigail-tools elfutils ``` mac ``` diff --git a/llvm-build/build.py b/llvm-build/build.py index 48f2cc86691238458cbf9a2e169096e81c81082e..ece638e0d674cecfae8a14436bd6986901cd49d5 100755 --- a/llvm-build/build.py +++ b/llvm-build/build.py @@ -2411,7 +2411,8 @@ class LlvmPackage(BuildUtils): self.install_mingw_python(install_dir) - def darwin_stripped_xargs(self, bin_dir, necessary_bin_files, script_bins): + def strip_install_file(self, bin_dir, necessary_bin_files, script_bins): + for bin_filename in os.listdir(bin_dir): binary = os.path.join(bin_dir, bin_filename) if not os.path.isfile(binary): @@ -2422,7 +2423,7 @@ class LlvmPackage(BuildUtils): if self.host_is_darwin(): self.check_call(['strip', '-x', binary]) else: - self.check_call(['strip', binary]) + self.check_call(['eu-strip', binary]) def strip_lldb_server(self, host, install_dir): @@ -2826,7 +2827,7 @@ class LlvmPackage(BuildUtils): if host.startswith('windows'): ext = '.exe' shlib_ext = '.dll' - elif host.startswith('linux'): + elif host.startswith('linux') or host.startswith('ohos'): ext = '' shlib_ext = '.so' else: @@ -2866,7 +2867,7 @@ class LlvmPackage(BuildUtils): script_bins = ['git-clang-format', 'scan-build', 'scan-view'] # Bin files should be stripped with -x args when host=darwin - self.darwin_stripped_xargs(bin_dir, necessary_bin_files, script_bins) + self.strip_install_file(bin_dir, necessary_bin_files, script_bins) # Strip lldb-server self.strip_lldb_server(host, install_dir) diff --git a/llvm-build/cross_toolchain_builder.py b/llvm-build/cross_toolchain_builder.py index 95524ca5cd2fde0b086b47abe164d205d6b15428..81f167f617eb295f51e24658d0e9c42adefa3691 100644 --- a/llvm-build/cross_toolchain_builder.py +++ b/llvm-build/cross_toolchain_builder.py @@ -274,26 +274,7 @@ class CrossToolchainBuilder: def _package_if_need(self): if self._build_config.do_package: - tarball_name = ( - f"clang-{self._build_config.build_name}-{self._system_name}-{self._platform}" - ) - package_path = "%s%s" % ( - self._build_utils.merge_packages_path(tarball_name), - self._build_config.ARCHIVE_EXTENSION, - ) - self._build_utils.logger().info("Packaging %s", package_path) - args = [ - "tar", - self._build_config.ARCHIVE_OPTION, - "-h", - "-C", - self._build_config.OUT_PATH, - "-f", - package_path, - f"{self._system_name}-{self._platform}-install", - ] - self._build_utils.check_create_dir(self._build_config.PACKAGES_PATH) - self._build_utils.check_call(args) + self._llvm_package.package_operation(self._llvm_install, f"{self._system_name}-{self._platform}") # virtual function def _update_build_args(self):