Lua 是十分小巧精简的,编译安装也是很简单。 先来看下在 X86 Ubuntu 上的编译安装: curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gzsudo apt-get install libreadline-devtar xf lua-5.3.5.tar.gz cd lua-5.3.5make li
Lua 是十分小巧精简的,编译安装也是很简单。
先来看下在 X86 Ubuntu 上的编译安装:
curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz sudo apt-get install libreadline-dev tar xf lua-5.3.5.tar.gz && cd lua-5.3.5 make linux test sudo make install
整个过程大约不到 2 分钟就完成了。
然后我们基于广州创龙的 TL138 开发板说明移植过程,也是相当简单的。
1、同样是先下载源码包并解压。
curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz tar xf lua-5.3.5.tar.gz && cd lua-5.3.5
2、在 src/luaconf.h 去掉 readline 依赖。打开文件找到以下位置并注释对应行。
#if defined(LUA_USE_LINUX) #define LUA_USE_POSIX #define LUA_USE_DLOPEN /* needs an extra library: -ldl */ //#define LUA_USE_READLINE /* needs some extra libraries */ #endif
3、打开 src/Makefile 配置交叉编译环境。更新以下 CC、LIBS、AR、RANLIB 变量以及 linux 规则。
#CC= gcc -std=gnu99 CC= arm-arago-linux-gnueabi-gcc -std=gnu99 CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS) LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS) #LIBS= -lm $(SYSLIBS) $(MYLIBS) LIBS= -lm $(SYSLIBS) $(MYLIBS) -static #AR= ar rcu #RANLIB= ranlib AR= arm-arago-linux-gnueabi-ar rcu RANLIB= arm-arago-linux-gnueabi-ranlib
linux: $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl" #$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
4、source OMAPL138 的 MCSDK 开发环境并执行编译。
source /home/jack/omapl138/ti/mcsdk_1_01_00_02/linux-devkit/environment-setup make linux
5、strip 生成的 Lua 虚拟机并放到开发板上使用。
arm-arago-linux-gnueabi-strip src/lua
这个操作可以把 lua 文件从 45+MB 降到 1MB 。
创建一个内容为 print(“Hello World!”) 的 hello.lua 文件,执行以下命令即可看到运行效果。
./lua hello.lua
至此,移植完成!
参考:http://wiki.chumby.com/index.php?title=Lua&printable=yes
廖杰良 - 2018-9-6