From 49a1e8e272cb1288a42f34ef614da60e3e192963 Mon Sep 17 00:00:00 2001 From: xwx1135370 Date: Mon, 22 Apr 2024 18:56:30 +0800 Subject: [PATCH] [LLDB][Mac] liblzma.dylib not loaded MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit issue:https://gitee.com/openharmony/third_party_llvm-project/issues/I9HYZF?from=project-issue Test: Toolchain Compilation and LLDB Tool test Signed-off-by: xwx1135370 --- llvm-build/MakeLiblzma | 7 ++++--- llvm-build/build.py | 6 ++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/llvm-build/MakeLiblzma b/llvm-build/MakeLiblzma index b78b86f3496b..4f4ceff1e6c3 100644 --- a/llvm-build/MakeLiblzma +++ b/llvm-build/MakeLiblzma @@ -17,6 +17,7 @@ TARGET_TRIPLE := CC := SRCS := 7zAlloc.c 7zArcIn.c 7zBuf2.c 7zBuf.c 7zCrc.c 7zCrcOpt.c 7zDec.c 7zFile.c 7zStream.c Aes.c AesOpt.c Alloc.c Bcj2.c Bra86.c Bra.c BraIA64.c CpuArch.c Delta.c LzFind.c Lzma2Dec.c Lzma2Enc.c Lzma86Dec.c Lzma86Enc.c LzmaDec.c LzmaEnc.c LzmaLib.c Ppmd7.c Ppmd7Dec.c Ppmd7Enc.c Sha256.c Sha256Opt.c Sort.c Xz.c XzCrc64.c XzCrc64Opt.c XzDec.c XzEnc.c XzIn.c SRC_PREFIX := +LIB_VERSION := ifeq ($(TARGET_TRIPLE),linux-x86_64) CFLAGS := --target=x86_64-unknown-linux-gnu -D_7ZIP_ST -Wall -Werror -Wno-empty-body -Wno-enum-conversion -Wno-logical-op-parentheses -Wno-self-assign -fPIC @@ -31,9 +32,9 @@ TARGET_A := liblzma.dll.a else ifeq ($(findstring darwin,$(TARGET_TRIPLE)),darwin) SDKROOT := $(shell xcrun --sdk macosx --show-sdk-path) -CFLAGS := -D_7ZIP_ST -Wall -Werror -Wno-empty-body -Wno-enum-conversion -Wno-logical-op-parentheses -Wno-self-assign -fPIC -LDFLAGS := -dynamiclib -fuse-ld=lld -Wl,-syslibroot,$(SDKROOT) -install_name @rpath/liblzma.dylib -TARGET := liblzma.dylib +CFLAGS := -D_7ZIP_ST -Wall -Werror -Wno-empty-body -Wno-enum-conversion -Wno-logical-op-parentheses -Wno-self-assign -fPIC -current_version $(LIB_VERSION) -compatibility_version $(LIB_VERSION) +LDFLAGS := -dynamiclib -fuse-ld=lld -Wl,-syslibroot,$(SDKROOT) -install_name @rpath/liblzma.$(LIB_VERSION).dylib +TARGET := liblzma.$(LIB_VERSION).dylib else $(warning *** warning: TARGET_TRIPLE $(TARGET_TRIPLE) has not been set in rights) endif diff --git a/llvm-build/build.py b/llvm-build/build.py index 92b11a801b6b..b06e504e073f 100755 --- a/llvm-build/build.py +++ b/llvm-build/build.py @@ -89,6 +89,7 @@ class BuildConfig(): self.ARCHIVE_EXTENSION = '.tar.' + self.compression_format self.ARCHIVE_OPTION = '-c' + ('j' if self.compression_format == "bz2" else 'z') self.LIBXML2_VERSION = None + self.LZMA_VERSION = '22.0' logging.basicConfig(level=logging.INFO) self.host_projects = args.host_build_projects @@ -672,7 +673,7 @@ class LlvmCore(BuildUtils): llvm_defines['PANEL_LIBRARIES'] = ncurses_libs if self.build_config.enable_lzma_7zip: - llvm_defines['LIBLZMA_LIBRARIES'] = self.merge_out_path('lzma', 'lib', self.use_platform(), 'liblzma.dylib') + llvm_defines['LIBLZMA_LIBRARIES'] = self.merge_out_path('lzma', 'lib', self.use_platform(), f'liblzma.{self.build_config.LZMA_VERSION}.dylib') if self.build_config.build_libedit: llvm_defines['LibEdit_LIBRARIES'] = os.path.join(self.get_prebuilts_dir('libedit'), 'lib', 'libedit.0.dylib') @@ -1785,13 +1786,14 @@ class LlvmLibs(BuildUtils): 'SRC_PREFIX=%s/' % src_dir, 'TARGET_TRIPLE=%s' % target_triple, 'INSTALL_DIR=%s' % liblzma_build_path, + 'LIB_VERSION=%s' % self.build_config.LZMA_VERSION, '-f', 'MakeLiblzma'] os.chdir(self.build_config.LLVM_BUILD_DIR) self.check_call(cmd) if self.host_is_darwin(): - shlib_ext = '.dylib' + shlib_ext = f'.{self.build_config.LZMA_VERSION}.dylib' if self.host_is_linux(): shlib_ext = '.so' lzma_file = os.path.join(liblzma_build_path, 'lib', target_triple, 'liblzma' + shlib_ext) -- Gitee