由于 lua 源码包中只提供了 Makfile,并未提供 windows 下的 build 文件,故此用scons来编译生成 library 和 解释器,非常简单
1. 安装 Scons
------------------------------------------
1.1 先下载 scons
http://www.scons.org/
1.2 解压 scons-2.3.0
1.3 安装 scons
* python setup.py install
1.4 确保安装后的 scons.bat 在 path 路径中
2. 编译lua5.2.3
------------------------------------------
2.1 先下载 lua 并解开
wge http://www.lua.org/ftp/lua-5.2.3.tar.gz
tar xvfz lua-5.2.3.tar.gz
2.2 编写一个名叫 SConstruct 的纯文本文件
import os
env = Environment()
env.Append( CPPPATH=['./src'] )
env.Append( CPPPATH=['./bin'] )
env.Library('./bin/lua5.2.3', source=['./src/lapi.c', './src/lcode.c', './src/lctype.c', './src/ldebug.c', './src/ldo.c', './src/ldump.c', './src/lfunc.c', './src/lgc.c', './src/llex.c', './src/lmem.c', './src/lobject.c', './src/lopcodes.c', './src/lparser.c', './src/lstate.c', './src/lstring.c', './src/ltable.c', './src/ltm.c', './src/lundump.c', './src/lvm.c', './src/lzio.c', './src/lauxlib.c', './src/lbaselib.c', './src/lbitlib.c', './src/lcorolib.c', './src/ldblib.c', './src/liolib.c', './src/lmathlib.c', './src/loslib.c', './src/lstrlib.c', './src/ltablib.c', './src/loadlib.c', './src/linit.c'])
env.Program(target='./bin/lua', source=['./src/lua.c'],
LIBS = 'lua5.2.3', LIBPATH = ['./bin'])
env.Program(target='./bin/luac', source=['./src/luac.c'],
LIBS = 'lua5.2.3', LIBPATH = ['./bin'])
2.3 执行 scons
在 ./bin 目录下即可生成
lua.exe lua5.2.3.lib luac.exe