自己编译过程的记录,没有成功。
不建议用msys编译,坑太多。
1. 下载pcre,解压
./configure --prefix=/mingw --enable-pcre16 --enable-pcre32 --enable-unicode-properties --enable-newline-is-any
修改Makefile
这2个设置为空
VISIBILITY_CFLAGS =
VISIBILITY_CXXFLAGS =
make
make install
cd /mingw/include cp pcreposix.h regex.h
cd /mingw/lib cp libpcreposix.a libregex.a cp libpcreposix.dll.a libregex.dll.a
cp libpcreposix.a libgnurx.a cp libpcreposix.dll.a libgnurx.dll.a
2. 下载openresty,解压
修改luajit为static
修改cjson redis rds 3个项目的makefile,给cc编译加上-lluajit-5.1
或者不改为static,但cc编译加上
../luajit-root/usr/local/openresty/luajit/lib/luajit-5.1.dll
修改rds所有文件的u_char到char
修改luajit/lib_package.c lj_clib.c, 4个GET_MODULE_HANDLE的define注释掉
//#ifndef GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS
//#define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 4
//#define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT2
BOOL WINAPI GetModuleHandleExA(DWORD, LPCSTR, HMODULE*);
//#endif
./configure --with-luajit --with-pcre=/mingw --with-zlib=/usr --with-openssl=/usr --with-cc-opt="-D FD_SETSIZE=4096 -D __NO_MINGW_LFS -D __WATCOMC__"
修改nginx下的\build\nginx-1.4.3\objs\Makefile
搜索ssl,/usr/.openssl/include改成/usr/include/openssl,/usr/.openssl/lib改成/usr/lib/openssl
注释掉/usr/.openssl/include/openssl/ssl.h: objs/Makefile和下面一起的几行
搜索pcre,/usr/include/pcre.h改成/mingw/include/pcre.h,lib也要
搜索zlib,改成/mingw/lib
复制libluajit-5.1.a到系统lib目录
make
失败。。。