Skip to content

Commit 9a1aa87

Browse files
committed
fix build on mac
1 parent 40a5d65 commit 9a1aa87

2 files changed

Lines changed: 19 additions & 5 deletions

File tree

.github/workflows/macos-p7zip-CI.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ jobs:
1313

1414
steps:
1515
- uses: actions/checkout@v3
16-
- name: Setup tmate session
17-
uses: mxschmitt/action-tmate@v3
16+
# - name: Setup tmate session
17+
# uses: mxschmitt/action-tmate@v3
1818
- name: build 7za & check
1919
run: |
2020
brew install patchelf

CPP/7zip/7zip_gcc.mak

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1367,8 +1367,15 @@ $O/libbrotlicommon.$(DYSUFFIX) $O/libbrotlienc.$(DYSUFFIX) $O/libbrotlidec.$(DYS
13671367
$(CP) brotli_build/libbrotlicommon.$(DYSUFFIX)* $O/$(7z_LIB)/$(7Z_ADDON_CODEC)
13681368
$(CP) brotli_build/libbrotlidec.$(DYSUFFIX)* $O/$(7z_LIB)/$(7Z_ADDON_CODEC)
13691369
$(CP) brotli_build/libbrotlienc.$(DYSUFFIX)* $O/$(7z_LIB)/$(7Z_ADDON_CODEC)
1370-
patchelf --force-rpath --set-rpath '$$ORIGIN/' $O/$(7z_LIB)/$(7Z_ADDON_CODEC)/libbrotlidec.$(DYSUFFIX)*
1371-
patchelf --force-rpath --set-rpath '$$ORIGIN/' $O/$(7z_LIB)/$(7Z_ADDON_CODEC)/libbrotlienc.$(DYSUFFIX)*
1370+
ifeq ($(HOST_OS), Darwin)
1371+
# 使用 install_name_tool 设置 rpath
1372+
install_name_tool -add_rpath '$$ORIGIN/' $O/$(7z_LIB)/$(7Z_ADDON_CODEC)/libbrotlidec.$(DYSUFFIX)*
1373+
install_name_tool -add_rpath '$$ORIGIN/' $O/$(7z_LIB)/$(7Z_ADDON_CODEC)/libbrotlienc.$(DYSUFFIX)*
1374+
else
1375+
# 原 patchelf 命令
1376+
patchelf --force-rpath --set-rpath '$$ORIGIN/' $O/$(7z_LIB)/$(7Z_ADDON_CODEC)/libbrotlidec.$(DYSUFFIX)*
1377+
patchelf --force-rpath --set-rpath '$$ORIGIN/' $O/$(7z_LIB)/$(7Z_ADDON_CODEC)/libbrotlienc.$(DYSUFFIX)*
1378+
endif
13721379

13731380
# Compile brotli method and Handler
13741381
$O/BrotliDecoder.o: ../../Compress/BrotliDecoder.cpp
@@ -1419,7 +1426,14 @@ $O/liblzhamdll.$(DYSUFFIX) $O/liblzhamcomp.$(DYSUFFIX) $O/liblzhamdecomp.$(DYSUF
14191426
$(CP) lzham_build/lzhamcomp/liblzhamcomp.$(DYSUFFIX)* $O/$(7z_LIB)/$(7Z_ADDON_CODEC)
14201427
$(CP) lzham_build/lzhamdecomp/liblzhamdecomp.$(DYSUFFIX)* $O/$(7z_LIB)/$(7Z_ADDON_CODEC)
14211428
$(CP) lzham_build/lzhamdll/liblzhamdll.$(DYSUFFIX)* $O/$(7z_LIB)/$(7Z_ADDON_CODEC)
1422-
patchelf --force-rpath --set-rpath '$$ORIGIN/' $O/$(7z_LIB)/$(7Z_ADDON_CODEC)/liblzhamdll.$(DYSUFFIX)*
1429+
1430+
ifeq ($(HOST_OS), Darwin)
1431+
# 使用 install_name_tool 设置 rpath
1432+
install_name_tool -add_rpath '$$ORIGIN/' $O/$(7z_LIB)/$(7Z_ADDON_CODEC)/liblzhamdll.$(DYSUFFIX)*
1433+
else
1434+
# 原 patchelf 命令
1435+
patchelf --force-rpath --set-rpath '$$ORIGIN/' $O/$(7z_LIB)/$(7Z_ADDON_CODEC)/liblzhamdll.$(DYSUFFIX)*
1436+
endif
14231437

14241438
# Compile lzham register
14251439
$O/LzhamRegister.o: ../../Compress/LzhamRegister.cpp

0 commit comments

Comments
 (0)