XZはLZMAファイル圧縮を行うUtilityです.
バイナリーパッケージを利用
ほれを利用.xzコマンド, lzmaコマンドや各種ライブラリーが利用できるようになる
バイナリー豚パッケージを作成
#-------------------------------------------
# [1] X86_64ターミナルでビルド
#-------------------------------------------
cd xz-5.2.4
./configure --prefix=/usr/local/
make
# ここで src/liblzma/.libs/ にliblzma.aとliblzma.5.dylibができる
mkdir x86_64
cp src/liblzma/.libs/liblzma.a x86_64
cp src/liblzma/.libs/liblzma.5.dylib x86_64
make clean
#-------------------------------------------
# [2] ARM64ターミナルでビルド
#-------------------------------------------
cd xz-5.2.4
./configure --prefix=/usr/local/
make
# 状況確認
lipo -info x86_64/liblzma.5.dylib
Non-fat file: x86_64/liblzma.5.dylib is architecture: x86_64
lipo -info src/liblzma/.libs/liblzma.5.dylib
Non-fat file: src/liblzma/.libs/liblzma.5.dylib is architecture: arm64
#-------------------------------------------
# [3] 豚ビルド
#-------------------------------------------
mkdir universal
lipo -create -arch x86_64 x86_64/liblzma.5.dylib -arch arm64 src/liblzma/.libs/liblzma.5.dylib -output universal/liblzma.5.dylib
lipo -create -arch x86_64 x86_64/liblzma.a -arch arm64 src/liblzma/.libs/liblzma.a -output universal/liblzma.a
#-------------------------------------------
# [2] ARM64ターミナルでインストール
#-------------------------------------------
fswatch -x /usr/local/ > files.log &
sudo make install
sudo cp universal/liblzma.a /usr/local/lib
sudo cp universal/liblzma.5.dylib /usr/local/lib
kill %1
fswatch_analyze.sh -c _binary files.log
pkgbuild --identifier xz --root _binary xz-5.2.4-osx11.2-arm64.pkg
これで, M1-Macで利用できるliblzma.dylibが作成できる
File attachments
添付 | サイズ |
---|---|
xz-5.2.4-osx10.14.pkg | 612.5 KB |