iPhone用に PCRE (Perl-compatible regular expressions) をbuild
PCREを使うことになったので、arm向けの buildコマンドのメモ。
10/03: armv7s版のライブラリもbuildするように手順を変更しました。
前提となる環境が更新されていて、以下の通り。
- OS: MacOSX 10.8 Mountain Lion
- コンパイラ: XCode 4.5 *1
- PCRE は ver 8.31
- Cのライブラリ(libpcre.a)しか使わないので、libc++ or libstdc++への依存はなし
build手順は以下のコマンドを順に実行すればできました。
$ curl -O ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.tar.bz2 $ tar jxvf pcre-8.31.tar.bz2 $ cd pcre-8.31/ $ export SDK_ROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer $ ./configure CC="${SDK_ROOT}/usr/bin/gcc" CPP="${SDK_ROOT}/usr/bin/gcc -E" CFLAGS="-arch armv7 -isysroot ${SDK_ROOT}/SDKs/iPhoneOS6.0.sdk" --host=arm $ make $ mv .libs .libs_arm7 $ ./configure CC="${SDK_ROOT}/usr/bin/gcc" CPP="${SDK_ROOT}/usr/bin/gcc -E" CFLAGS="-arch armv7s -isysroot ${SDK_ROOT}/SDKs/iPhoneOS6.0.sdk" --host=arm $ make $ mv .libs .libs_arm7s $ ./configure CC='gcc -arch i386' CPP='gcc -E' $ make $ mv .libs .libs_i386 $ xcrun -sdk iphoneos lipo -create -arch armv7 .libs_arm7/libpcre.a -arch armv7s .libs_arm7s/libpcre.a -arch i386 .libs_i386/libpcre.a -output libpcre.a
最後に、カレントディレクトリにある pcre.h と libpcre.a をコピーすればPCREが使えるようになります。