在snow leopard上编译php之二

这一次我们要搞定mac上的多构架问题
先设置一下环境变量:

MACOSX_DEPLOYMENT_TARGET=10.6

CFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp"

CCFLAGS="-arch i386 -arch x86_64 -g -Os -pipe"

CXXFLAGS="-arch i386 -arch x86_64 -g -Os -pipe"

LDFLAGS="-arch i386 -arch x86_64 -bind_at_load"

export CFLAGS CXXFLAGS LDFLAGS CCFLAGS MACOSX_DEPLOYMENT_TARGET

下载php代码,

EXTRA_LIBS="-lresolv" ./configure $(php-config --configure-options)

当然不可能这么顺利就编译过去,不然我也不写这个东西了。

首先编译的时候需要pcre,但是全新安装的系统没有这个库,根据前面的文章

只要把ext/pcre/pcrelib/pcre.h放到/usr/下,不需要库,php自己包含了pcre。

如果要编译GD就会少png,jpeg这2个库,我去apple下了源代码,地址

里面的几个补丁可以参考一下,安装jpeg的时候要注意,

可能需要自己安装lib,header,

make install-lib;make install-header;

安装libpng时要注意低版本可能会有libtool问题,需要

cp /usr/share/libtool/config/config.guess ./
cp /usr/share/libtool/config/config.sub ./

解决libtool问题

make时候可能出现这样的提示:

gcc-4.0: -E, -S, -save-temps and -M options are not allowed with multiple -arch flags

在 configure 的时候加上 --disable-dependency-tracking

现在回到php,编译没有问题,但是安装的时候又有问题,

安装后cli一直都是老版,下次再看看