zlibの動作確認 - Panther〜Snow Leopard


以下の環境で動作確認する。

zlibのビルド

ビルド環境
上記の環境でmake

特に何も指定しないでmakeした。

Macintosh:zlib-1.2.3 kuru$ configure
Checking for gcc...
Building static library libz.a version 1.2.3 with gcc.
Checking for unistd.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for errno.h... Yes.
Checking for mmap support... Yes.
Macintosh:zlib-1.2.3 kuru$ make
gcc -O3 -DUSE_MMAP   -c -o example.o example.c
gcc -O3 -DUSE_MMAP   -c -o adler32.o adler32.c
gcc -O3 -DUSE_MMAP   -c -o compress.o compress.c
gcc -O3 -DUSE_MMAP   -c -o crc32.o crc32.c
gcc -O3 -DUSE_MMAP   -c -o gzio.o gzio.c
gcc -O3 -DUSE_MMAP   -c -o uncompr.o uncompr.c
gcc -O3 -DUSE_MMAP   -c -o deflate.o deflate.c
gcc -O3 -DUSE_MMAP   -c -o trees.o trees.c
gcc -O3 -DUSE_MMAP   -c -o zutil.o zutil.c
gcc -O3 -DUSE_MMAP   -c -o inflate.o inflate.c
gcc -O3 -DUSE_MMAP   -c -o infback.o infback.c
gcc -O3 -DUSE_MMAP   -c -o inftrees.o inftrees.c
gcc -O3 -DUSE_MMAP   -c -o inffast.o inffast.c
ar rc libz.a adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o 
gcc -O3 -DUSE_MMAP -o example example.o -L. libz.a
gcc -O3 -DUSE_MMAP   -c -o minigzip.o minigzip.c
gcc -O3 -DUSE_MMAP -o minigzip minigzip.o -L. libz.a
Macintosh:zlib-1.2.3 kuru$ ls -al *.a
-rw-r--r--  1 kuru  kuru  106232  9 22 17:08 libz.a

テスト用プログラム

compressとuncompressを使った簡単なプログラムを作成し、下記の設定でビルドした。

アーキテクチャ
アクティブアーキテクチャのみをビルド: OFF
アーキテクチャ Standad(32/64-bit Universal)
ベースSDK Mac OS X 10.6
有効なアーキテクチャ i386 ppc ppc64 ppc7400 ppc 970 x86_64
コンパイラのバージョン
C/C++コンパイラのバージョン: GCC 4.0
デプロイメント
Mac OS X デプロイメントターゲット: Mac OS X 10.3

実行

Mac OS X 10.6.1: MacBook Pro (Intel) OK
Mac OS X 10.5.8: iMac (Intel) OK
Mac OS X 10.5.8: PowerBook G4 OK
Mac OS X 10.4: PowerBook G4 OK
Mac OS X 10.3.9: Power Mac G3 OK

テストプログラムをUniversal Binaryに設定し、
zlibは特に何も指定しないでビルドしてもPPCIntelの両方で動作した。
動いたということは、zlibもUniversal Binaryになっているのか?