-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Lua compilation
Olivier Michel edited this page May 19, 2022
·
5 revisions
This page explains how to recompile the lua dependency on every platforms. Lua is used internally by Webots to parse procedural PROTO nodes.
Reference: http://www.lua.org/download.html
cd ~/software
wget http://www.lua.org/ftp/lua-5.2.3.tar.gz
tar zxf lua-5.2.3.tar.gz
rm lua-5.2.3.tar.gz
cd lua-5.2.3
make linux test
You need to edit the src/Makefile
in order to create a dynamic version of liblua. Create a Makefile.patch
in src/
with the following diff:
22,23c22,23
< MYCFLAGS=
< MYLDFLAGS=
---
> MYCFLAGS= -mmacosx-version-min=11
> MYLDFLAGS= -mmacosx-version-min=11
31c31
< LUA_A= liblua.a
---
> LUA_A= liblua.dylib
60a61
> $(CC) -dynamiclib -lreadline -o liblua.dylib $^
63c64,65
< $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
---
> $(CC) -fno-common -DLUA_USE_LINUX -lreadline -L. -llua lua.c -o lua
> install_name_tool -change liblua.dylib @executable_path/liblua.dylib lua
cd src/
patch Makefile Makefile.patch && rm Makefile.patch
cd ../
make macosx test
cp src/liblua.dylib ~/webots/lib/liblua.dylib
install_name_tool -id @rpath/lib/liblua.dylib ~/webots/lib/liblua.dylib
make mingw test
cp src/lua52.dll $(WEBOTS_HOME)/msys64/mingw64/bin