【Programming In Lua (2E) 笔记】1:从源码安装lua

前言

本文以lua-5.1为例,说明如何从源代码生成二进制的lua和luac可执行文件。PC操作系统以Mac为例。

下载lua源代码

这里是:lua官网各个版本的下载地址

下载Lua 5.1

编译出lua和luac

解压下载的lua-5.1.tar.gz压缩包, 得到如下的目录结构:

➜  /Users/sunyongjian1/codes/lua/lua-5.1 l
total 56
drwxr-xr-x@ 12 lina  staff   408B  2 20  2006 .
drwxr-xr-x   5 lina  staff   170B  5 18 22:46 ..
-rw-r--r--@  1 lina  staff   1.5K  1  7  2006 COPYRIGHT
-rw-r--r--@  1 lina  staff   7.7K  2 20  2006 HISTORY
-rw-r--r--@  1 lina  staff   3.7K  1 26  2006 INSTALL
-rw-r--r--@  1 lina  staff   2.2K  2 20  2006 MANIFEST
-rw-r--r--@  1 lina  staff   3.5K  2 16  2006 Makefile
-rw-r--r--@  1 lina  staff   1.3K  1 19  2006 README
drwxr-xr-x@ 11 lina  staff   374B  2 13  2006 doc
drwxr-xr-x@ 12 lina  staff   408B  2  9  2006 etc
drwxr-xr-x@ 58 lina  staff   1.9K  5 18 23:10 src
drwxr-xr-x@ 22 lina  staff   748B  8 12  2005 test

要编译安装lua,其实按照INSTALL操作就行了。

如果不需要安装lua到系统,仅仅是搞个lua可执行程序出来用,那仅需如下两步:

在lua-5.1为当前目录:

第一步:在命令行敲入make

输出如下:

➜  /Users/sunyongjian1/codes/lua/lua-5.1 make
Please do
   make PLATFORM
where PLATFORM is one of these:
   aix ansi bsd generic linux macosx mingw posix solaris
See INSTALL for complete instructions.

找到自己的平台,即macosx

第二步: make macosx

可以看到开始编译lua源代码了,执行完毕并且没有报错的话,就能在lua-5.1/src目录下看到生成的lua和luac二进制程序了。

进入src目录,输入 ./lua 就可以进入交互式的lua解释程序中了。

make install 安装到系统

如果要把lua安装到系统,那么在前两步骤的基础上,再加上第三步:

make install

输出如下:

➜  /Users/sunyongjian1/codes/lua/lua-5.1 make install
cd src && mkdir -p /usr/local/bin /usr/local/include /usr/local/lib /usr/local/man/man1 /usr/local/share/lua/5.1 /usr/local/lib/lua/5.1
cd src && cp lua luac /usr/local/bin
cd src && cp lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp /usr/local/include
cd src && cp liblua.a /usr/local/lib
cd doc && cp lua.1 luac.1 /usr/local/man/man1

可以看到,这个操作就是把头文件、库文件、文档拷贝到系统目录中。

定制编译过程

lua源代码的结构很简单,定制编译过程就是修改Makefile或src/luaconf.h:

  • 控制把lua安装到哪里,怎样安装lua —— 编辑Makefile

  • 控制怎样编译构建lua —— 编辑src/Makefile.

  • 控制lua功能特性 —— 编辑src/luaconf.h.

更多细节请参考INSTALL.


作者水平有限,对相关知识的理解和总结难免有错误,还望给予指正,非常感谢!

在这里也能看到这篇文章:github博客, CSDN博客, 欢迎访问

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值